Merge branch 'master' into master.jdk11
diff --git a/Jenkinsfile b/Jenkinsfile
index e989a0d..f177c19 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -21,15 +21,20 @@
// list of test ids
def jobs = [
+ "cdi_all",
+ "ql_gf_full_profile_all",
+ "ql_gf_web_profile_all"
+]
+
+
+def jobs_all = [
+ "web_jsp",
"deployment_all",
"ejb_group_1",
"ejb_group_2",
"ejb_group_3",
"ejb_web_all",
- "cdi_all",
- "ql_gf_full_profile_all",
"ql_gf_nucleus_all",
- "ql_gf_web_profile_all",
"nucleus_admin_all",
"jdbc_all",
"batch_all",
diff --git a/README.md b/README.md
index a8bd18e..c6009c4 100644
--- a/README.md
+++ b/README.md
@@ -1,7 +1,9 @@
-GlassFish Server
-=================
+# Eclipse GlassFish
-GlassFish is the reference implementation of Java EE.
+## About
+
+Eclipse GlassFish is a [Jakarta EE compatible implementation](compatibility)
+sponsored by the Eclipse Foundation. Eclipse GlassFish 5.1 is also Java EE 8 Compatible.
Building
--------
@@ -32,7 +34,7 @@
Testing QuickLook directly
--------------------------
-Running GlassFish QuickLook tests:
+Running Eclipse GlassFish QuickLook tests:
`mvn -f appserver/tests/quicklook/pom.xml test -Dglassfish.home=appserver/distributions/glassfish/target/stage/glassfish6/glassfish`
@@ -42,7 +44,7 @@
Testing Full
------------
-Build GlassFish using the `gfbuild.sh` script, OR build as stated above and copy the distributions to the `bundles` folder using:
+Build Eclipse GlassFish using the `gfbuild.sh` script, OR build as stated above and copy the distributions to the `bundles` folder using:
`./gfbuild.sh archive_bundles`
@@ -95,12 +97,12 @@
-Starting GlassFish
+Starting Eclipse GlassFish
------------------
`glassfish6/bin/asadmin start-domain`
-Stopping GlassFish
+Stopping Eclipse GlassFish
------------------
`glassfish6/bin/asadmin stop-domain`
diff --git a/appserver/admin/admin-core/pom.xml b/appserver/admin/admin-core/pom.xml
index ac03d2b..fe38f9a 100755
--- a/appserver/admin/admin-core/pom.xml
+++ b/appserver/admin/admin-core/pom.xml
@@ -65,6 +65,7 @@
<dependency>
<groupId>jakarta.el</groupId>
<artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
diff --git a/appserver/admin/template/src/main/resources/config/default-web.xml b/appserver/admin/template/src/main/resources/config/default-web.xml
index 1f87e2b..fee23dd 100644
--- a/appserver/admin/template/src/main/resources/config/default-web.xml
+++ b/appserver/admin/template/src/main/resources/config/default-web.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2006, 2019 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -33,7 +33,7 @@
<!-- Init parameter to force the XML validation of JSF configuration -->
- <!-- ressources. -->
+ <!-- resources. -->
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
@@ -53,7 +53,7 @@
<!-- ================== Built In Servlet Definitions ==================== -->
- <!-- The DefaultDervlet, which is responsible for serving static -->
+ <!-- The DefaultServlet, which is responsible for serving static -->
<!-- resources. -->
<!-- This servlet processes any requests that are not mapped to other -->
<!-- servlets with servlet mappings (defined either here or in your own -->
@@ -301,13 +301,14 @@
/lib/
\lib\
jakarta.el.jar
+ jakarta.el-api.jar
jakarta.servlet-api.jar
jakarta.servlet.jsp-api.jar
jakarta.servlet.jsp.jstl-api.jar
jakarta.servlet.jsp.jstl.jar
jakarta.jms-api.jar
jakarta.faces.jar
- jakarta.servlet.jsp.jar
+ wasp.jar
jspcaching-connector.jar
web-glue.jar
hibernate-validator.jar
@@ -319,7 +320,7 @@
jakarta.management.j2ee-api.jar
jakarta.persistence.jar
jakarta.resource-api.jar
- jakarta.security.auth.message-api.jar
+ jakarta.authentication-api.jar
jakarta.authorization-api.jar
jakarta.transaction-api.jar
jakarta.xml.bind-api.jar
diff --git a/appserver/admingui/cluster/src/main/help/en/help/aseeacohclust.html b/appserver/admingui/cluster/src/main/help/en/help/aseeacohclust.html
index 7f1a5e8..b5fe50e 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/aseeacohclust.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/aseeacohclust.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,7 +16,7 @@
-->
-<h1>GlassFish Server 3.1 Administration Console Clustering Online Help</h1>
+<h1>Eclipse GlassFish Server 6.0 Administration Console Clustering Online Help</h1>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/docinfo.html b/appserver/admingui/cluster/src/main/help/en/help/docinfo.html
index d8f3007..a058cd6 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/docinfo.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/docinfo.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2019 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,18 +16,18 @@
-->
-<h4>GlassFish Server Open Source Edition 5.1</h4>
+<h4>Eclipse GlassFish Server 6.0</h4>
<p><a name="BEGIN" id="BEGIN"></a></p>
<p>Clustering Online Help</p>
<p></p>
-<p>August 2017</p>
+<p>October 2020</p>
<p>This document provides the reference and task online help topics for the cluster module of the GlassFish Server Administration Console.</p>
<p><a id="sthref1" name="sthref1"></a></p>
<hr />
-<p>GlassFish Server Open Source Edition 5.1 Clustering Online Help</p>
+<p>Eclipse GlassFish Server 6.0 Clustering Online Help</p>
-<p>Copyright © 2010, 2019 Oracle and/or its affiliates. All rights reserved.</p>
+<p>Copyright © 2010, 2020 Oracle and/or its affiliates. All rights reserved.</p>
<p>This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0, which is available at http://www.eclipse.org/legal/epl-2.0.</p>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/idx-1.html b/appserver/admingui/cluster/src/main/help/en/help/idx-1.html
index 5664f5c..d070fc6 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/idx-1.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/idx-1.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -191,4 +191,4 @@
</dl>
</div>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/idx-2.html b/appserver/admingui/cluster/src/main/help/en/help/idx-2.html
index 5947e4f..df0ef3e 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/idx-2.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/idx-2.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -259,4 +259,4 @@
</dl>
</div>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/idx-3.html b/appserver/admingui/cluster/src/main/help/en/help/idx-3.html
index 4d50ccd..7973ddc 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/idx-3.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/idx-3.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -55,4 +55,4 @@
</dl>
</div>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/ref-availabilityservice.html b/appserver/admingui/cluster/src/main/help/en/help/ref-availabilityservice.html
index 245350f..d0c558d 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/ref-availabilityservice.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/ref-availabilityservice.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -73,4 +73,4 @@
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterapplications.html b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterapplications.html
index 814ba9f..f8531de 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterapplications.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterapplications.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -35,7 +35,7 @@
<dt>Name</dt>
<dd>
<p>The application name.</p>
-<p>The name can include an optional version identifier, which follows the name and is separated from the name by a colon (<code>:</code>). For more information about module and application versions, see <a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSDPG00324"><i>Module and Application Versions</i> in <i>Oracle GlassFish Server Application Deployment Guide</i></a>.</p>
+<p>The name can include an optional version identifier, which follows the name and is separated from the name by a colon (<code>:</code>). For more information about module and application versions, see <a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/application-deployment-guide/overview.html#GSDPG00324"><i>Module and Application Versions</i> in <i>Oracle GlassFish Server Application Deployment Guide</i></a>.</p>
</dd>
<dt>Enabled</dt>
<dd>
@@ -156,24 +156,24 @@
<h5>Equivalent asadmin Subcommands</h5>
<ul>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00114"><code>deploy</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/deploy.html#GSRFM00114"><code>deploy</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00116"><code>disable</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/disable.html#GSRFM00116"><code>disable</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00118"><code>disable-http-lb-application</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/disable-http-lb-application.html#GSRFM00118"><code>disable-http-lb-application</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00124"><code>enable</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/enable.html#GSRFM00124"><code>enable</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00126"><code>enable-http-lb-application</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/enable-http-lb-application.html#GSRFM00126"><code>enable-http-lb-application</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00148"><code>list-applications</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/list-applications.html#GSRFM00148"><code>list-applications</code>(1)</a></p>
</li>
</ul>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/ref-clustergeneral.html b/appserver/admingui/cluster/src/main/help/en/help/ref-clustergeneral.html
index e5f60d1..2400d40 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/ref-clustergeneral.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/ref-clustergeneral.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -88,15 +88,15 @@
<h5>Equivalent asadmin Subcommands</h5>
<ul>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00138"><code>generate-jvm-report</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/generate-jvm-report.html#GSRFM00138"><code>generate-jvm-report</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00211"><code>migrate-timers</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/migrate-timers.html#GSRFM00211"><code>migrate-timers</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00224"><code>rotate-log</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/rotate-log.html#GSRFM00224"><code>rotate-log</code>(1)</a></p>
</li>
</ul>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceconfigproperties.html b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceconfigproperties.html
index 56ed733..8f2526c 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceconfigproperties.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceconfigproperties.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -64,15 +64,15 @@
<h5>Equivalent asadmin Subcommands</h5>
<ul>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00059"><code>create-system-properties</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/create-system-properties.html#GSRFM00059"><code>create-system-properties</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00110"><code>delete-system-property</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/delete-system-property.html#GSRFM00110"><code>delete-system-property</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00203"><code>list-system-properties</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/list-system-properties.html#GSRFM00203"><code>list-system-properties</code>(1)</a></p>
</li>
</ul>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceedit.html b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceedit.html
index c466bf5..8b4881b 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceedit.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstanceedit.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -119,18 +119,18 @@
<h5>Equivalent asadmin Subcommands</h5>
<ul>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00138"><code>generate-jvm-report</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/generate-jvm-report.html#GSRFM00138"><code>generate-jvm-report</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00219"><code>restart-instance</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/restart-instance.html#GSRFM00219"><code>restart-instance</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00236"><code>start-instance</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/start-instance.html#GSRFM00236"><code>start-instance</code>(1)</a></p>
</li>
<li>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00241"><code>stop-instance</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/stop-instance.html#GSRFM00241"><code>stop-instance</code>(1)</a></p>
</li>
</ul>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstancenew.html b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstancenew.html
index d9efaf5..31d6fad 100644
--- a/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstancenew.html
+++ b/appserver/admingui/cluster/src/main/help/en/help/ref-clusterinstancenew.html
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2005, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2005, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -79,7 +79,7 @@
<p><a href="task-create-clustered-instance.html">To Add a GlassFish Server Instance to a Cluster</a></p>
<a id="sthref274" name="sthref274"></a>
<h5>Equivalent asadmin Subcommands</h5>
-<p><a href="http://www.oracle.com/pls/topic/lookup?ctx=E26576_01&id=GSRFM00033"><code>create-instance</code>(1)</a></p>
+<p><a href="https://eclipse-ee4j.github.io/glassfish/docs/latest/reference-manual/create-instance.html#GSRFM00033"><code>create-instance</code>(1)</a></p>
-<small>Copyright © 2005, 2017, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
+<small>Copyright © 2005, 2020, Oracle and/or its affiliates. All rights reserved. <a href="docinfo.html">Legal Notices</a></small>
diff --git a/appserver/admingui/common/pom.xml b/appserver/admingui/common/pom.xml
index 810b60e..506691f 100644
--- a/appserver/admingui/common/pom.xml
+++ b/appserver/admingui/common/pom.xml
@@ -59,8 +59,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.main.admingui</groupId>
@@ -87,6 +87,10 @@
<artifactId>jakarta.servlet.jsp-api</artifactId>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
</dependency>
diff --git a/appserver/admingui/common/src/main/help/en/help/ref-eelogginglevels.html b/appserver/admingui/common/src/main/help/en/help/ref-eelogginglevels.html
index 1b735f6..cefca9a 100644
--- a/appserver/admingui/common/src/main/help/en/help/ref-eelogginglevels.html
+++ b/appserver/admingui/common/src/main/help/en/help/ref-eelogginglevels.html
@@ -25,7 +25,7 @@
<dl>
<dt>Logger Name</dt>
<dd>
-<p>The name of the logger for the module (for example, <code>javax.enterprise.system.tools.admin</code>).</p>
+<p>The name of the logger for the module (for example, <code>jakarta.enterprise.system.tools.admin</code>).</p>
</dd>
<dt>Log Level</dt>
<dd>
diff --git a/appserver/admingui/common/src/main/help/en/help/ref-logviewer.html b/appserver/admingui/common/src/main/help/en/help/ref-logviewer.html
index 564e328..5b59138 100644
--- a/appserver/admingui/common/src/main/help/en/help/ref-logviewer.html
+++ b/appserver/admingui/common/src/main/help/en/help/ref-logviewer.html
@@ -67,7 +67,7 @@
<dt>Logger</dt>
<dd>
<p>Logger namespaces to filter by module. Use shift-click or control-click to choose multiple namespaces.</p>
-<p>Selecting a namespace at a higher level selects all the namespaces below it. For example, selecting <code>javax.enterprise.system</code> also selects the loggers for all the modules under that namespace: <code>javax.enterprise.system.core</code>, <code>javax.enterprise.system.tools.admin</code>, and so on.</p>
+<p>Selecting a namespace at a higher level selects all the namespaces below it. For example, selecting <code>jakarta.enterprise.system</code> also selects the loggers for all the modules under that namespace: <code>jakarta.enterprise.system.core</code>, <code>jakarta.enterprise.system.tools.admin</code>, and so on.</p>
</dd>
<dt>Custom Logger</dt>
<dd>
diff --git a/appserver/admingui/common/src/main/help/en/help/task-filter-logs.html b/appserver/admingui/common/src/main/help/en/help/task-filter-logs.html
index 5d50a93..b525b48 100644
--- a/appserver/admingui/common/src/main/help/en/help/task-filter-logs.html
+++ b/appserver/admingui/common/src/main/help/en/help/task-filter-logs.html
@@ -91,7 +91,7 @@
<li>
<p>To filter by module, from the Logger drop-down list, select one or more namespaces.</p>
<p>Use Shift-click or Control-click to choose multiple namespaces.</p>
-<p>Selecting a namespace at a higher level selects all the namespaces below it. For example, selecting <code>javax.enterprise.system</code> also selects the loggers for all the modules under that namespace, such as <code>javax.enterprise.system.core</code>, <code>javax.enterprise.system.tools.admin</code>, and so forth.</p>
+<p>Selecting a namespace at a higher level selects all the namespaces below it. For example, selecting <code>jakarta.enterprise.system</code> also selects the loggers for all the modules under that namespace, such as <code>jakarta.enterprise.system.core</code>, <code>jakarta.enterprise.system.tools.admin</code>, and so forth.</p>
</li>
<li>
<p>To view messages from loggers for a particular application, in the Custom Logger field, type the name of each logger on a separate line.</p>
diff --git a/appserver/admingui/common/src/main/resources/applications/uploadFrame.jsf b/appserver/admingui/common/src/main/resources/applications/uploadFrame.jsf
index 9768539..71d1371 100644
--- a/appserver/admingui/common/src/main/resources/applications/uploadFrame.jsf
+++ b/appserver/admingui/common/src/main/resources/applications/uploadFrame.jsf
@@ -42,7 +42,7 @@
gf.onlyDASExist(onlyDAS="#{pageSession.onlyDASExist}");
/>
</event>
- <sun:form id="form">
+ <sun:form id="form" enctype="multipart/form-data">
<!afterCreate
getClientId(component="$this{component}" clientId=>$attribute{formId})
/>
diff --git a/appserver/admingui/common/src/main/resources/commonTask.jsf b/appserver/admingui/common/src/main/resources/commonTask.jsf
index 34cfb80..49bc004 100644
--- a/appserver/admingui/common/src/main/resources/commonTask.jsf
+++ b/appserver/admingui/common/src/main/resources/commonTask.jsf
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
diff --git a/appserver/admingui/community-theme/src/main/resources/images/VersionProductName.png b/appserver/admingui/community-theme/src/main/resources/images/VersionProductName.png
index c6dd269..20b5236 100644
--- a/appserver/admingui/community-theme/src/main/resources/images/VersionProductName.png
+++ b/appserver/admingui/community-theme/src/main/resources/images/VersionProductName.png
Binary files differ
diff --git a/appserver/admingui/community-theme/src/main/resources/images/login-backimage-open.png b/appserver/admingui/community-theme/src/main/resources/images/login-backimage-open.png
index d0b486c..24497e8 100644
--- a/appserver/admingui/community-theme/src/main/resources/images/login-backimage-open.png
+++ b/appserver/admingui/community-theme/src/main/resources/images/login-backimage-open.png
Binary files differ
diff --git a/appserver/admingui/community-theme/src/main/resources/images/login-product_name_open.jpg b/appserver/admingui/community-theme/src/main/resources/images/login-product_name_open.jpg
new file mode 100644
index 0000000..0c4f18d
--- /dev/null
+++ b/appserver/admingui/community-theme/src/main/resources/images/login-product_name_open.jpg
Binary files differ
diff --git a/appserver/admingui/community-theme/src/main/resources/images/masthead-product_name_open.png b/appserver/admingui/community-theme/src/main/resources/images/masthead-product_name_open.png
index 3bbbd07..918b9b3 100644
--- a/appserver/admingui/community-theme/src/main/resources/images/masthead-product_name_open.png
+++ b/appserver/admingui/community-theme/src/main/resources/images/masthead-product_name_open.png
Binary files differ
diff --git a/appserver/admingui/community-theme/src/main/resources/org/glassfish/admingui/community-theme/Strings.properties b/appserver/admingui/community-theme/src/main/resources/org/glassfish/admingui/community-theme/Strings.properties
index 7819c9d..1d59af9 100644
--- a/appserver/admingui/community-theme/src/main/resources/org/glassfish/admingui/community-theme/Strings.properties
+++ b/appserver/admingui/community-theme/src/main/resources/org/glassfish/admingui/community-theme/Strings.properties
@@ -1,5 +1,5 @@
#
-# Copyright (c) 2011, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2011, 2020 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
@@ -24,4 +24,4 @@
productName=GlassFish Server Open Source Edition
promotionLink=java.sun.com/glassfish/productmsg.html
-copyright.fullPage=Copyright \u00a9 2005,2018, Oracle and/or its affiliates. All rights reserved. <br><br>This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0, which is available at http://www.eclipse.org/legal/epl-2.0. <br><br>This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability setforth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception, which is available at https://www.gnu.org/software/classpath/license.html. <br><br>SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+copyright.fullPage=Copyright \u00a9 2005,2020, Oracle and/or its affiliates. All rights reserved. <br><br>This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0, which is available at http://www.eclipse.org/legal/epl-2.0. <br><br>This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability setforth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception, which is available at https://www.gnu.org/software/classpath/license.html. <br><br>SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
diff --git a/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties b/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties
index 1ee565f..5595a67 100644
--- a/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties
+++ b/appserver/admingui/core/src/main/resources/org/glassfish/admingui/core/Strings.properties
@@ -25,9 +25,9 @@
login.productImage.width=380
## this is the copyright message in the bottom of the login page.
-copyright.shortMessage=Copyright \u00a9 2005, 2018, Oracle and/or its affiliates. All rights reserved.
+copyright.shortMessage=Copyright \u00a9 2005, 2020, Oracle and/or its affiliates. All rights reserved.
-copyright.fullPage=Copyright \u00a9 2005,2018, Oracle and/or its affiliates. All rights reserved. <br><br>This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0, which is available at http://www.eclipse.org/legal/epl-2.0. <br><br>This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability setforth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception, which is available at https://www.gnu.org/software/classpath/license.html. <br><br>SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+copyright.fullPage=Copyright \u00a9 2005,2020, Oracle and/or its affiliates. All rights reserved. <br><br>This program and the accompanying materials are made available under the terms of the Eclipse Public License v. 2.0, which is available at http://www.eclipse.org/legal/epl-2.0. <br><br>This Source Code may also be made available under the following Secondary Licenses when the conditions for such availability setforth in the Eclipse Public License v. 2.0 are satisfied: GNU General Public License, version 2 with the GNU Classpath Exception, which is available at https://www.gnu.org/software/classpath/license.html. <br><br>SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
shutdown.pageTitle=Shutting down DAS
shutdown.RestartContinue=Click <a href="../../">here</a> to return to the login page after the server has started.
@@ -395,7 +395,7 @@
commonTasks.task.aquarium=GlassFish News
commonTasks.task.aquarium.toolTip=News from the GlassFish Community
-commonTasks.task.aquariumLink=http://blogs.oracle.com/theaquarium
+commonTasks.task.aquariumLink=https://eclipse-ee4j.github.io/glassfish/
commonTasks.task.support=Support
commonTasks.task.support.toolTip=GlassFish Support
@@ -431,11 +431,11 @@
commonTasks.task.docpage.toolTip=Open Source Edition documentation set
# change the doc link to the localized copy if there is any
-commonTasks.doc.qstart=http://glassfish.java.net/docs/4.0/quick-start-guide.pdf
-commonTasks.doc.adminGuide=http://glassfish.java.net/docs/4.0/administration-guide.pdf
-commonTasks.doc.devGuide=http://glassfish.java.net/docs/4.0/application-development-guide.pdf
-commonTasks.doc.deployGuide=http://glassfish.java.net/docs/4.0/application-deployment-guide.pdf
-commonTasks.doc.docpage=http://glassfish.java.net/docs/index.html
+commonTasks.doc.qstart=https://eclipse-ee4j.github.io/glassfish/docs/latest/quick-start-guide.pdf
+commonTasks.doc.adminGuide=https://eclipse-ee4j.github.io/glassfish/docs/latest/administration-guide.pdf
+commonTasks.doc.devGuide=https://eclipse-ee4j.github.io/glassfish/docs/latest/application-development-guide.pdf
+commonTasks.doc.deployGuide=https://eclipse-ee4j.github.io/glassfish/docs/latest/application-deployment-guide.pdf
+commonTasks.doc.docpage=https://eclipse-ee4j.github.io/glassfish/docs/
commonTasks.task.adminPassword=Change Administrator Password
diff --git a/appserver/admingui/war/pom.xml b/appserver/admingui/war/pom.xml
index 1895ac0..15aef36 100644
--- a/appserver/admingui/war/pom.xml
+++ b/appserver/admingui/war/pom.xml
@@ -47,7 +47,7 @@
<archive>
<manifestEntries>
<Glassfish-require-services>org.glassfish.api.admingui.ConsoleProvider</Glassfish-require-services>
- <HK2-Import-Bundles>org.glassfish.main.admingui.console-common,org.glassfish.hk2.hk2,org.glassfish.main.admingui.console-plugin-service, jakarta.servlet-api, com.sun.el.jakarta.el, org.glassfish.jsftemplating, org.glassfish.main.admingui.dataprovider</HK2-Import-Bundles>
+ <HK2-Import-Bundles>org.glassfish.main.admingui.console-common,org.glassfish.hk2.hk2,org.glassfish.main.admingui.console-plugin-service, jakarta.servlet-api, jakarta.servlet.jsp-api, jakarta.el-api, org.glassfish.jakarta.el, org.glassfish.jsftemplating, org.glassfish.main.admingui.dataprovider</HK2-Import-Bundles>
</manifestEntries>
</archive>
</configuration>
@@ -78,7 +78,7 @@
<jar jarfile="target/admingui.war" basedir="target/temp">
<manifest>
<attribute name="Glassfish-require-services" value="org.glassfish.api.admingui.ConsoleProvider" />
- <attribute name="HK2-Import-Bundles" value="org.glassfish.main.admingui.console-common,org.glassfish.hk2.hk2,org.glassfish.main.admingui.console-plugin-service, jakarta.servlet-api, com.sun.el.jakarta.el, org.glassfish.jsftemplating, org.glassfish.main.admingui.dataprovider" />
+ <attribute name="HK2-Import-Bundles" value="org.glassfish.main.admingui.console-common,org.glassfish.hk2.hk2,org.glassfish.main.admingui.console-plugin-service, jakarta.servlet-api, jakarta.servlet.jsp-api, jakarta.el-api, org.glassfish.jakarta.el, org.glassfish.jsftemplating, org.glassfish.main.admingui.dataprovider" />
</manifest>
</jar>
<delete dir="target/temp" />
diff --git a/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml b/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml
index 9a84cc6..d1f368e 100644
--- a/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml
+++ b/appserver/admingui/war/src/main/webapp/WEB-INF/sun-web.xml
@@ -37,6 +37,6 @@
<parameter-encoding default-charset="UTF-8" />
</locale-charset-info>
-<class-loader delegate="true" extra-class-path="WEB-INF/extra/woodstock-webui-jsf-suntheme-5.0.0-M1.jar:WEB-INF/extra/dojo-ajax-nodemo-1.12.4.jar:WEB-INF/extra/woodstock-webui-jsf-5.0.0-M1.jar:WEB-INF/extra/json-2.0.jar:WEB-INF/extra/prototype-1.7.3.jar:WEB-INF/extra/commons-io-2.7.jar" />
+<class-loader delegate="true" extra-class-path="WEB-INF/extra/woodstock-webui-jsf-suntheme-5.0.0.jar:WEB-INF/extra/dojo-ajax-nodemo-1.12.4.jar:WEB-INF/extra/woodstock-webui-jsf-5.0.0.jar:WEB-INF/extra/json-2.0.jar:WEB-INF/extra/prototype-1.7.3.jar:WEB-INF/extra/commons-io-2.7.jar" />
</sun-web-app>
diff --git a/appserver/appclient/client/acc/osgi.bundle b/appserver/appclient/client/acc/osgi.bundle
index 2b80365..245c75b 100644
--- a/appserver/appclient/client/acc/osgi.bundle
+++ b/appserver/appclient/client/acc/osgi.bundle
@@ -26,5 +26,6 @@
# The result is a non start-able OSGi bundle.
# Making this import optional.
Import-Package: \
+ !org.glassfish.appclient.client.acc.agent.*, \
org.jboss.weld.environment.se;resolution:=optional, \
*
diff --git a/appserver/appclient/client/acc/src/main/resources/org/glassfish/appclient/client/acc/LogStrings.properties b/appserver/appclient/client/acc/src/main/resources/org/glassfish/appclient/client/acc/LogStrings.properties
index a21cc18..4a4055d 100755
--- a/appserver/appclient/client/acc/src/main/resources/org/glassfish/appclient/client/acc/LogStrings.properties
+++ b/appserver/appclient/client/acc/src/main/resources/org/glassfish/appclient/client/acc/LogStrings.properties
@@ -16,7 +16,7 @@
#
-# Log messages used by the javax.enterprise.system.container.application logger
+# Log messages used by the jakarta.enterprise.system.container.application logger
# LogDomains.ACC_LOGGER, subsystem ACC.
# See java.text.MessageFormat for details on constructing messages.
# Messages in this file must be of the form
diff --git a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/AppClientDeployerHelper.java b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/AppClientDeployerHelper.java
index c1d2910..436f3d4 100644
--- a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/AppClientDeployerHelper.java
+++ b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/AppClientDeployerHelper.java
@@ -95,7 +95,7 @@
private static final Logger logger = Logger.getLogger(JavaWebStartInfo.APPCLIENT_SERVER_MAIN_LOGGER,
JavaWebStartInfo.APPCLIENT_SERVER_LOGMESSAGE_RESOURCE);
- public static final String ACC_MAIN_LOGGER = "javax.enterprise.system.container.appclient";
+ public static final String ACC_MAIN_LOGGER = "jakarta.enterprise.system.container.appclient";
public static final String LOG_MESSAGE_RESOURCE = "org.glassfish.appclient.server.LogMessages";
/**
diff --git a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/JavaWebStartInfo.java b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/JavaWebStartInfo.java
index abb65e5..20feb06 100644
--- a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/JavaWebStartInfo.java
+++ b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/JavaWebStartInfo.java
@@ -110,7 +110,7 @@
public static final String APPCLIENT_SERVER_LOGMESSAGE_RESOURCE = "org.glassfish.appclient.server.LogMessages";
@LoggerInfo(subsystem="SERVER", description="Appclient Server-side Logger", publish=true)
- public static final String APPCLIENT_SERVER_MAIN_LOGGER = "javax.enterprise.system.container.appclient";
+ public static final String APPCLIENT_SERVER_MAIN_LOGGER = "jakarta.enterprise.system.container.appclient";
private static final Logger logger =
Logger.getLogger(APPCLIENT_SERVER_MAIN_LOGGER, APPCLIENT_SERVER_LOGMESSAGE_RESOURCE);
diff --git a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp
index 38c8ed7..aa116e8 100644
--- a/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp
+++ b/appserver/appclient/server/core/src/main/java/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp
@@ -68,7 +68,7 @@
Turn on fine logging by default to help with diagnosis. Users will not
usually see the output anyway.
-->
- <property name="javax.enterprise.resource.corba.level" value="FINE"/>
+ <property name="jakarta.enterprise.resource.corba.level" value="FINE"/>
<!-- --------------------------------------------------------------------------------------
diff --git a/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp b/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp
index 67d757d..891df9e 100644
--- a/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp
+++ b/appserver/appclient/server/core/src/main/resources/org/glassfish/appclient/server/core/jws/templates/appclientMainDocumentTemplate.jnlp
@@ -103,7 +103,7 @@
Turn on fine logging by default to help with diagnosis. Users will not
usually see the output anyway.
-->
- <property name="javax.enterprise.resource.corba.level" value="FINE"/>
+ <property name="jakarta.enterprise.resource.corba.level" value="FINE"/>
<!-- =================================================================================
diff --git a/appserver/common/amx-javaee/src/main/java/org/glassfish/admin/amx/j2ee/AMXEELoggerInfo.java b/appserver/common/amx-javaee/src/main/java/org/glassfish/admin/amx/j2ee/AMXEELoggerInfo.java
index 086ce8b..af6285a 100644
--- a/appserver/common/amx-javaee/src/main/java/org/glassfish/admin/amx/j2ee/AMXEELoggerInfo.java
+++ b/appserver/common/amx-javaee/src/main/java/org/glassfish/admin/amx/j2ee/AMXEELoggerInfo.java
@@ -33,7 +33,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.admin.amx.j2ee.LogMessages";
@LoggerInfo(subsystem = "AMX-JAVAEE", description = "AMX Services", publish = true)
- public static final String AMXEE_LOGGER = "javax.enterprise.system.tools.amxee";
+ public static final String AMXEE_LOGGER = "jakarta.enterprise.system.tools.amxee";
private static final Logger amxEELogger = Logger.getLogger(
AMXEE_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/connectors/admin/pom.xml b/appserver/connectors/admin/pom.xml
index 2f72868..acb3113 100644
--- a/appserver/connectors/admin/pom.xml
+++ b/appserver/connectors/admin/pom.xml
@@ -106,6 +106,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/appserver/connectors/work-management/pom.xml b/appserver/connectors/work-management/pom.xml
index 187fd58..2b731a4 100644
--- a/appserver/connectors/work-management/pom.xml
+++ b/appserver/connectors/work-management/pom.xml
@@ -105,8 +105,8 @@
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
</dependency>
<dependency>
diff --git a/appserver/connectors/work-management/src/main/java/com/sun/enterprise/connectors/work/LogFacade.java b/appserver/connectors/work-management/src/main/java/com/sun/enterprise/connectors/work/LogFacade.java
index 484ecba..e8d990b 100644
--- a/appserver/connectors/work-management/src/main/java/com/sun/enterprise/connectors/work/LogFacade.java
+++ b/appserver/connectors/work-management/src/main/java/com/sun/enterprise/connectors/work/LogFacade.java
@@ -23,7 +23,7 @@
public class LogFacade {
@LoggerInfo(subsystem = "connector", description = "logger for connector work manager module", publish = true)
- public static final String CONNECTOR_WORK_MANAGER_LOGGER = "javax.enterprise.connector.work";
+ public static final String CONNECTOR_WORK_MANAGER_LOGGER = "jakarta.enterprise.connector.work";
@LogMessagesResourceBundle
public static final String SHARING_MESSAGE_RB = "com.sun.enterprise.connectors.work.LogMessages";
diff --git a/appserver/core/javaee-kernel/src/main/java/org/glassfish/kernel/javaee/WebContainerStarter.java b/appserver/core/javaee-kernel/src/main/java/org/glassfish/kernel/javaee/WebContainerStarter.java
index 5cbcc79..55b8581 100644
--- a/appserver/core/javaee-kernel/src/main/java/org/glassfish/kernel/javaee/WebContainerStarter.java
+++ b/appserver/core/javaee-kernel/src/main/java/org/glassfish/kernel/javaee/WebContainerStarter.java
@@ -77,7 +77,7 @@
private static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.kernel.javaee.LogMessages";
@LoggerInfo(subsystem = "AS-CORE", description = "Java EE Core Kernel", publish = true)
- private static final String ASCORE_LOGGER = "javax.enterprise.system.core.ee";
+ private static final String ASCORE_LOGGER = "jakarta.enterprise.system.core.ee";
private static final Logger logger = Logger.getLogger(
ASCORE_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
private static final ResourceBundle rb = logger.getResourceBundle();
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/BundleDescriptor.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/BundleDescriptor.java
index 8dd5802..c75361b 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/BundleDescriptor.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/BundleDescriptor.java
@@ -643,7 +643,9 @@
return DEPLOYMENT_DESCRIPTOR_DIR;
}
-
+ public String getRawModuleID() {
+ return moduleID;
+ }
/**
* @return the wsdl directory location inside the archive file
*/
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/InterceptorDescriptor.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/InterceptorDescriptor.java
index 047f0e4..db14dea 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/InterceptorDescriptor.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/InterceptorDescriptor.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,16 +16,21 @@
package com.sun.enterprise.deployment;
-import static com.sun.enterprise.deployment.LifecycleCallbackDescriptor.CallbackType;
+import java.util.HashMap;
+import java.util.HashSet;
+import java.util.LinkedList;
+import java.util.List;
+import java.util.Map;
+import java.util.Set;
+import java.util.logging.Logger;
+
+import com.sun.enterprise.deployment.LifecycleCallbackDescriptor.CallbackType;
import com.sun.enterprise.deployment.util.DOLUtils;
import com.sun.enterprise.util.LocalStringManagerImpl;
-import java.util.*;
-import java.util.logging.Logger;
-
/**
* Contains information about 1 Java EE interceptor.
- */
+ */
public class InterceptorDescriptor extends JndiEnvironmentRefsGroupDescriptor
{
@@ -38,15 +43,13 @@
private Set<LifecycleCallbackDescriptor> aroundTimeoutDescriptors;
private String interceptorClassName;
- // Should ONLY be used for system-level interceptors whose class
- // is loaded by something other than the application class-loader
- private Class interceptorClass;
+ private Class<?> interceptorClass;
- // true if the AroundInvoke/AroundTimeout/Callback methods for this
+ // true if the AroundInvoke/AroundTimeout/Callback methods for this
// descriptor were defined on the bean class itself (or one of its
// super-classes). false if the methods are defined
- // on a separate interceptor class (or one of its super-classes).
+ // on a separate interceptor class (or one of its super-classes).
private boolean fromBeanClass = false;
public String getInterceptorClassName() {
@@ -73,7 +76,7 @@
public Set<LifecycleCallbackDescriptor> getAroundInvokeDescriptors() {
if (aroundInvokeDescriptors == null) {
aroundInvokeDescriptors =
- new HashSet<LifecycleCallbackDescriptor>();
+ new HashSet<LifecycleCallbackDescriptor>();
}
return aroundInvokeDescriptors;
}
@@ -92,7 +95,7 @@
public Set<LifecycleCallbackDescriptor> getAroundTimeoutDescriptors() {
if (aroundTimeoutDescriptors == null) {
aroundTimeoutDescriptors =
- new HashSet<LifecycleCallbackDescriptor>();
+ new HashSet<LifecycleCallbackDescriptor>();
}
return aroundTimeoutDescriptors;
}
@@ -196,11 +199,11 @@
/**
* Order a set of lifecycle method descriptors for a particular
* inheritance hierarchy with highest precedence assigned to the
- * least derived class.
+ * least derived class.
*/
private List<LifecycleCallbackDescriptor> orderDescriptors
- (Set<LifecycleCallbackDescriptor> lcds, ClassLoader loader)
- throws Exception
+ (Set<LifecycleCallbackDescriptor> lcds, ClassLoader loader)
+ throws Exception
{
LinkedList<LifecycleCallbackDescriptor> orderedDescs =
@@ -213,7 +216,7 @@
map.put(next.getLifecycleCallbackClass(), next);
}
- Class nextClass = loader.loadClass(getInterceptorClassName());
+ Class<?> nextClass = interceptorClass != null? interceptorClass : loader.loadClass(getInterceptorClassName());
while((nextClass != Object.class) && (nextClass != null)) {
String nextClassName = nextClass.getName();
@@ -230,6 +233,7 @@
}
+ @Override
public String toString() {
return "InterceptorDescriptor class = " + getInterceptorClassName();
}
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/AbstractBundleNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/AbstractBundleNode.java
index 400b2ff..e9971aa 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/AbstractBundleNode.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/AbstractBundleNode.java
@@ -100,7 +100,7 @@
// we are using schemas for this DDs
bundleNode = appendChildNS(parent, getXMLRootTag().getQName(),
- TagNames.JAVAEE_NAMESPACE);
+ TagNames.JAKARTAEE_NAMESPACE);
addBundleNodeAttributes((Element) bundleNode, descriptor);
} else {
bundleNode = appendChild(parent, getXMLRootTag().getQName());
@@ -208,17 +208,19 @@
return;
if (uri.equals(TagNames.JAVAEE_NAMESPACE))
return;
+ if (uri.equals(TagNames.JAKARTAEE_NAMESPACE))
+ return;
if (uri.equals(W3C_XML_SCHEMA_INSTANCE))
return;
super.addPrefixMapping(prefix, uri);
}
/**
- * @return the complete URL for JAVAEE schemas
+ * @return the complete URL for JAKARTAEE schemas
*/
protected String getSchemaURL() {
// by default, it comes from our web site
- return TagNames.JAVAEE_NAMESPACE + "/" + getSystemID();
+ return TagNames.JAKARTAEE_NAMESPACE + "/" + getSystemID();
}
/**
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java
index 503ea5f..42fa723 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/ApplicationNode.java
@@ -65,8 +65,9 @@
public final static String SCHEMA_ID_15 = "application_5.xsd";
public final static String SCHEMA_ID_16 = "application_6.xsd";
public final static String SCHEMA_ID_17 = "application_7.xsd";
- public final static String SCHEMA_ID = "application_8.xsd";
- public final static String SPEC_VERSION = "8";
+ public final static String SCHEMA_ID_18 = "application_8.xsd";
+ public final static String SCHEMA_ID = "application_9.xsd";
+ public final static String SPEC_VERSION = "9";
private final static List<String> systemIDs = initSystemIDs();
// The XML tag associated with this Node
@@ -79,6 +80,7 @@
systemIDs.add(SCHEMA_ID_15);
systemIDs.add(SCHEMA_ID_16);
systemIDs.add(SCHEMA_ID_17);
+ systemIDs.add(SCHEMA_ID_18);
return Collections.unmodifiableList(systemIDs);
}
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/PermissionsNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/PermissionsNode.java
index c5ea098..dd2faf2 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/PermissionsNode.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/PermissionsNode.java
@@ -27,8 +27,8 @@
public class PermissionsNode extends AbstractBundleNode {
- public final static String SCHEMA_ID = "permissions_7.xsd";
- public final static String SPEC_VERSION = "7";
+ public final static String SCHEMA_ID = "permissions_9.xsd";
+ public final static String SPEC_VERSION = "9";
private final static List<String> systemIDs = initSystemIDs();
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java
index 3126b64..030ee4e 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/appclient/AppClientNode.java
@@ -58,8 +58,9 @@
public final static String SCHEMA_ID_15 = "application-client_5.xsd";
public final static String SCHEMA_ID_16 = "application-client_6.xsd";
public final static String SCHEMA_ID_17 = "application-client_7.xsd";
- public final static String SCHEMA_ID = "application-client_8.xsd";
- public final static String SPEC_VERSION = "8";
+ public final static String SCHEMA_ID_18 = "application-client_8.xsd";
+ public final static String SCHEMA_ID = "application-client_9.xsd";
+ public final static String SPEC_VERSION = "9";
private final static List<String> systemIDs = initSystemIDs();
public final static XMLElement tag = new XMLElement(ApplicationClientTagNames.APPLICATION_CLIENT_TAG);
@@ -71,6 +72,7 @@
systemIDs.add(SCHEMA_ID_15);
systemIDs.add(SCHEMA_ID_16);
systemIDs.add(SCHEMA_ID_17);
+ systemIDs.add(SCHEMA_ID_18);
return Collections.unmodifiableList(systemIDs);
}
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/connector/ConnectorNode.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/connector/ConnectorNode.java
index 875b52a..8c837a4 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/connector/ConnectorNode.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/node/connector/ConnectorNode.java
@@ -46,6 +46,7 @@
public static final String VERSION_15 = "1.5";
public static final String VERSION_16 = "1.6";
public static final String VERSION_17 = "1.7";
+ public static final String VERSION_20 = "2.0";
private String specVersion;
@@ -66,8 +67,12 @@
public final static String PUBLIC_DTD_ID = PUBLIC_DTD_ID_16;
public final static String SYSTEM_ID = SYSTEM_ID_16;
public final static String SCHEMA_ID_17 = "connector_1_7.xsd";
- public final static String SCHEMA_ID = SCHEMA_ID_17;
- public final static String SPEC_VERSION = VERSION_17;
+
+ //connector2.0
+ public final static String SCHEMA_ID_20 = "connector_2_0.xsd";
+
+ public final static String SCHEMA_ID = SCHEMA_ID_20;
+ public final static String SPEC_VERSION = VERSION_20;
private final static List<String> systemIDs = initSystemIDs();
@@ -307,6 +312,6 @@
* @return the schema URL
*/
protected String getSchemaURL() {
- return TagNames.JAVAEE_NAMESPACE + "/" + getSystemID();
+ return TagNames.JAKARTAEE_NAMESPACE + "/" + getSystemID();
}
}
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java
index 8c821ac..d9a1c38 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/util/DOLUtils.java
@@ -101,7 +101,7 @@
// Reserve this range [AS-DEPLOYMENT-00001, AS-DEPLOYMENT-02000]
// for message ids used in this deployment dol module
@LoggerInfo(subsystem = "DEPLOYMENT", description="Deployment logger for dol module", publish=true)
- private static final String DEPLOYMENT_LOGGER = "javax.enterprise.system.tools.deployment.dol";
+ private static final String DEPLOYMENT_LOGGER = "jakarta.enterprise.system.tools.deployment.dol";
public static final Logger deplLogger =
Logger.getLogger(DEPLOYMENT_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
@@ -635,12 +635,14 @@
schema = (String) st.nextElement();
} else {
schema = namespace;
- namespace = TagNames.JAVAEE_NAMESPACE;
+ namespace = TagNames.JAKARTAEE_NAMESPACE;
}
if (namespace.equals(TagNames.J2EE_NAMESPACE))
continue;
if (namespace.equals(TagNames.JAVAEE_NAMESPACE))
continue;
+ if (namespace.equals(TagNames.JAKARTAEE_NAMESPACE))
+ continue;
if (namespace.equals(W3C_XML_SCHEMA))
continue;
sb.append(namespace);
diff --git a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/TagNames.java b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/TagNames.java
index ab387d4..7186a8f 100644
--- a/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/TagNames.java
+++ b/appserver/deployment/dol/src/main/java/com/sun/enterprise/deployment/xml/TagNames.java
@@ -202,6 +202,7 @@
public static final String J2EE_NAMESPACE = "http://java.sun.com/xml/ns/j2ee";
public static final String JAVAEE_DEFAULTNAMESPACEPREFIX = "javaee";
public static final String JAVAEE_NAMESPACE = "http://xmlns.jcp.org/xml/ns/javaee";
+ public static final String JAKARTAEE_NAMESPACE = "https://jakarta.ee/xml/ns/jakartaee";
public static final String XML_NAMESPACE = "http://www.w3.org/XML/1998/namespace";
public static final String WLS_WEB_APP_NAMESPACE = "http://xmlns.oracle.com/weblogic/weblogic-web-app";
diff --git a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDeployer.java b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDeployer.java
index e213d91..d1c8d6b 100644
--- a/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDeployer.java
+++ b/appserver/deployment/javaee-full/src/main/java/org/glassfish/javaee/full/deployment/EarDeployer.java
@@ -91,7 +91,7 @@
// Reserve this range [AS-DEPLOYMENT-02001, AS-DEPLOYMENT-04000]
// for message ids used in this deployment javaee-full module
@LoggerInfo(subsystem = "DEPLOYMENT", description="Deployment logger for javaee-full module", publish=true)
- private static final String DEPLOYMENT_LOGGER = "javax.enterprise.system.tools.deployment.javaeefull";
+ private static final String DEPLOYMENT_LOGGER = "jakarta.enterprise.system.tools.deployment.javaeefull";
public static final Logger deplLogger =
Logger.getLogger(DEPLOYMENT_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application-client_9.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application-client_9.xsd
index 87081dd..a4df45b 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application-client_9.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application-client_9.xsd
@@ -1,292 +1,307 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="9">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="9">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the XML Schema for the application client 9
- deployment descriptor. The deployment descriptor must
- be named "META-INF/application-client.xml" in the
- application client's jar file. All application client
- deployment descriptors must indicate the application
- client schema by using the Jakarta EE namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and indicate the version of the schema by
- using the version element as shown below:
-
- <application-client xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
- https://jakarta.ee/xml/ns/jakartaee/application-client_9.xsd"
- version="9">
- ...
- </application-client>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/application-client_9.xsd
-
- ]]>
+ This is the XML Schema for the application client 9
+ deployment descriptor. The deployment descriptor must
+ be named "META-INF/application-client.xml" in the
+ application client's jar file. All application client
+ deployment descriptors must indicate the application
+ client schema by using the Jakarta EE namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and indicate the version of the schema by
+ using the version element as shown below:
+
+ <application-client xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/application-client_9.xsd"
+ version="9">
+ ...
+ </application-client>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/application-client_9.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="jakartaee_9.xsd"/>
- <!-- **************************************************** -->
- <xsd:element name="application-client" type="jakartaee:application-clientType">
+<!-- **************************************************** -->
+
+ <xsd:element name="application-client"
+ type="jakartaee:application-clientType">
<xsd:annotation>
<xsd:documentation>
- The application-client element is the root element of an
- application client deployment descriptor. The application
- client deployment descriptor describes the enterprise bean
- components and external resources referenced by the
- application client.
-
+ The application-client element is the root element of an
+ application client deployment descriptor. The application
+ client deployment descriptor describes the enterprise bean
+ components and external resources referenced by the
+ application client.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:unique name="env-entry-name-uniqueness">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The env-entry-name element contains the name of an
- application client's environment entry. The name is a JNDI
- name relative to the java:comp/env context. The name must
- be unique within an application client.
-
- </xsd:documentation>
+ The env-entry-name element contains the name of an
+ application client's environment entry. The name is a JNDI
+ name relative to the java:comp/env context. The name must
+ be unique within an application client.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:env-entry"/>
- <xsd:field xpath="jakartaee:env-entry-name"/>
+ <xsd:field xpath="jakartaee:env-entry-name"/>
</xsd:unique>
-
<xsd:unique name="ejb-ref-name-uniqueness">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The ejb-ref-name element contains the name of an enterprise bean
- reference. The enterprise bean reference is an entry
- in the application client's environment and is relative to the
- java:comp/env context. The name must be unique within the
- application client.
-
- It is recommended that name is prefixed with "ejb/".
-
- </xsd:documentation>
+ The ejb-ref-name element contains the name of an enterprise bean
+ reference. The enterprise bean reference is an entry
+ in the application client's environment and is relative to the
+ java:comp/env context. The name must be unique within the
+ application client.
+
+ It is recommended that name is prefixed with "ejb/".
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:ejb-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
</xsd:unique>
-
<xsd:unique name="res-ref-name-uniqueness">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The res-ref-name element specifies the name of a
- resource manager connection factory reference.The name
- is a JNDI name relative to the java:comp/env context.
- The name must be unique within an application client.
-
- </xsd:documentation>
+ The res-ref-name element specifies the name of a
+ resource manager connection factory reference.The name
+ is a JNDI name relative to the java:comp/env context.
+ The name must be unique within an application client.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:resource-ref"/>
- <xsd:field xpath="jakartaee:res-ref-name"/>
+ <xsd:field xpath="jakartaee:res-ref-name"/>
</xsd:unique>
-
<xsd:unique name="resource-env-ref-uniqueness">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The resource-env-ref-name element specifies the name of
- a resource environment reference; its value is the
- environment entry name used in the application client
- code. The name is a JNDI name relative to the
- java:comp/env context and must be unique within an
- application client.
-
- </xsd:documentation>
+ The resource-env-ref-name element specifies the name of
+ a resource environment reference; its value is the
+ environment entry name used in the application client
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ application client.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:resource-env-ref"/>
- <xsd:field xpath="jakartaee:resource-env-ref-name"/>
+ <xsd:field xpath="jakartaee:resource-env-ref-name"/>
</xsd:unique>
-
<xsd:unique name="message-destination-ref-uniqueness">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The message-destination-ref-name element specifies the
- name of a message destination reference; its value is
- the message destination reference name used in the
- application client code. The name is a JNDI name
- relative to the java:comp/env context and must be unique
- within an application client.
-
- </xsd:documentation>
+ The message-destination-ref-name element specifies the
+ name of a message destination reference; its value is
+ the message destination reference name used in the
+ application client code. The name is a JNDI name
+ relative to the java:comp/env context and must be unique
+ within an application client.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:message-destination-ref"/>
- <xsd:field xpath="jakartaee:message-destination-ref-name"/>
+ <xsd:field xpath="jakartaee:message-destination-ref-name"/>
</xsd:unique>
</xsd:element>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="application-clientType">
<xsd:sequence>
<xsd:element name="module-name"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="env-entry"
- type="jakartaee:env-entryType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:env-entryType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-ref"
- type="jakartaee:ejb-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:ejb-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:group ref="jakartaee:service-refGroup"/>
<xsd:element name="resource-ref"
- type="jakartaee:resource-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:resource-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="resource-env-ref"
- type="jakartaee:resource-env-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:resource-env-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="message-destination-ref"
- type="jakartaee:message-destination-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:message-destination-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="persistence-unit-ref"
- type="jakartaee:persistence-unit-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:persistence-unit-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="post-construct"
- type="jakartaee:lifecycle-callbackType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:lifecycle-callbackType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="pre-destroy"
- type="jakartaee:lifecycle-callbackType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:lifecycle-callbackType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="callback-handler"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The callback-handler element names a class provided by
- the application. The class must have a no args
- constructor and must implement the
- jakarta.security.auth.callback.CallbackHandler
- interface. The class will be instantiated by the
- application client container and used by the container
- to collect authentication information from the user.
-
- </xsd:documentation>
- </xsd:annotation>
+ The callback-handler element names a class provided by
+ the application. The class must have a no args
+ constructor and must implement the
+ jakarta.security.auth.callback.CallbackHandler
+ interface. The class will be instantiated by the
+ application client container and used by the container
+ to collect authentication information from the user.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="message-destination"
- type="jakartaee:message-destinationType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:message-destinationType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="data-source"
type="jakartaee:data-sourceType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="jms-connection-factory"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="jms-connection-factory"
type="jakartaee:jms-connection-factoryType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="jms-destination"
- type="jakartaee:jms-destinationType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="mail-session"
- type="jakartaee:mail-sessionType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="connection-factory"
- type="jakartaee:connection-factory-resourceType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="administered-object"
- type="jakartaee:administered-objectType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:jms-destinationType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="mail-session"
+ type="jakartaee:mail-sessionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="connection-factory"
+ type="jakartaee:connection-factory-resourceType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="administered-object"
+ type="jakartaee:administered-objectType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
-
<xsd:attribute name="version"
- type="jakartaee:dewey-versionType"
- fixed="9"
- use="required">
+ type="jakartaee:dewey-versionType"
+ fixed="9"
+ use="required">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The required value for the version is 9.
-
- </xsd:documentation>
+ The required value for the version is 9.
+
+ </xsd:documentation>
</xsd:annotation>
-
</xsd:attribute>
-
- <xsd:attribute name="metadata-complete" type="xsd:boolean">
+ <xsd:attribute name="metadata-complete"
+ type="xsd:boolean">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The metadata-complete attribute defines whether this
- deployment descriptor and other related deployment
- descriptors for this module (e.g., web service
- descriptors) are complete, or whether the class
- files available to this module and packaged with
- this application should be examined for annotations
- that specify deployment information.
-
- If metadata-complete is set to "true", the deployment
- tool must ignore any annotations that specify deployment
- information, which might be present in the class files
- of the application.
-
- If metadata-complete is not specified or is set to
- "false", the deployment tool must examine the class
- files of the application for annotations, as
- specified by the specifications.
-
- </xsd:documentation>
+ The metadata-complete attribute defines whether this
+ deployment descriptor and other related deployment
+ descriptors for this module (e.g., web service
+ descriptors) are complete, or whether the class
+ files available to this module and packaged with
+ this application should be examined for annotations
+ that specify deployment information.
+
+ If metadata-complete is set to "true", the deployment
+ tool must ignore any annotations that specify deployment
+ information, which might be present in the class files
+ of the application.
+
+ If metadata-complete is not specified or is set to
+ "false", the deployment tool must examine the class
+ files of the application for annotations, as
+ specified by the specifications.
+
+ </xsd:documentation>
</xsd:annotation>
-
</xsd:attribute>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application_9.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application_9.xsd
index f788a8e..1e038a2 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application_9.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/application_9.xsd
@@ -1,369 +1,390 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="9">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="9">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the XML Schema for the application 9 deployment
- descriptor. The deployment descriptor must be named
- "META-INF/application.xml" in the application's ear file.
- All application deployment descriptors must indicate
- the application schema by using the Jakarta EE namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and indicate the version of the schema by
- using the version element as shown below:
-
- <application xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
- https://jakarta.ee/xml/ns/jakartaee/application_9.xsd"
- version="9">
- ...
- </application>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/application_9.xsd
-
- ]]>
+ This is the XML Schema for the application 9 deployment
+ descriptor. The deployment descriptor must be named
+ "META-INF/application.xml" in the application's ear file.
+ All application deployment descriptors must indicate
+ the application schema by using the Jakarta EE namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and indicate the version of the schema by
+ using the version element as shown below:
+
+ <application xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/application_9.xsd"
+ version="9">
+ ...
+ </application>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/application_9.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="jakartaee_9.xsd"/>
- <!-- **************************************************** -->
+<!-- **************************************************** -->
- <xsd:element name="application" type="jakartaee:applicationType">
+ <xsd:element name="application"
+ type="jakartaee:applicationType">
<xsd:annotation>
<xsd:documentation>
- The application element is the root element of a Jakarta EE
- application deployment descriptor.
-
+ The application element is the root element of a Jakarta EE
+ application deployment descriptor.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:unique name="context-root-uniqueness">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The context-root element content must be unique
- in the ear.
-
- </xsd:documentation>
+ The context-root element content must be unique
+ in the ear.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:module/jakartaee:web"/>
- <xsd:field xpath="jakartaee:context-root"/>
+ <xsd:field xpath="jakartaee:context-root"/>
</xsd:unique>
-
<xsd:unique name="security-role-uniqueness">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The security-role-name element content
- must be unique in the ear.
-
- </xsd:documentation>
+ The security-role-name element content
+ must be unique in the ear.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:security-role"/>
- <xsd:field xpath="jakartaee:role-name"/>
+ <xsd:field xpath="jakartaee:role-name"/>
</xsd:unique>
-
</xsd:element>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="applicationType">
<xsd:annotation>
<xsd:documentation>
- The applicationType defines the structure of the
- application.
-
+ The applicationType defines the structure of the
+ application.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="application-name"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="initialize-in-order"
- type="jakartaee:generic-booleanType"
- minOccurs="0"
- maxOccurs="1">
+ type="jakartaee:generic-booleanType"
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
+
If initialize-in-order is true, modules must be initialized
in the order they're listed in this deployment descriptor,
with the exception of application client modules, which can
be initialized in any order.
If initialize-in-order is not set or set to false, the order
of initialization is unspecified and may be product-dependent.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="module"
- type="jakartaee:moduleType"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:moduleType"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The application deployment descriptor must have one
- module element for each Jakarta EE module in the
- application package. A module element is defined
- by moduleType definition.
-
- </xsd:documentation>
- </xsd:annotation>
+ The application deployment descriptor must have one
+ module element for each Jakarta EE module in the
+ application package. A module element is defined
+ by moduleType definition.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="security-role"
- type="jakartaee:security-roleType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:security-roleType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="library-directory"
- type="jakartaee:pathType"
- minOccurs="0"
- maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The library-directory element specifies the pathname
- of a directory within the application package, relative
- to the top level of the application package. All files
- named "*.jar" in this directory must be made available
- in the class path of all components included in this
- application package. If this element isn't specified,
- the directory named "lib" is searched. An empty element
- may be used to disable searching.
-
- </xsd:documentation>
- </xsd:annotation>
+ The library-directory element specifies the pathname
+ of a directory within the application package, relative
+ to the top level of the application package. All files
+ named "*.jar" in this directory must be made available
+ in the class path of all components included in this
+ application package. If this element isn't specified,
+ the directory named "lib" is searched. An empty element
+ may be used to disable searching.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="env-entry"
type="jakartaee:env-entryType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-ref"
type="jakartaee:ejb-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-local-ref"
type="jakartaee:ejb-local-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:group ref="jakartaee:service-refGroup"/>
<xsd:element name="resource-ref"
type="jakartaee:resource-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="resource-env-ref"
type="jakartaee:resource-env-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="message-destination-ref"
type="jakartaee:message-destination-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="persistence-context-ref"
type="jakartaee:persistence-context-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="persistence-unit-ref"
type="jakartaee:persistence-unit-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="message-destination"
- type="jakartaee:message-destinationType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:message-destinationType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="data-source"
type="jakartaee:data-sourceType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="jms-connection-factory"
- type="jakartaee:jms-connection-factoryType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="jms-destination"
- type="jakartaee:jms-destinationType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="mail-session"
- type="jakartaee:mail-sessionType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="connection-factory"
- type="jakartaee:connection-factory-resourceType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="administered-object"
- type="jakartaee:administered-objectType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="jms-connection-factory"
+ type="jakartaee:jms-connection-factoryType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="jms-destination"
+ type="jakartaee:jms-destinationType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="mail-session"
+ type="jakartaee:mail-sessionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="connection-factory"
+ type="jakartaee:connection-factory-resourceType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="administered-object"
+ type="jakartaee:administered-objectType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
<xsd:attribute name="version"
- type="jakartaee:dewey-versionType"
- fixed="9"
- use="required">
+ type="jakartaee:dewey-versionType"
+ fixed="9"
+ use="required">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The required value for the version is 9.
-
- </xsd:documentation>
+ The required value for the version is 9.
+
+ </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="moduleType">
<xsd:annotation>
<xsd:documentation>
- The moduleType defines a single Jakarta EE module and contains a
- connector, ejb, java, or web element, which indicates the
- module type and contains a path to the module file, and an
- optional alt-dd element, which specifies an optional URI to
- the post-assembly version of the deployment descriptor.
-
+ The moduleType defines a single Jakarta EE module and contains a
+ connector, ejb, java, or web element, which indicates the
+ module type and contains a path to the module file, and an
+ optional alt-dd element, which specifies an optional URI to
+ the post-assembly version of the deployment descriptor.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:choice>
- <xsd:element name="connector"
- type="jakartaee:pathType">
- <xsd:annotation>
- <xsd:documentation>
+ <xsd:element name="connector"
+ type="jakartaee:pathType">
+ <xsd:annotation>
+ <xsd:documentation>
- The connector element specifies the URI of a
- resource adapter archive file, relative to the
- top level of the application package.
+ The connector element specifies the URI of a
+ resource adapter archive file, relative to the
+ top level of the application package.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ejb"
+ type="jakartaee:pathType">
+ <xsd:annotation>
+ <xsd:documentation>
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="ejb"
- type="jakartaee:pathType">
- <xsd:annotation>
- <xsd:documentation>
+ The ejb element specifies the URI of an ejb-jar,
+ relative to the top level of the application
+ package.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="java"
+ type="jakartaee:pathType">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb element specifies the URI of an ejb-jar,
- relative to the top level of the application
- package.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="java"
- type="jakartaee:pathType">
- <xsd:annotation>
- <xsd:documentation>
-
- The java element specifies the URI of a java
- application client module, relative to the top
- level of the application package.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="web"
- type="jakartaee:webType"/>
+ The java element specifies the URI of a java
+ application client module, relative to the top
+ level of the application package.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="web"
+ type="jakartaee:webType"/>
</xsd:choice>
<xsd:element name="alt-dd"
- type="jakartaee:pathType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The alt-dd element specifies an optional URI to the
- post-assembly version of the deployment descriptor
- file for a particular Jakarta EE module. The URI must
- specify the full pathname of the deployment
- descriptor file relative to the application's root
- directory. If alt-dd is not specified, the deployer
- must read the deployment descriptor from the default
- location and file name required by the respective
- component specification.
-
- </xsd:documentation>
- </xsd:annotation>
+ The alt-dd element specifies an optional URI to the
+ post-assembly version of the deployment descriptor
+ file for a particular Jakarta EE module. The URI must
+ specify the full pathname of the deployment
+ descriptor file relative to the application's root
+ directory. If alt-dd is not specified, the deployer
+ must read the deployment descriptor from the default
+ location and file name required by the respective
+ component specification.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="webType">
<xsd:annotation>
<xsd:documentation>
- The webType defines the web-uri and context-root of
- a web application module.
-
+ The webType defines the web-uri and context-root of
+ a web application module.
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="web-uri"
- type="jakartaee:pathType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType">
+ <xsd:annotation>
+ <xsd:documentation>
- The web-uri element specifies the URI of a web
- application file, relative to the top level of the
- application package.
-
- </xsd:documentation>
- </xsd:annotation>
+ The web-uri element specifies the URI of a web
+ application file, relative to the top level of the
+ application package.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="context-root"
- type="jakartaee:string">
+ type="jakartaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
- <xsd:annotation>
- <xsd:documentation>
-
- The context-root element specifies the context root
- of a web application.
-
- </xsd:documentation>
- </xsd:annotation>
+ The context-root element specifies the context root
+ of a web application.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/batchXML_2_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/batchXML_2_0.xsd
new file mode 100644
index 0000000..7d1d0a7
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/batchXML_2_0.xsd
@@ -0,0 +1,41 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2012, 2020 International Business Machines Corp. and others
+
+ See the NOTICE file distributed with this work for additional information
+ regarding copyright ownership. Licensed under the Apache License,
+ Version 2.0 (the "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jbatch="https://jakarta.ee/xml/ns/jakartaee" version="2.0">
+
+ <xs:element name="batch-artifacts"
+ type="jbatch:BatchArtifacts" />
+
+ <xs:complexType name="BatchArtifacts">
+ <xs:sequence>
+ <xs:element name="ref" type="jbatch:BatchArtifactRef"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="BatchArtifactRef">
+ <xs:attribute name="id" use="required" type="xs:string" />
+ <xs:attribute name="class" use="required"
+ type="xs:string" />
+ </xs:complexType>
+
+</xs:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/beans_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/beans_3_0.xsd
new file mode 100644
index 0000000..ead3808
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/beans_3_0.xsd
@@ -0,0 +1,366 @@
+<?xml version="1.0" encoding="UTF-8"?>
+
+<!--
+~ JBoss, Home of Professional Open Source
+~ Copyright 2020, Red Hat, Inc., and individual contributors
+~ by the @authors tag. See the copyright.txt in the distribution for a
+~ full listing of individual contributors.
+~
+~ Licensed under the Apache License, Version 2.0 (the "License");
+~ you may not use this file except in compliance with the License.
+~ You may obtain a copy of the License at
+~ http://www.apache.org/licenses/LICENSE-2.0
+~ Unless required by applicable law or agreed to in writing, software
+~ distributed under the License is distributed on an "AS IS" BASIS,
+~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+~ See the License for the specific language governing permissions and
+~ limitations under the License.
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ elementFormDefault="qualified"
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ version="3.0">
+
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[[
+ Jakarta Contexts and Dependency Injection (CDI) defines
+ a set of complementary services that help improve the structure
+ of application code. beans.xml is used to enable CDI services
+ for the current bean archive as well as to enable named
+ interceptors, decorators and alternatives for the current bean
+ archive.
+
+
+ This is the XML Schema for the beans.xml deployment
+ descriptor for CDI 3.0. The deployment descriptor must be named
+ "META-INF/beans.xml" or "WEB-INF/beans.xml" in a war file.
+ All application deployment descriptors may indicate
+ the application schema by using the Java EE namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and may indicate the version of the schema by
+ using the version element as shown below:
+
+ <beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd"
+ version="3.0">
+ ...
+ </beans>
+
+ The deployment descriptor may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for the Java EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/beans_3_0.xsd
+
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="beans">
+ <xs:annotation>
+ <xs:documentation>
+ Bean classes of enabled beans must be
+ deployed in bean archives. A library jar, EJB jar,
+ application client jar or rar archive is a bean archive if
+ it has a file named beans.xml in the META-INF directory. The
+ WEB-INF/classes directory of a war is a bean archive if
+ there is a file named beans.xml in the WEB-INF directory of
+ the war. A directory in the JVM classpath is a bean archive
+ if it has a file named beans.xml in the META-INF directory.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:all >
+ <xs:element ref="jakartaee:interceptors" minOccurs="0"/>
+ <xs:element ref="jakartaee:decorators" minOccurs="0" />
+ <xs:element ref="jakartaee:alternatives" minOccurs="0" />
+ <xs:element ref="jakartaee:scan" minOccurs="0" />
+ <xs:element ref="jakartaee:trim" minOccurs="0"/>
+ </xs:all>
+ <xs:attribute name="version" default="3.0">
+ <xs:annotation>
+ <xs:documentation>
+ The version of CDI this beans.xml is for. If the version is "3.0" (or
+ later), then the attribute bean-discovery-mode must be added.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:token">
+ <xs:pattern value="\.?[0-9]+(\.[0-9]+)*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name="bean-discovery-mode" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ It is strongly recommended you use "annotated".
+
+ If the bean discovery mode is "all", then all types in this
+ archive will be considered. If the bean discovery mode is
+ "annotated", then only those types with bean defining annotations will be
+ considered. If the bean discovery mode is "none", then no
+ types will be considered.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="annotated">
+ <xs:annotation>
+ <xs:documentation>
+ Only those types with bean defining annotations will be
+ considered.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="all">
+ <xs:annotation>
+ <xs:documentation>
+ All types in this archive will be considered.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ <xs:enumeration value="none">
+ <xs:annotation>
+ <xs:documentation>
+ This archive will be ignored.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:enumeration>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="scan">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[The <scan> element allows exclusion of classes and packages from consideration. Various filters may be applied, and may be conditionally activated.]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence maxOccurs="unbounded" minOccurs="0">
+ <xs:element name="exclude">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[The exclude filter allows exclusion of classes and packages through the use of Ant-style glob matches. For example, <exclude name="com.acme.**"> would exclude all classes and subpackages of com.acme.]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice maxOccurs="unbounded" minOccurs="0">
+ <xs:element name="if-class-available">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[Activates the filter only if the class specified can be loaded.]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[If the named class can be loaded then, then the filter will be activated.]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="if-class-not-available">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[Activates the filter only if the class specified cannot be loaded.]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[If the named class cannot be loaded then, then the filter will be activated.]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="if-system-property">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[If both name and value are specified, then the named system property must be set, and have the specified value for the filter to be activated. If only the name is specified, then the named system property must be set for the filter to be activated.]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="name" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[The name of the system property that must be set for the filter to be active.]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="value" type="xs:string" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[Optional. The value that the system property must have for the filter to be active.]]>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ </xs:choice>
+ <xs:attribute name="name" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ <![CDATA[The name of the class or package to exclude. Ant-style glob matches are supported. For example, <exclude name="com.acme.**"> would exclude all classes and subpackages of com.acme.]]>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:pattern value="([a-zA-Z_$][a-zA-Z\d_$]*\.)*([a-zA-Z_$][a-zA-Z\d_$]*|\*|\*\*)"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="interceptors">
+ <xs:annotation>
+ <xs:documentation>
+ By default, a bean archive has no enabled
+ interceptors bound via interceptor bindings. An interceptor
+ must be explicitly enabled by listing its class under the
+ <interceptors> element of the beans.xml file of the
+ bean archive. The order of the interceptor declarations
+ determines the interceptor ordering. Interceptors which
+ occur earlier in the list are called first. If the same
+ class is listed twice under the <interceptors>
+ element, the container automatically detects the problem and
+ treats it as a deployment problem.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="class" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Each child <class> element
+ must specify the name of an interceptor class. If
+ there is no class with the specified name, or if
+ the class with the specified name is not an
+ interceptor class, the container automatically
+ detects the problem and treats it as a deployment
+ problem.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="decorators">
+ <xs:annotation>
+ <xs:documentation>
+ By default, a bean archive has no enabled
+ decorators. A decorator must be explicitly enabled by
+ listing its bean class under the <decorators> element
+ of the beans.xml file of the bean archive. The order of the
+ decorator declarations determines the decorator ordering.
+ Decorators which occur earlier in the list are called first.
+ If the same class is listed twice under the
+ <decorators> element, the container automatically
+ detects the problem and treats it as a deployment problem.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="class" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Each child <class> element
+ must specify the name of a decorator class. If
+ there is no class with the specified name, or if
+ the class with the specified name is not a
+ decorator class, the container automatically
+ detects the problem and treats it as a deployment
+ problem.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="alternatives">
+ <xs:annotation>
+ <xs:documentation>
+ An alternative is a bean that must be
+ explicitly declared in the beans.xml file if it should be
+ available for lookup, injection or EL resolution. By
+ default, a bean archive has no selected alternatives. An
+ alternative must be explicitly declared using the
+ <alternatives> element of the beans.xml file of the
+ bean archive. The <alternatives> element contains a
+ list of bean classes and stereotypes. An alternative is
+ selected for the bean archive if either: the alternative is
+ a managed bean or session bean and the bean class of the
+ bean is listed, or the alternative is a producer method,
+ field or resource, and the bean class that declares the
+ method or field is listed, or any @Alternative stereotype of
+ the alternative is listed.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="class" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Each child <class> element
+ must specify the name of an alternative bean class.
+ If there is no class with the specified name, or if
+ the class with the specified name is not an
+ alternative bean class, the container automatically
+ detects the problem and treats it as a deployment
+ problem. If the same class is listed twice under
+ the <alternatives> element, the container
+ automatically detects the problem and treats it as
+ a deployment problem.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="stereotype" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Each child <stereotype>
+ element must specify the name of an @Alternative
+ stereotype annotation. If there is no annotation
+ with the specified name, or the annotation is not
+ an @Alternative stereotype, the container
+ automatically detects the problem and treats it as
+ a deployment problem. If the same stereotype is
+ listed twice under the <alternatives>
+ element, the container automatically detects the
+ problem and treats it as a deployment problem.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:choice>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="trim" type="xs:string" fixed="">
+ <xs:annotation>
+ <xs:documentation>
+ If an explicit bean archive contains the <trim/< element in its beans.xml file, types that don’t have
+ either a bean defining annotation (as defined in Bean defining annotations) or any scope annotation,
+ are removed from the set of discovered types.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+</xs:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/bindingschema_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/bindingschema_3_0.xsd
new file mode 100644
index 0000000..52dd500
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/bindingschema_3_0.xsd
@@ -0,0 +1,482 @@
+<?xml version = "1.0" encoding = "UTF-8"?>
+<!--
+
+ Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Distribution License v. 1.0, which is available at
+ http://www.eclipse.org/org/documents/edl-v10.php.
+
+ SPDX-License-Identifier: BSD-3-Clause
+
+-->
+
+<xs:schema
+ targetNamespace = "https://jakarta.ee/xml/ns/jaxb"
+ xmlns:jaxb = "https://jakarta.ee/xml/ns/jaxb"
+ xmlns:xs = "http://www.w3.org/2001/XMLSchema"
+ elementFormDefault = "qualified"
+ attributeFormDefault = "unqualified">
+ <xs:annotation>
+ <xs:documentation>
+ This is the XML Schema for the Jakarta XML Binding binding
+ customization descriptor.
+ All binding customization descriptors must indicate
+ the descriptor schema by using the Jakarta XML Binding namespace:
+
+ https://jakarta.ee/xml/ns/jaxb
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <bindings xmlns="https://jakarta.ee/xml/ns/jaxb"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jaxb
+ https://jakarta.ee/xml/ns/jaxb/bindingschema_3_0.xsd"
+ version="3.0">
+ ...
+ </bindings>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta XML Binding
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jaxb/bindingschema_3_0.xsd
+ </xs:documentation>
+ </xs:annotation>
+ <xs:group name = "declaration">
+ <xs:annotation>
+ <xs:documentation>
+ Model group that represents a binding declaration. Each new binding
+ declaration added to the jaxb namespace that is not restricted to
+ globalBindings should be added as a child element to this model group.
+ </xs:documentation>
+ </xs:annotation>
+ <!-- each new binding declaration, not restricted to
+ globalBindings, should be added here -->
+ <xs:choice>
+ <xs:element ref = "jaxb:globalBindings"/>
+ <xs:element ref = "jaxb:schemaBindings"/>
+ <xs:element ref = "jaxb:class"/>
+ <xs:element ref = "jaxb:property"/>
+ <xs:element ref = "jaxb:typesafeEnumClass"/>
+ <xs:element ref = "jaxb:typesafeEnumMember"/>
+ <xs:element ref = "jaxb:javaType"/>
+ <xs:element ref = "jaxb:dom"/>
+ <xs:element ref = "jaxb:inlineBinaryData"/>
+ <xs:any namespace = "##other" processContents = "lax"/>
+ </xs:choice>
+ </xs:group>
+ <xs:attribute name = "version" type="xs:token" >
+ <xs:annotation>
+ <xs:documentation>
+ Used to specify the version of the binding schema on the schema element for
+ inline annotations or jaxb:bindings for external binding.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attributeGroup name = "propertyAttributes">
+ <xs:annotation><xs:documentation>
+ Attributes used for property customization. The attribute group can be
+ referenced either from the globalBindings declaration or from the
+ property declaration. The following defaults are defined by the JAXB
+ specification in global scope only. Thus they apply when the
+ propertyAttributes group is referenced from the globalBindings declaration
+ but not when referenced from the property declaration.
+ collectionType a class that implements java.util.List.
+ fixedAttributeAsConstantProperty false
+ enableFailFastCheck false
+ generateIsSetMethod false
+ optionalProperty wrapper
+ generateElementProperty false
+ attachmentRef default
+ </xs:documentation></xs:annotation>
+ <xs:attribute name = "collectionType" type="jaxb:referenceCollectionType"/>
+ <xs:attribute name = "fixedAttributeAsConstantProperty" type = "xs:boolean"/>
+ <xs:attribute name = "enableFailFastCheck" type = "xs:boolean"/>
+ <xs:attribute name = "generateIsSetMethod" type = "xs:boolean"/>
+ <xs:attribute name = "optionalProperty">
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:enumeration value="wrapper"/>
+ <xs:enumeration value="primitive"/>
+ <xs:enumeration value="isSet"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name = "generateElementProperty" type="xs:boolean"/>
+ <xs:attribute name = "attachmentRef">
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:enumeration value="resolve"/>
+ <xs:enumeration value="doNotResolve"/>
+ <xs:enumeration value="default"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:attributeGroup>
+ <xs:attributeGroup name = "XMLNameToJavaIdMappingDefaults">
+ <xs:annotation>
+ <xs:documentation>Customize XMLNames to Java id mapping
+ </xs:documentation>
+ </xs:annotation>
+ <xs:attribute name = "underscoreBinding" default = "asWordSeparator" type = "jaxb:underscoreBindingType"/>
+ </xs:attributeGroup>
+ <xs:attributeGroup name = "typesafeEnumClassDefaults">
+ <xs:attribute name = "typesafeEnumMemberName" default = "skipGeneration" type = "jaxb:typesafeEnumMemberNameType"/>
+ <xs:attribute name = "typesafeEnumBase" default = "xs:string" type = "jaxb:typesafeEnumBaseType"/>
+ <xs:attribute name = "typesafeEnumMaxMembers" type="xs:int" default="256"/>
+ </xs:attributeGroup>
+ <xs:element name = "globalBindings">
+ <xs:annotation>
+ <xs:documentation>Customization values defined in global scope.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence minOccurs = "0">
+ <xs:element ref = "jaxb:javaType" minOccurs = "0" maxOccurs = "unbounded"/>
+ <xs:element ref = "jaxb:serializable" minOccurs = "0"/>
+ <xs:any namespace = "##other" processContents = "lax">
+ <xs:annotation>
+ <xs:documentation>allows extension binding declarations to be specified.</xs:documentation>
+ </xs:annotation>
+ </xs:any>
+ </xs:sequence>
+ <xs:attributeGroup ref = "jaxb:XMLNameToJavaIdMappingDefaults"/>
+ <xs:attributeGroup ref = "jaxb:typesafeEnumClassDefaults"/>
+ <xs:attributeGroup ref = "jaxb:propertyAttributes"/>
+ <xs:attribute name="generateValueClass" type="xs:boolean"
+ default= "true"/>
+ <xs:attribute name="generateElementClass" type="xs:boolean"
+ default= "false"/>
+ <xs:attribute name="mapSimpleTypeDef" type="xs:boolean"
+ default= "false"/>
+ <xs:attribute name="localScoping" default= "nested">
+ <xs:simpleType>
+ <xs:restriction base="xs:NCName">
+ <xs:enumeration value="nested"/>
+ <xs:enumeration value="toplevel"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:attribute name = "enableJavaNamingConventions" default = "true" type = "xs:boolean"/>
+ <!-- Removed from JAXB 2.0
+ <xs:attribute name = "bindingStyle" default = "elementBinding" type = "jaxb:bindingStyleType"/>
+ -->
+ <xs:attribute name = "choiceContentProperty" default = "false" type = "xs:boolean"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name = "schemaBindings">
+ <xs:annotation>
+ <xs:documentation>Customization values with schema scope</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:all>
+ <xs:element name = "package" type = "jaxb:packageType" minOccurs = "0"/>
+ <xs:element name = "nameXmlTransform" type = "jaxb:nameXmlTransformType" minOccurs = "0"/>
+ </xs:all>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name = "class">
+ <xs:annotation>
+ <xs:documentation>Customize interface and implementation class.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+ </xs:sequence>
+ <xs:attribute name = "name" type = "jaxb:javaIdentifierType">
+ <xs:annotation>
+ <xs:documentation>Java class name without package prefix.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name = "implClass" type = "jaxb:javaIdentifierType">
+ <xs:annotation>
+ <xs:documentation>Implementation class name including package prefix.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="generateValueClass" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>Default value derived from [jaxb:globalBindings]@generateValueClass.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name = "property">
+ <xs:annotation>
+ <xs:documentation>Customize property.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:all>
+ <xs:element name = "javadoc" type = "xs:string" minOccurs="0"/>
+ <xs:element name = "baseType" type="jaxb:propertyBaseType" minOccurs="0"/>
+ </xs:all>
+ <xs:attribute name = "name" type = "jaxb:javaIdentifierType"/>
+ <xs:attributeGroup ref = "jaxb:propertyAttributes"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name = "javaType">
+ <xs:annotation>
+ <xs:documentation>Data type conversions; overriding builtins</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name = "name" use = "required" type = "jaxb:javaIdentifierType">
+ <xs:annotation>
+ <xs:documentation>name of the java type to which xml type is to be bound.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name = "xmlType" type = "xs:QName">
+ <xs:annotation>
+ <xs:documentation> xml type to which java datatype has to be bound.Must be present when javaType is scoped to globalBindings</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name = "parseMethod" type = "jaxb:javaIdentifierType"/>
+ <xs:attribute name = "printMethod" type = "jaxb:javaIdentifierType"/>
+ <xs:attribute name = "hasNsContext" default = "false" type = "xs:boolean" >
+ <xs:annotation>
+ <xs:documentation>
+ If true, the parsMethod and printMethod must reference a method
+ signtature that has a second parameter of type NamespaceContext.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name = "typesafeEnumClass">
+ <xs:annotation>
+ <xs:documentation> Bind to a type safe enumeration class.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+ <xs:element ref = "jaxb:typesafeEnumMember" minOccurs = "0" maxOccurs = "unbounded"/>
+ </xs:sequence>
+ <xs:attribute name = "name" type = "jaxb:javaIdentifierType"/>
+ <xs:attribute name = "map" type = "xs:boolean" default = "true"/>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name = "typesafeEnumMember">
+ <xs:annotation>
+ <xs:documentation> Enumeration member name in a type safe enumeration class.</xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+ </xs:sequence>
+ <xs:attribute name = "value" type="xs:anySimpleType"/>
+ <xs:attribute name = "name" use = "required" type = "jaxb:javaIdentifierType"/>
+ </xs:complexType>
+ </xs:element>
+
+ <!-- TYPE DEFINITIONS -->
+
+ <xs:complexType name = "propertyBaseType">
+ <xs:all>
+ <xs:element ref = "jaxb:javaType" minOccurs = "0"/>
+ </xs:all>
+ <xs:attribute name = "name" type = "jaxb:javaIdentifierType">
+ <xs:annotation>
+ <xs:documentation>
+ The name attribute for [baseType] enables more precise control over the actual base type for a JAXB property. This customization enables specifying a more general base type than the property's default base type. The name attribute value must be a fully qualified Java class name. Additionally, this Java class must be a super interface/class of the default Java base type for the property. When the default base type is a primitive type, consider the default Java base type to be the Java wrapper class of that primitive type.This customization is useful to enable simple type substitution for a JAXB property representing with too restrictive of a default base type.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <!-- Removed in JAXB 2.0. modelGroupBinding no longer exists.
+ <xs:simpleType name = "bindingStyleType">
+ <xs:annotation><xs:documentation>Allows selection of a binding algorithm</xs:documentation></xs:annotation>
+ <xs:restriction base = "xs:string">
+ <xs:enumeration value = "elementBinding"/>
+ <xs:enumeration value = "modelGroupBinding"/>
+ </xs:restriction>
+ </xs:simpleType>
+ -->
+
+ <xs:complexType name = "packageType">
+ <xs:sequence>
+ <xs:element name = "javadoc" type = "xs:string" minOccurs = "0"/>
+ </xs:sequence>
+ <xs:attribute name = "name" type = "jaxb:javaIdentifierType"/>
+ </xs:complexType>
+ <xs:simpleType name = "underscoreBindingType">
+ <xs:annotation>
+ <xs:documentation>Treate underscore in XML Name to Java identifier mapping.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base = "xs:string">
+ <xs:enumeration value = "asWordSeparator"/>
+ <xs:enumeration value = "asCharInWord"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name = "typesafeEnumBaseType">
+ <xs:annotation>
+ <xs:documentation>
+ XML types or types derived from them which have enumeration facet(s)
+ which are be mapped to typesafeEnumClass by default.
+ The following types cannot be specified in this list:
+ "xsd:QName", "xsd:base64Binary", "xsd:hexBinary",
+ "xsd:date", "xsd:time", "xsd:dateTime", "xsd:duration",
+ "xsd:gDay", "xsd:gMonth", "xsd:Year", "xsd:gMonthDay", "xsd:YearMonth"
+ </xs:documentation>
+ </xs:annotation>
+ <xs:list itemType = "xs:QName"/>
+ </xs:simpleType>
+ <xs:simpleType name = "typesafeEnumMemberNameType">
+ <xs:annotation>
+ <xs:documentation>Used to customize how to handle name collisions.</xs:documentation>
+ </xs:annotation>
+ <xs:restriction base = "xs:string">
+ <xs:enumeration value = "generateName"/>
+ <xs:enumeration value = "generateError"/>
+ <xs:enumeration value = "skipGeneration"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType name = "javaIdentifierType">
+ <xs:annotation>
+ <xs:documentation>Placeholder type to indicate Legal Java identifier.</xs:documentation>
+ </xs:annotation>
+ <xs:list itemType = "xs:NCName"/>
+ </xs:simpleType>
+ <xs:complexType name = "nameXmlTransformRule">
+ <xs:annotation>
+ <xs:documentation>Rule to transform an Xml name into another Xml name</xs:documentation>
+ </xs:annotation>
+ <xs:attribute name = "prefix" type = "xs:string">
+ <xs:annotation>
+ <xs:documentation>prepend the string to QName.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name = "suffix" type = "xs:string">
+ <xs:annotation>
+ <xs:documentation>Append the string to QName.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:complexType name = "nameXmlTransformType">
+ <xs:annotation>
+ <xs:documentation>Allows transforming an xml name into another xml name. Use case UDDI 2.0 schema.</xs:documentation>
+ </xs:annotation>
+ <xs:all>
+ <xs:element name = "typeName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+ <xs:annotation>
+ <xs:documentation>Mapping rule for type definitions.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name = "elementName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+ <xs:annotation>
+ <xs:documentation>Mapping rule for elements</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name = "modelGroupName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+ <xs:annotation>
+ <xs:documentation>Mapping rule for model group</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name = "anonymousTypeName" type = "jaxb:nameXmlTransformRule" minOccurs = "0">
+ <xs:annotation>
+ <xs:documentation>Mapping rule for class names generated for an anonymous type.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ </xs:all>
+ </xs:complexType>
+ <xs:attribute name = "extensionBindingPrefixes">
+ <xs:annotation>
+ <xs:documentation>
+ A binding compiler only processes this attribute when it occurs on an
+ an instance of xs:schema element. The value of this attribute is a
+ whitespace-separated list of namespace prefixes. The namespace bound
+ to each of the prefixes is designated as a customization declaration
+ namespace.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:simpleType>
+ <xs:list itemType = "xs:normalizedString"/>
+ </xs:simpleType>
+ </xs:attribute>
+ <xs:element name = "bindings">
+ <xs:annotation>
+ <xs:documentation>
+ Binding declaration(s) for a remote schema.
+ If attribute node is set, the binding declaraions
+ are associated with part of the remote schema
+ designated by schemaLocation attribute. The node
+ attribute identifies the node in the remote schema
+ to associate the binding declaration(s) with.
+ </xs:documentation>
+ </xs:annotation>
+ <!-- a <bindings> element can contain arbitrary number of binding declarations or nested <bindings> elements -->
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs = "0" maxOccurs = "unbounded">
+ <xs:group ref = "jaxb:declaration"/>
+ <xs:element ref = "jaxb:bindings"/>
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name = "schemaLocation" type = "xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>
+ Location of the remote schema to associate binding declarations with.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name = "node" type = "xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The value of the string is an XPATH 1.0 compliant string that
+ resolves to a node in a remote schema to associate
+ binding declarations with. The remote schema is specified
+ by the schemaLocation attribute occuring in the current
+ element or in a parent of this element.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name = "version" type = "xs:token">
+ <xs:annotation>
+ <xs:documentation>
+ Used to indicate the version of binding declarations. Only valid on root level bindings element.
+ Either this or "jaxb:version" attribute but not both may be specified.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute ref = "jaxb:version">
+ <xs:annotation>
+ <xs:documentation>
+ Used to indicate the version of binding declarations. Only valid on root level bindings element.
+ Either this attribute or "version" attribute but not both may be specified.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:simpleType name="referenceCollectionType">
+ <xs:union>
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="indexed"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:simpleType>
+ <xs:restriction base="jaxb:javaIdentifierType"/>
+ </xs:simpleType>
+ </xs:union>
+ </xs:simpleType>
+ <xs:element name="dom">
+ <xs:complexType>
+ <xs:attribute name = "type" type="xs:NCName" default="w3c">
+ <xs:annotation>
+ <xs:documentation>Specify DOM API to bind to JAXB property to.</xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="inlineBinaryData">
+ <xs:annotation>
+ <xs:documentation>Disable MTOM/XOP encoding for this binary data. Annotation can be placed on a type defintion that derives from a W3C XSD binary data type or on an element that has a type that is or derives from a W3C XSD binary data type.</xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name = "serializable">
+ <xs:complexType>
+ <xs:attribute name="uid" type="xs:long" default="1"/>
+ </xs:complexType>
+ </xs:element>
+</xs:schema>
+
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/connector_2_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/connector_2_0.xsd
index 6dd8214..37cb82c 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/connector_2_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/connector_2_0.xsd
@@ -1,318 +1,315 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="2.0">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="2.0">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the XML Schema for the Connectors 2.0 deployment
- descriptor. The deployment descriptor must be named
- "META-INF/ra.xml" in the connector's rar file. All connector
- deployment descriptors must indicate the connector resource
- adapter schema by using the Jakarta EE namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and by indicating the version of the schema by
- using the version element as shown below:
-
- <connector xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
- https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
- version="2.0">
- ...
- </connector>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd
-
- ]]>
+ This is the XML Schema for the Connectors 2.0 deployment
+ descriptor. The deployment descriptor must be named
+ "META-INF/ra.xml" in the connector's rar file. All connector
+ deployment descriptors must indicate the connector resource
+ adapter schema by using the Jakarta EE namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <connector xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd"
+ version="2.0">
+ ...
+ </connector>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/connector_2_0.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="jakartaee_9.xsd"/>
<!-- **************************************************** -->
-
- <xsd:element name="connector" type="jakartaee:connectorType">
+ <xsd:element name="connector"
+ type="jakartaee:connectorType">
<xsd:annotation>
<xsd:documentation>
- The connector element is the root element of the deployment
- descriptor for the resource adapter. This element includes
- general information - vendor name, resource adapter version,
- icon - about the resource adapter module. It also includes
- information specific to the implementation of the resource
- adapter library as specified through the element
- resourceadapter.
-
+ The connector element is the root element of the deployment
+ descriptor for the resource adapter. This element includes
+ general information - vendor name, resource adapter version,
+ icon - about the resource adapter module. It also includes
+ information specific to the implementation of the resource
+ adapter library as specified through the element
+ resourceadapter.
+
</xsd:documentation>
</xsd:annotation>
-
</xsd:element>
+
<!-- **************************************************** -->
<xsd:complexType name="activationspecType">
<xsd:annotation>
<xsd:documentation>
- The activationspecType specifies an activation
- specification. The information includes fully qualified
- Java class name of an activation specification and a set of
- required configuration property names.
-
+ The activationspecType specifies an activation
+ specification. The information includes fully qualified
+ Java class name of an activation specification and a set of
+ required configuration property names.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="activationspec-class"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element activationspec-class specifies the fully
- qualified Java class name of the activation
- specification class. This class must implement the
- jakarta.resource.spi.ActivationSpec interface. The
- implementation of this class is required to be a
- JavaBean.
-
- Example:
- <activationspec-class>com.wombat.ActivationSpecImpl
- </activationspec-class>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element activationspec-class specifies the fully
+ qualified Java class name of the activation
+ specification class. This class must implement the
+ jakarta.resource.spi.ActivationSpec interface. The
+ implementation of this class is required to be a
+ JavaBean.
+
+ Example:
+ <activationspec-class>com.wombat.ActivationSpecImpl
+ </activationspec-class>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="required-config-property"
- type="jakartaee:required-config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:required-config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The required-config-property element is deprecated since
- Connectors 1.6 specification. The resource adapter
- implementation is recommended to use the @NotNull
- Bean Validation annotation or its XML validation
- descriptor equivalent to indicate that a configuration
- property is required to be specified by the deployer.
- See the Jakarta Connectors specification for more information.
-
- </xsd:documentation>
- </xsd:annotation>
-
- </xsd:element>
-
+ The required-config-property element is deprecated since
+ Connectors 1.6 specification. The resource adapter
+ implementation is recommended to use the @NotNull
+ Bean Validation annotation or its XML validation
+ descriptor equivalent to indicate that a configuration
+ property is required to be specified by the deployer.
+ See the Jakarta Connectors specification for more information.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
<xsd:element name="config-property"
- type="jakartaee:config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="adminobjectType">
<xsd:annotation>
<xsd:documentation>
- The adminobjectType specifies information about an
- administered object. Administered objects are specific to a
- messaging style or message provider. This contains
- information on the Java type of the interface implemented by
- an administered object, its Java class name and its
- configuration properties.
-
+ The adminobjectType specifies information about an
+ administered object. Administered objects are specific to a
+ messaging style or message provider. This contains
+ information on the Java type of the interface implemented by
+ an administered object, its Java class name and its
+ configuration properties.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="adminobject-interface"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element adminobject-interface specifies the
- fully qualified name of the Java type of the
- interface implemented by an administered object.
-
- Example:
- <adminobject-interface>jakarta.jms.Destination
- </adminobject-interface>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
-
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element adminobject-interface specifies the
+ fully qualified name of the Java type of the
+ interface implemented by an administered object.
+
+ Example:
+ <adminobject-interface>jakarta.jms.Destination
+ </adminobject-interface>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="adminobject-class"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element adminobject-class specifies the fully
- qualified Java class name of an administered object.
-
- Example:
- <adminobject-class>com.wombat.DestinationImpl
- </adminobject-class>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element adminobject-class specifies the fully
+ qualified Java class name of an administered object.
+
+ Example:
+ <adminobject-class>com.wombat.DestinationImpl
+ </adminobject-class>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="config-property"
- type="jakartaee:config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="authentication-mechanismType">
<xsd:annotation>
<xsd:documentation>
- The authentication-mechanismType specifies an authentication
- mechanism supported by the resource adapter. Note that this
- support is for the resource adapter and not for the
- underlying EIS instance. The optional description specifies
- any resource adapter specific requirement for the support of
- security contract and authentication mechanism.
-
- Note that BasicPassword mechanism type should support the
- jakarta.resource.spi.security.PasswordCredential interface.
- The Kerbv5 mechanism type should support the
- org.ietf.jgss.GSSCredential interface or the deprecated
- jakarta.resource.spi.security.GenericCredential interface.
-
+ The authentication-mechanismType specifies an authentication
+ mechanism supported by the resource adapter. Note that this
+ support is for the resource adapter and not for the
+ underlying EIS instance. The optional description specifies
+ any resource adapter specific requirement for the support of
+ security contract and authentication mechanism.
+
+ Note that BasicPassword mechanism type should support the
+ jakarta.resource.spi.security.PasswordCredential interface.
+ The Kerbv5 mechanism type should support the
+ org.ietf.jgss.GSSCredential interface or the deprecated
+ jakarta.resource.spi.security.GenericCredential interface.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="authentication-mechanism-type"
- type="jakartaee:xsdStringType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element authentication-mechanism-type specifies
- type of an authentication mechanism.
-
- The example values are:
-
- <authentication-mechanism-type>BasicPassword
- </authentication-mechanism-type>
-
- <authentication-mechanism-type>Kerbv5
- </authentication-mechanism-type>
-
- Any additional security mechanisms are outside the
- scope of the Jakarta Connectors architecture specification.
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
-
+ type="jakartaee:xsdStringType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element authentication-mechanism-type specifies
+ type of an authentication mechanism.
+
+ The example values are:
+
+ <authentication-mechanism-type>BasicPassword
+ </authentication-mechanism-type>
+
+ <authentication-mechanism-type>Kerbv5
+ </authentication-mechanism-type>
+
+ Any additional security mechanisms are outside the
+ scope of the Jakarta Connectors architecture specification.
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="credential-interface"
- type="jakartaee:credential-interfaceType"/>
+ type="jakartaee:credential-interfaceType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="config-property-nameType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The config-property-nameType contains the name of a
- configuration property.
-
- The connector architecture defines a set of well-defined
- properties all of type java.lang.String. These are as
- follows.
-
- ServerName
- PortNumber
- UserName
- Password
- ConnectionURL
-
- A resource adapter provider can extend this property set to
- include properties specific to the resource adapter and its
- underlying EIS.
-
- Possible values include
- ServerName
- PortNumber
- UserName
- Password
- ConnectionURL
-
- Example: <config-property-name>ServerName</config-property-name>
-
- ]]>
+ <![CDATA[
+ The config-property-nameType contains the name of a
+ configuration property.
+
+ The connector architecture defines a set of well-defined
+ properties all of type java.lang.String. These are as
+ follows.
+
+ ServerName
+ PortNumber
+ UserName
+ Password
+ ConnectionURL
+
+ A resource adapter provider can extend this property set to
+ include properties specific to the resource adapter and its
+ underlying EIS.
+
+ Possible values include
+ ServerName
+ PortNumber
+ UserName
+ Password
+ ConnectionURL
+
+ Example: <config-property-name>ServerName</config-property-name>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -320,844 +317,849 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
+
<xsd:complexType name="config-property-typeType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The config-property-typeType contains the fully
- qualified Java type of a configuration property.
-
- The following are the legal values:
- java.lang.Boolean, java.lang.String, java.lang.Integer,
- java.lang.Double, java.lang.Byte, java.lang.Short,
- java.lang.Long, java.lang.Float, java.lang.Character
-
- Used in: config-property
-
- Example:
- <config-property-type>java.lang.String</config-property-type>
-
- ]]>
+ <![CDATA[
+ The config-property-typeType contains the fully
+ qualified Java type of a configuration property.
+
+ The following are the legal values:
+ java.lang.Boolean, java.lang.String, java.lang.Integer,
+ java.lang.Double, java.lang.Byte, java.lang.Short,
+ java.lang.Long, java.lang.Float, java.lang.Character
+
+ Used in: config-property
+
+ Example:
+ <config-property-type>java.lang.String</config-property-type>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="java.lang.Boolean"/>
- <xsd:enumeration value="java.lang.String"/>
- <xsd:enumeration value="java.lang.Integer"/>
- <xsd:enumeration value="java.lang.Double"/>
- <xsd:enumeration value="java.lang.Byte"/>
- <xsd:enumeration value="java.lang.Short"/>
- <xsd:enumeration value="java.lang.Long"/>
- <xsd:enumeration value="java.lang.Float"/>
- <xsd:enumeration value="java.lang.Character"/>
+ <xsd:enumeration value="java.lang.Boolean"/>
+ <xsd:enumeration value="java.lang.String"/>
+ <xsd:enumeration value="java.lang.Integer"/>
+ <xsd:enumeration value="java.lang.Double"/>
+ <xsd:enumeration value="java.lang.Byte"/>
+ <xsd:enumeration value="java.lang.Short"/>
+ <xsd:enumeration value="java.lang.Long"/>
+ <xsd:enumeration value="java.lang.Float"/>
+ <xsd:enumeration value="java.lang.Character"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="config-propertyType">
<xsd:annotation>
<xsd:documentation>
- The config-propertyType contains a declaration of a single
- configuration property that may be used for providing
- configuration information.
-
- The declaration consists of an optional description, name,
- type and an optional value of the configuration property. If
- the resource adapter provider does not specify a value than
- the deployer is responsible for providing a valid value for
- a configuration property.
-
- Any bounds or well-defined values of properties should be
- described in the description element.
-
+ The config-propertyType contains a declaration of a single
+ configuration property that may be used for providing
+ configuration information.
+
+ The declaration consists of an optional description, name,
+ type and an optional value of the configuration property. If
+ the resource adapter provider does not specify a value than
+ the deployer is responsible for providing a valid value for
+ a configuration property.
+
+ Any bounds or well-defined values of properties should be
+ described in the description element.
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="config-property-name"
- type="jakartaee:config-property-nameType"/>
+ type="jakartaee:config-property-nameType"/>
<xsd:element name="config-property-type"
- type="jakartaee:config-property-typeType"/>
+ type="jakartaee:config-property-typeType"/>
<xsd:element name="config-property-value"
- type="jakartaee:xsdStringType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element config-property-value contains the value
- of a configuration entry. Note, it is possible for a
- resource adapter deployer to override this
- configuration information during deployment.
-
- Example:
- <config-property-value>WombatServer</config-property-value>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:xsdStringType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element config-property-value contains the value
+ of a configuration entry. Note, it is possible for a
+ resource adapter deployer to override this
+ configuration information during deployment.
+
+ Example:
+ <config-property-value>WombatServer</config-property-value>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
- <xsd:element name="config-property-ignore" type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
+ <xsd:element name="config-property-ignore"
+ type="jakartaee:true-falseType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The element config-property-ignore is used to specify
- whether the configuration tools must ignore considering the
- configuration property during auto-discovery of
- Configuration properties. See the Jakarta Connectors specification for
- more details. If unspecified, the container must not ignore
- the configuration property during auto-discovery.
- This element must be one of the following, "true" or "false".
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
+ The element config-property-ignore is used to specify
+ whether the configuration tools must ignore considering the
+ configuration property during auto-discovery of
+ Configuration properties. See the Jakarta Connectors specification for
+ more details. If unspecified, the container must not ignore
+ the configuration property during auto-discovery.
+ This element must be one of the following, "true" or "false".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="config-property-supports-dynamic-updates"
+ type="jakartaee:true-falseType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- <xsd:element name="config-property-supports-dynamic-updates" type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
+ The element config-property-supports-dynamic-updates is used to specify
+ whether the configuration property allows its value to be updated, by
+ application server's configuration tools, during the lifetime of
+ the JavaBean instance. See the Jakarta Connectors specification for
+ more details. If unspecified, the container must not dynamically
+ reconfigure the property.
+ This element must be one of the following, "true" or "false".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="config-property-confidential"
+ type="jakartaee:true-falseType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The element config-property-supports-dynamic-updates is used to specify
- whether the configuration property allows its value to be updated, by
- application server's configuration tools, during the lifetime of
- the JavaBean instance. See the Jakarta Connectors specification for
- more details. If unspecified, the container must not dynamically
- reconfigure the property.
- This element must be one of the following, "true" or "false".
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
-
- <xsd:element name="config-property-confidential" type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element config-property-confidential is used to specify
- whether the configuration property is confidential and
- recommends application server's configuration tools to use special
- visual aids for editing them. See the Jakarta Connectors specification for
- more details. If unspecified, the container must not treat the
- property as confidential.
- This element must be one of the following, "true" or "false".
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
-
+ The element config-property-confidential is used to specify
+ whether the configuration property is confidential and
+ recommends application server's configuration tools to use special
+ visual aids for editing them. See the Jakarta Connectors specification for
+ more details. If unspecified, the container must not treat the
+ property as confidential.
+ This element must be one of the following, "true" or "false".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
</xsd:sequence>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="connection-definitionType">
<xsd:annotation>
<xsd:documentation>
- The connection-definitionType defines a set of connection
- interfaces and classes pertaining to a particular connection
- type. This also includes configurable properties for
- ManagedConnectionFactory instances that may be produced out
- of this set.
-
+ The connection-definitionType defines a set of connection
+ interfaces and classes pertaining to a particular connection
+ type. This also includes configurable properties for
+ ManagedConnectionFactory instances that may be produced out
+ of this set.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="managedconnectionfactory-class"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element managedconnectionfactory-class specifies
- the fully qualified name of the Java class that
- implements the
- jakarta.resource.spi.ManagedConnectionFactory interface.
- This Java class is provided as part of resource
- adapter's implementation of connector architecture
- specified contracts. The implementation of this
- class is required to be a JavaBean.
-
- Example:
- <managedconnectionfactory-class>
- com.wombat.ManagedConnectionFactoryImpl
- </managedconnectionfactory-class>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element managedconnectionfactory-class specifies
+ the fully qualified name of the Java class that
+ implements the
+ jakarta.resource.spi.ManagedConnectionFactory interface.
+ This Java class is provided as part of resource
+ adapter's implementation of connector architecture
+ specified contracts. The implementation of this
+ class is required to be a JavaBean.
+
+ Example:
+ <managedconnectionfactory-class>
+ com.wombat.ManagedConnectionFactoryImpl
+ </managedconnectionfactory-class>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="config-property"
- type="jakartaee:config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="connectionfactory-interface"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element connectionfactory-interface specifies
- the fully qualified name of the ConnectionFactory
- interface supported by the resource adapter.
-
- Example:
- <connectionfactory-interface>com.wombat.ConnectionFactory
- </connectionfactory-interface>
-
- OR
-
- <connectionfactory-interface>jakarta.resource.cci.ConnectionFactory
- </connectionfactory-interface>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element connectionfactory-interface specifies
+ the fully qualified name of the ConnectionFactory
+ interface supported by the resource adapter.
+
+ Example:
+ <connectionfactory-interface>com.wombat.ConnectionFactory
+ </connectionfactory-interface>
+
+ OR
+
+ <connectionfactory-interface>jakarta.resource.cci.ConnectionFactory
+ </connectionfactory-interface>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="connectionfactory-impl-class"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element connectionfactory-impl-class specifies
- the fully qualified name of the ConnectionFactory
- class that implements resource adapter
- specific ConnectionFactory interface.
-
- Example:
-
- <connectionfactory-impl-class>com.wombat.ConnectionFactoryImpl
- </connectionfactory-impl-class>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element connectionfactory-impl-class specifies
+ the fully qualified name of the ConnectionFactory
+ class that implements resource adapter
+ specific ConnectionFactory interface.
+
+ Example:
+
+ <connectionfactory-impl-class>com.wombat.ConnectionFactoryImpl
+ </connectionfactory-impl-class>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="connection-interface"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The connection-interface element specifies the fully
- qualified name of the Connection interface supported
- by the resource adapter.
-
- Example:
-
- <connection-interface>jakarta.resource.cci.Connection
- </connection-interface>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The connection-interface element specifies the fully
+ qualified name of the Connection interface supported
+ by the resource adapter.
+
+ Example:
+
+ <connection-interface>jakarta.resource.cci.Connection
+ </connection-interface>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="connection-impl-class"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The connection-impl-classType specifies the fully
- qualified name of the Connection class that
- implements resource adapter specific Connection
- interface. It is used by the connection-impl-class
- elements.
-
- Example:
-
- <connection-impl-class>com.wombat.ConnectionImpl
- </connection-impl-class>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The connection-impl-classType specifies the fully
+ qualified name of the Connection class that
+ implements resource adapter specific Connection
+ interface. It is used by the connection-impl-class
+ elements.
+
+ Example:
+
+ <connection-impl-class>com.wombat.ConnectionImpl
+ </connection-impl-class>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="connectorType">
<xsd:annotation>
<xsd:documentation>
- The connectorType defines a resource adapter.
-
+ The connectorType defines a resource adapter.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="module-name"
type="jakartaee:string"
minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ <xsd:annotation>
+ <xsd:documentation>
- The element module-name specifies the name of the
- resource adapter.
-
- If there is no module-name specified, the module-name
- is determined as defined in Section EE.8.1.1 and EE.8.1.2
- of the Java Platform, Enterprise Edition (Jakarta EE)
- Specification, version 6.
-
- </xsd:documentation>
- </xsd:annotation>
+ The element module-name specifies the name of the
+ resource adapter.
+
+ If there is no module-name specified, the module-name
+ is determined as defined in Section EE.8.1.1 and EE.8.1.2
+ of the Java Platform, Enterprise Edition (Jakarta EE)
+ Specification, version 6.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="vendor-name"
- type="jakartaee:xsdStringType" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdStringType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The element vendor-name specifies the name of
- resource adapter provider vendor.
-
- If there is no vendor-name specified, the application
- server must consider the default "" (empty string) as
- the name of the resource adapter provider vendor.
-
- </xsd:documentation>
- </xsd:annotation>
+ The element vendor-name specifies the name of
+ resource adapter provider vendor.
+
+ If there is no vendor-name specified, the application
+ server must consider the default "" (empty string) as
+ the name of the resource adapter provider vendor.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="eis-type"
- type="jakartaee:xsdStringType" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdStringType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The element eis-type contains information about the
- type of the EIS. For example, the type of an EIS can
- be product name of EIS independent of any version
- info.
-
- This helps in identifying EIS instances that can be
- used with this resource adapter.
-
- If there is no eis-type specified, the application
- server must consider the default "" (empty string) as
- the type of the EIS.
-
- </xsd:documentation>
- </xsd:annotation>
+ The element eis-type contains information about the
+ type of the EIS. For example, the type of an EIS can
+ be product name of EIS independent of any version
+ info.
+
+ This helps in identifying EIS instances that can be
+ used with this resource adapter.
+
+ If there is no eis-type specified, the application
+ server must consider the default "" (empty string) as
+ the type of the EIS.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="resourceadapter-version"
- type="jakartaee:xsdStringType" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdStringType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The element resourceadapter-version specifies a string-based version
- of the resource adapter from the resource adapter
- provider.
-
- If there is no resourceadapter-version specified, the application
- server must consider the default "" (empty string) as
- the version of the resource adapter.
-
- </xsd:documentation>
- </xsd:annotation>
-
+ The element resourceadapter-version specifies a string-based version
+ of the resource adapter from the resource adapter
+ provider.
+
+ If there is no resourceadapter-version specified, the application
+ server must consider the default "" (empty string) as
+ the version of the resource adapter.
+
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="license"
- type="jakartaee:licenseType"
- minOccurs="0"/>
+ type="jakartaee:licenseType"
+ minOccurs="0"/>
<xsd:element name="resourceadapter"
- type="jakartaee:resourceadapterType"/>
+ type="jakartaee:resourceadapterType"/>
<xsd:element name="required-work-context"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
- The element required-work-context specifies a fully qualified class
- name that implements WorkContext interface, that the resource adapter
- requires the application server to support.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
-
- <xsd:attribute name="version"
- type="jakartaee:dewey-versionType"
- fixed="2.0"
- use="required">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The version indicates the version of the schema to be used by the
- deployment tool. This element doesn't have a default, and the resource adapter
- developer/deployer is required to specify it. The element allows the deployment
- tool to choose which schema to validate the descriptor against.
-
- </xsd:documentation>
+ The element required-work-context specifies a fully qualified class
+ name that implements WorkContext interface, that the resource adapter
+ requires the application server to support.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="version"
+ type="jakartaee:dewey-versionType"
+ fixed="2.0"
+ use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The version indicates the version of the schema to be used by the
+ deployment tool. This element doesn't have a default, and the resource adapter
+ developer/deployer is required to specify it. The element allows the deployment
+ tool to choose which schema to validate the descriptor against.
+
+
+ </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
-
- <xsd:attribute name="metadata-complete" type="xsd:boolean">
- <xsd:annotation>
- <xsd:documentation>
- The metadata-complete attribute defines whether the deployment
- descriptor for the resource adapter module is complete, or whether
- the class files available to the module and packaged with the resource
- adapter should be examined for annotations that specify deployment
- information.
-
- If metadata-complete is set to "true", the deployment tool of the
- application server must ignore any annotations that specify deployment
- information, which might be present in the class files of the
- application.If metadata-complete is not specified or is set to "false",
- the deployment tool must examine the class files of the application for
- annotations, as specified by this specification. If the
- deployment descriptor is not included or is included but not marked
- metadata-complete, the deployment tool will process annotations.
-
- Application servers must assume that metadata-complete is true for
- resource adapter modules with deployment descriptor version
- lower than 1.6.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:attribute>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="metadata-complete"
+ type="xsd:boolean">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The metadata-complete attribute defines whether the deployment
+ descriptor for the resource adapter module is complete, or whether
+ the class files available to the module and packaged with the resource
+ adapter should be examined for annotations that specify deployment
+ information.
+
+ If metadata-complete is set to "true", the deployment tool of the
+ application server must ignore any annotations that specify deployment
+ information, which might be present in the class files of the
+ application.If metadata-complete is not specified or is set to "false",
+ the deployment tool must examine the class files of the application for
+ annotations, as specified by this specification. If the
+ deployment descriptor is not included or is included but not marked
+ metadata-complete, the deployment tool will process annotations.
+
+ Application servers must assume that metadata-complete is true for
+ resource adapter modules with deployment descriptor version
+ lower than 1.6.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="credential-interfaceType">
<xsd:annotation>
<xsd:documentation>
- The credential-interfaceType specifies the
- interface that the resource adapter implementation
- supports for the representation of the
- credentials. This element(s) that use this type,
- i.e. credential-interface, should be used by
- application server to find out the Credential
- interface it should use as part of the security
- contract.
-
- The possible values are:
-
- jakarta.resource.spi.security.PasswordCredential
- org.ietf.jgss.GSSCredential
- jakarta.resource.spi.security.GenericCredential
-
+ The credential-interfaceType specifies the
+ interface that the resource adapter implementation
+ supports for the representation of the
+ credentials. This element(s) that use this type,
+ i.e. credential-interface, should be used by
+ application server to find out the Credential
+ interface it should use as part of the security
+ contract.
+
+ The possible values are:
+
+ jakarta.resource.spi.security.PasswordCredential
+ org.ietf.jgss.GSSCredential
+ jakarta.resource.spi.security.GenericCredential
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:fully-qualified-classType">
- <xsd:enumeration
- value="jakarta.resource.spi.security.PasswordCredential"/>
- <xsd:enumeration
- value="org.ietf.jgss.GSSCredential"/>
- <xsd:enumeration
- value="jakarta.resource.spi.security.GenericCredential"/>
+ <xsd:enumeration value="jakarta.resource.spi.security.PasswordCredential"/>
+ <xsd:enumeration value="org.ietf.jgss.GSSCredential"/>
+ <xsd:enumeration value="jakarta.resource.spi.security.GenericCredential"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="inbound-resourceadapterType">
<xsd:annotation>
<xsd:documentation>
- The inbound-resourceadapterType specifies information
- about an inbound resource adapter. This contains information
- specific to the implementation of the resource adapter
- library as specified through the messageadapter element.
-
+ The inbound-resourceadapterType specifies information
+ about an inbound resource adapter. This contains information
+ specific to the implementation of the resource adapter
+ library as specified through the messageadapter element.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="messageadapter"
- type="jakartaee:messageadapterType"
- minOccurs="0">
- <xsd:unique name="messagelistener-type-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:messageadapterType"
+ minOccurs="0">
+ <xsd:unique name="messagelistener-type-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The messagelistener-type element content must be
- unique in the messageadapter. Several messagelisteners
- can not use the same messagelistener-type.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:messagelistener"/>
- <xsd:field xpath="jakartaee:messagelistener-type"/>
- </xsd:unique>
+ The messagelistener-type element content must be
+ unique in the messageadapter. Several messagelisteners
+ can not use the same messagelistener-type.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:messagelistener"/>
+ <xsd:field xpath="jakartaee:messagelistener-type"/>
+ </xsd:unique>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="licenseType">
<xsd:annotation>
<xsd:documentation>
- The licenseType specifies licensing requirements for the
- resource adapter module. This type specifies whether a
- license is required to deploy and use this resource adapter,
- and an optional description of the licensing terms
- (examples: duration of license, number of connection
- restrictions). It is used by the license element.
-
+ The licenseType specifies licensing requirements for the
+ resource adapter module. This type specifies whether a
+ license is required to deploy and use this resource adapter,
+ and an optional description of the licensing terms
+ (examples: duration of license, number of connection
+ restrictions). It is used by the license element.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="license-required"
- type="jakartaee:true-falseType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:true-falseType">
+ <xsd:annotation>
+ <xsd:documentation>
- The element license-required specifies whether a
- license is required to deploy and use the
- resource adapter. This element must be one of
- the following, "true" or "false".
-
- </xsd:documentation>
- </xsd:annotation>
+ The element license-required specifies whether a
+ license is required to deploy and use the
+ resource adapter. This element must be one of
+ the following, "true" or "false".
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="messageadapterType">
<xsd:annotation>
<xsd:documentation>
- The messageadapterType specifies information about the
- messaging capabilities of the resource adapter. This
- contains information specific to the implementation of the
- resource adapter library as specified through the
- messagelistener element.
-
+ The messageadapterType specifies information about the
+ messaging capabilities of the resource adapter. This
+ contains information specific to the implementation of the
+ resource adapter library as specified through the
+ messagelistener element.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="messagelistener"
- type="jakartaee:messagelistenerType"
- maxOccurs="unbounded"/>
+ type="jakartaee:messagelistenerType"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="messagelistenerType">
<xsd:annotation>
<xsd:documentation>
- The messagelistenerType specifies information about a
- specific message listener supported by the messaging
- resource adapter. It contains information on the Java type
- of the message listener interface and an activation
- specification.
-
+ The messagelistenerType specifies information about a
+ specific message listener supported by the messaging
+ resource adapter. It contains information on the Java type
+ of the message listener interface and an activation
+ specification.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="messagelistener-type"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The element messagelistener-type specifies the fully
- qualified name of the Java type of a message
- listener interface.
-
- Example:
-
- <messagelistener-type>jakarta.jms.MessageListener
- </messagelistener-type>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
-
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The element messagelistener-type specifies the fully
+ qualified name of the Java type of a message
+ listener interface.
+
+ Example:
+
+ <messagelistener-type>jakarta.jms.MessageListener
+ </messagelistener-type>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="activationspec"
- type="jakartaee:activationspecType"/>
+ type="jakartaee:activationspecType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="outbound-resourceadapterType">
<xsd:annotation>
<xsd:documentation>
- The outbound-resourceadapterType specifies information about
- an outbound resource adapter. The information includes fully
- qualified names of classes/interfaces required as part of
- the connector architecture specified contracts for
- connection management, level of transaction support
- provided, one or more authentication mechanisms supported
- and additional required security permissions.
-
- If any of the outbound resource adapter elements (transaction-support,
- authentication-mechanism, reauthentication-support) is specified through
- this element or metadata annotations, and no connection-definition is
- specified as part of this element or through annotations, the
- application server must consider this an error and fail deployment.
-
- If there is no authentication-mechanism specified as part of
- this element or metadata annotations, then the resource adapter does
- not support any standard security authentication mechanisms as
- part of security contract. The application server ignores the security
- part of the system contracts in this case.
-
- If there is no transaction-support specified as part of this element
- or metadata annotation, then the application server must consider that
- the resource adapter does not support either the resource manager local
- or Jakarta Transactions transactions and must consider the transaction support as
- NoTransaction. Note that resource adapters may specify the level of
- transaction support to be used at runtime for a ManagedConnectionFactory
- through the TransactionSupport interface.
-
- If there is no reauthentication-support specified as part of
- this element or metadata annotation, then the application server must consider
- that the resource adapter does not support re-authentication of
- ManagedConnections.
-
+ The outbound-resourceadapterType specifies information about
+ an outbound resource adapter. The information includes fully
+ qualified names of classes/interfaces required as part of
+ the connector architecture specified contracts for
+ connection management, level of transaction support
+ provided, one or more authentication mechanisms supported
+ and additional required security permissions.
+
+ If any of the outbound resource adapter elements (transaction-support,
+ authentication-mechanism, reauthentication-support) is specified through
+ this element or metadata annotations, and no connection-definition is
+ specified as part of this element or through annotations, the
+ application server must consider this an error and fail deployment.
+
+ If there is no authentication-mechanism specified as part of
+ this element or metadata annotations, then the resource adapter does
+ not support any standard security authentication mechanisms as
+ part of security contract. The application server ignores the security
+ part of the system contracts in this case.
+
+ If there is no transaction-support specified as part of this element
+ or metadata annotation, then the application server must consider that
+ the resource adapter does not support either the resource manager local
+ or Jakarta Transactions transactions and must consider the transaction support as
+ NoTransaction. Note that resource adapters may specify the level of
+ transaction support to be used at runtime for a ManagedConnectionFactory
+ through the TransactionSupport interface.
+
+ If there is no reauthentication-support specified as part of
+ this element or metadata annotation, then the application server must consider
+ that the resource adapter does not support re-authentication of
+ ManagedConnections.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="connection-definition"
- type="jakartaee:connection-definitionType"
- maxOccurs="unbounded" minOccurs="0"/>
+ type="jakartaee:connection-definitionType"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
<xsd:element name="transaction-support"
- type="jakartaee:transaction-supportType"
- minOccurs="0"/>
+ type="jakartaee:transaction-supportType"
+ minOccurs="0"/>
<xsd:element name="authentication-mechanism"
- type="jakartaee:authentication-mechanismType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:authentication-mechanismType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="reauthentication-support"
- type="jakartaee:true-falseType" minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The element reauthentication-support specifies
- whether the resource adapter implementation supports
- re-authentication of existing Managed- Connection
- instance. Note that this information is for the
- resource adapter implementation and not for the
- underlying EIS instance. This element must have
- either a "true" or "false" value.
-
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:true-falseType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The element reauthentication-support specifies
+ whether the resource adapter implementation supports
+ re-authentication of existing Managed- Connection
+ instance. Note that this information is for the
+ resource adapter implementation and not for the
+ underlying EIS instance. This element must have
+ either a "true" or "false" value.
+
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="required-config-propertyType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The required-config-propertyType contains a declaration
- of a single configuration property used for specifying a
- required configuration property name. It is used
- by required-config-property elements.
-
- Usage of this type is deprecated from Connectors 1.6 specification.
- Refer to required-config-property element for more information.
-
- Example:
-
- <required-config-property>
- <config-property-name>Destination</config-property-name>
- </required-config-property>
-
- ]]>
+ <![CDATA[
+ The required-config-propertyType contains a declaration
+ of a single configuration property used for specifying a
+ required configuration property name. It is used
+ by required-config-property elements.
+
+ Usage of this type is deprecated from Connectors 1.6 specification.
+ Refer to required-config-property element for more information.
+
+ Example:
+
+ <required-config-property>
+ <config-property-name>Destination</config-property-name>
+ </required-config-property>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="config-property-name"
- type="jakartaee:config-property-nameType"/>
+ type="jakartaee:config-property-nameType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="resourceadapterType">
<xsd:annotation>
<xsd:documentation>
- The resourceadapterType specifies information about the
- resource adapter. The information includes fully qualified
- resource adapter Java class name, configuration properties,
- information specific to the implementation of the resource
- adapter library as specified through the
- outbound-resourceadapter and inbound-resourceadapter
- elements, and an optional set of administered objects.
-
+ The resourceadapterType specifies information about the
+ resource adapter. The information includes fully qualified
+ resource adapter Java class name, configuration properties,
+ information specific to the implementation of the resource
+ adapter library as specified through the
+ outbound-resourceadapter and inbound-resourceadapter
+ elements, and an optional set of administered objects.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="resourceadapter-class"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The element resourceadapter-class specifies the
- fully qualified name of a Java class that implements
- the jakarta.resource.spi.ResourceAdapter
- interface. This Java class is provided as part of
- resource adapter's implementation of connector
- architecture specified contracts. The implementation
- of this class is required to be a JavaBean.
-
- </xsd:documentation>
- </xsd:annotation>
-
+ The element resourceadapter-class specifies the
+ fully qualified name of a Java class that implements
+ the jakarta.resource.spi.ResourceAdapter
+ interface. This Java class is provided as part of
+ resource adapter's implementation of connector
+ architecture specified contracts. The implementation
+ of this class is required to be a JavaBean.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="config-property"
- type="jakartaee:config-propertyType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:config-propertyType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="outbound-resourceadapter"
- type="jakartaee:outbound-resourceadapterType"
- minOccurs="0">
- <xsd:unique name="connectionfactory-interface-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:outbound-resourceadapterType"
+ minOccurs="0">
+ <xsd:unique name="connectionfactory-interface-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The connectionfactory-interface element content
- must be unique in the outbound-resourceadapter.
- Multiple connection-definitions can not use the
- same connectionfactory-type.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:connection-definition"/>
- <xsd:field xpath="jakartaee:connectionfactory-interface"/>
- </xsd:unique>
+ The connectionfactory-interface element content
+ must be unique in the outbound-resourceadapter.
+ Multiple connection-definitions can not use the
+ same connectionfactory-type.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:connection-definition"/>
+ <xsd:field xpath="jakartaee:connectionfactory-interface"/>
+ </xsd:unique>
</xsd:element>
<xsd:element name="inbound-resourceadapter"
- type="jakartaee:inbound-resourceadapterType"
- minOccurs="0"/>
+ type="jakartaee:inbound-resourceadapterType"
+ minOccurs="0"/>
<xsd:element name="adminobject"
- type="jakartaee:adminobjectType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:unique name="adminobject-type-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
- The adminobject-interface and adminobject-class element content must be
- unique in the resourceadapterType. Several admin objects
- can not use the same adminobject-interface and adminobject-class.
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:adminobject"/>
- <xsd:field xpath="jakartaee:adminobject-interface"/>
- <xsd:field xpath="jakartaee:adminobject-class"/>
- </xsd:unique>
+ type="jakartaee:adminobjectType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:unique name="adminobject-type-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The adminobject-interface and adminobject-class element content must be
+ unique in the resourceadapterType. Several admin objects
+ can not use the same adminobject-interface and adminobject-class.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:adminobject"/>
+ <xsd:field xpath="jakartaee:adminobject-interface"/>
+ <xsd:field xpath="jakartaee:adminobject-class"/>
+ </xsd:unique>
</xsd:element>
<xsd:element name="security-permission"
- type="jakartaee:security-permissionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:security-permissionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="security-permissionType">
<xsd:annotation>
<xsd:documentation>
- The security-permissionType specifies a security
- permission that is required by the resource adapter code.
-
- The security permission listed in the deployment descriptor
- are ones that are different from those required by the
- default permission set as specified in the connector
- specification. The optional description can mention specific
- reason that resource adapter requires a given security
- permission.
-
+ The security-permissionType specifies a security
+ permission that is required by the resource adapter code.
+
+ The security permission listed in the deployment descriptor
+ are ones that are different from those required by the
+ default permission set as specified in the connector
+ specification. The optional description can mention specific
+ reason that resource adapter requires a given security
+ permission.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="security-permission-spec"
- type="jakartaee:xsdStringType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdStringType">
+ <xsd:annotation>
+ <xsd:documentation>
- The element security-permission-spec specifies a security
- permission based on the Security policy file
- syntax. Refer to the following URL for Sun's
- implementation of the security permission
- specification:
-
- http://docs.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html
- </xsd:documentation>
- </xsd:annotation>
+ The element security-permission-spec specifies a security
+ permission based on the Security policy file
+ syntax. Refer to the following URL for Sun's
+ implementation of the security permission
+ specification:
+
+ http://docs.oracle.com/javase/6/docs/technotes/guides/security/PolicyFiles.html
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
-
</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_0.xsd
index 87debda..985adc1 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/ejb-jar_4_0.xsd
@@ -1,288 +1,287 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="4.0">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="4.0">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the XML Schema for the Enterprise Beans 4.0 deployment descriptor.
-
- All Enterprise Beans deployment descriptors must indicate
- the schema by using the Jakarta EE namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and by indicating the version of the schema by
- using the version element as shown below:
-
- <ejb-jar xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
- https://jakarta.ee/xml/ns/jakartaee/ejb-jar_4_0.xsd"
- version="4.0">
- ...
- </ejb-jar>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for the
- Jakarta EE namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/ejb-jar_3_2.xsd
-
- ]]>
+ This is the XML Schema for the Enterprise Beans 4.0 deployment descriptor.
+
+ All Enterprise Beans deployment descriptors must indicate
+ the schema by using the Jakarta EE namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <ejb-jar xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/ejb-jar_4_0.xsd"
+ version="4.0">
+ ...
+ </ejb-jar>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for the
+ Jakarta EE namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/ejb-jar_4_0.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-<xsd:annotation>
+ <xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="jakartaee_9.xsd"/>
- <!-- **************************************************** -->
- <xsd:element name="ejb-jar" type="jakartaee:ejb-jarType">
+<!-- **************************************************** -->
+
+ <xsd:element name="ejb-jar"
+ type="jakartaee:ejb-jarType">
<xsd:annotation>
<xsd:documentation>
- This is the root of the ejb-jar deployment descriptor.
-
+ This is the root of the ejb-jar deployment descriptor.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:key name="ejb-name-key">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The ejb-name element contains the name of an enterprise
- bean. The name must be unique within the ejb-jar file or
+ The ejb-name element contains the name of an enterprise
+ bean. The name must be unique within the ejb-jar file or
.war file.
-
- </xsd:documentation>
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:enterprise-beans/*"/>
- <xsd:field xpath="jakartaee:ejb-name"/>
+ <xsd:field xpath="jakartaee:ejb-name"/>
</xsd:key>
-
<xsd:keyref name="ejb-name-references"
- refer="jakartaee:ejb-name-key">
+ refer="jakartaee:ejb-name-key">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The keyref indicates the references from
- relationship-role-source must be to a specific ejb-name
- defined within the scope of enterprise-beans element.
-
- </xsd:documentation>
+ The keyref indicates the references from
+ relationship-role-source must be to a specific ejb-name
+ defined within the scope of enterprise-beans element.
+
+ </xsd:documentation>
</xsd:annotation>
- <xsd:selector
- xpath=".//jakartaee:ejb-relationship-role/jakartaee:relationship-role-source"/>
- <xsd:field
- xpath="jakartaee:ejb-name"/>
+ <xsd:selector xpath=".//jakartaee:ejb-relationship-role/jakartaee:relationship-role-source"/>
+ <xsd:field xpath="jakartaee:ejb-name"/>
</xsd:keyref>
-
<xsd:key name="role-name-key">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- A role-name-key is specified to allow the references
- from the security-role-refs.
-
- </xsd:documentation>
+ A role-name-key is specified to allow the references
+ from the security-role-refs.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:assembly-descriptor/jakartaee:security-role"/>
- <xsd:field xpath="jakartaee:role-name"/>
+ <xsd:field xpath="jakartaee:role-name"/>
</xsd:key>
-
<xsd:keyref name="role-name-references"
- refer="jakartaee:role-name-key">
+ refer="jakartaee:role-name-key">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The keyref indicates the references from
- security-role-ref to a specified role-name.
-
- </xsd:documentation>
+ The keyref indicates the references from
+ security-role-ref to a specified role-name.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:enterprise-beans/*/jakartaee:security-role-ref"/>
- <xsd:field xpath="jakartaee:role-link"/>
+ <xsd:field xpath="jakartaee:role-link"/>
</xsd:keyref>
</xsd:element>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="access-timeoutType">
<xsd:annotation>
<xsd:documentation>
- The access-timeoutType represents the maximum amount of
- time (in a given time unit) that the container should wait for
- a concurrency lock before throwing a timeout exception to the
- client.
-
- A timeout value of 0 means concurrent access is not permitted.
-
- A timeout value of -1 means wait indefinitely to acquire a lock.
-
+ The access-timeoutType represents the maximum amount of
+ time (in a given time unit) that the container should wait for
+ a concurrency lock before throwing a timeout exception to the
+ client.
+
+ A timeout value of 0 means concurrent access is not permitted.
+
+ A timeout value of -1 means wait indefinitely to acquire a lock.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
<xsd:element name="timeout"
- type="jakartaee:xsdIntegerType"/>
+ type="jakartaee:xsdIntegerType"/>
<xsd:element name="unit"
- type="jakartaee:time-unit-typeType"/>
-
+ type="jakartaee:time-unit-typeType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="async-methodType">
<xsd:annotation>
<xsd:documentation>
- The async-methodType element specifies that a session
- bean method has asynchronous invocation semantics.
-
+ The async-methodType element specifies that a session
+ bean method has asynchronous invocation semantics.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
<xsd:element name="method-name"
- type="jakartaee:string"/>
+ type="jakartaee:string"/>
<xsd:element name="method-params"
- type="jakartaee:method-paramsType"
- minOccurs="0"/>
-
+ type="jakartaee:method-paramsType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
-
- <!-- **************************************************** -->
+<!-- **************************************************** -->
<xsd:complexType name="activation-configType">
<xsd:annotation>
<xsd:documentation>
- The activation-configType defines information about the
- expected configuration properties of the message-driven bean
- in its operational environment. This may include information
- about message acknowledgement, message selector, expected
- destination type, destination or connection factory lookup
+ The activation-configType defines information about the
+ expected configuration properties of the message-driven bean
+ in its operational environment. This may include information
+ about message acknowledgement, message selector, expected
+ destination type, destination or connection factory lookup
string, subscription name, etc.
-
- The configuration information is expressed in terms of
- name/value configuration properties.
-
- The properties that are recognized for a particular
- message-driven bean are determined by the messaging type.
-
+
+ The configuration information is expressed in terms of
+ name/value configuration properties.
+
+ The properties that are recognized for a particular
+ message-driven bean are determined by the messaging type.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="activation-config-property"
- type="jakartaee:activation-config-propertyType"
- maxOccurs="unbounded"/>
+ type="jakartaee:activation-config-propertyType"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="activation-config-propertyType">
<xsd:annotation>
<xsd:documentation>
- The activation-config-propertyType contains a name/value
- configuration property pair for a message-driven bean.
-
- The properties that are recognized for a particular
- message-driven bean are determined by the messaging type.
-
+ The activation-config-propertyType contains a name/value
+ configuration property pair for a message-driven bean.
+
+ The properties that are recognized for a particular
+ message-driven bean are determined by the messaging type.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="activation-config-property-name"
- type="jakartaee:xsdStringType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdStringType">
+ <xsd:annotation>
+ <xsd:documentation>
- The activation-config-property-name element contains
- the name for an activation configuration property of
- a message-driven bean.
-
- For Jakarta Messaging message-driven beans, the following property
- names are recognized: acknowledgeMode,
- messageSelector, destinationType, subscriptionDurability,
+ The activation-config-property-name element contains
+ the name for an activation configuration property of
+ a message-driven bean.
+
+ For Jakarta Messaging message-driven beans, the following property
+ names are recognized: acknowledgeMode,
+ messageSelector, destinationType, subscriptionDurability,
destinationLookup, connectionFactoryLookup, subscriptionName,
and clientId.
-
- </xsd:documentation>
- </xsd:annotation>
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="activation-config-property-value"
- type="jakartaee:xsdStringType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdStringType">
+ <xsd:annotation>
+ <xsd:documentation>
- The activation-config-property-value element
- contains the value for an activation configuration
- property of a message-driven bean.
-
- </xsd:documentation>
- </xsd:annotation>
+ The activation-config-property-value element
+ contains the value for an activation configuration
+ property of a message-driven bean.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="around-invokeType">
<xsd:annotation>
@@ -293,13 +292,13 @@
ejb invocation. Note that each class may have only one
around invoke method and that the method may not be
overloaded.
-
+
If the class element is missing then
the class defining the callback is assumed to be the
interceptor class or component class in scope at the
location in the descriptor in which the around invoke
definition appears.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -311,7 +310,8 @@
</xsd:sequence>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="around-timeoutType">
<xsd:annotation>
@@ -322,13 +322,13 @@
a timer timeout callback. Note that each class may have
only one around-timeout method and that the method may not
be overloaded.
-
+
If the class element is missing then
the class defining the callback is assumed to be the
interceptor class or component class in scope at the
location in the descriptor in which the around-timeout
definition appears.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -340,372 +340,378 @@
</xsd:sequence>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="assembly-descriptorType">
<xsd:annotation>
<xsd:documentation>
- The assembly-descriptorType defines
- application-assembly information.
-
- The application-assembly information consists of the
- following parts: the definition of security roles, the
- definition of method permissions, the definition of
- transaction attributes for enterprise beans with
- container-managed transaction demarcation, the definition
+ The assembly-descriptorType defines
+ application-assembly information.
+
+ The application-assembly information consists of the
+ following parts: the definition of security roles, the
+ definition of method permissions, the definition of
+ transaction attributes for enterprise beans with
+ container-managed transaction demarcation, the definition
of interceptor bindings, a list of
- methods to be excluded from being invoked, and a list of
+ methods to be excluded from being invoked, and a list of
exception types that should be treated as application exceptions.
-
- All the parts are optional in the sense that they are
- omitted if the lists represented by them are empty.
-
- Providing an assembly-descriptor in the deployment
- descriptor is optional for the ejb-jar file or .war file producer.
-
+
+ All the parts are optional in the sense that they are
+ omitted if the lists represented by them are empty.
+
+ Providing an assembly-descriptor in the deployment
+ descriptor is optional for the ejb-jar file or .war file producer.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="security-role"
- type="jakartaee:security-roleType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:security-roleType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="method-permission"
- type="jakartaee:method-permissionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:method-permissionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="container-transaction"
- type="jakartaee:container-transactionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:container-transactionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="interceptor-binding"
type="jakartaee:interceptor-bindingType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="message-destination"
- type="jakartaee:message-destinationType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:message-destinationType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="exclude-list"
- type="jakartaee:exclude-listType"
- minOccurs="0"/>
+ type="jakartaee:exclude-listType"
+ minOccurs="0"/>
<xsd:element name="application-exception"
type="jakartaee:application-exceptionType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="cmp-fieldType">
<xsd:annotation>
<xsd:documentation>
- The cmp-fieldType describes a container-managed field. The
- cmp-fieldType contains an optional description of the field,
- and the name of the field.
-
+ The cmp-fieldType describes a container-managed field. The
+ cmp-fieldType contains an optional description of the field,
+ and the name of the field.
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="field-name"
- type="jakartaee:java-identifierType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:java-identifierType">
+ <xsd:annotation>
+ <xsd:documentation>
- The field-name element specifies the name of a
- container managed field.
-
- The name of the cmp-field of an entity bean with
- cmp-version 2.x must begin with a lowercase
- letter. This field is accessed by methods whose
- names consists of the name of the field specified by
- field-name in which the first letter is uppercased,
- prefixed by "get" or "set".
-
- The name of the cmp-field of an entity bean with
- cmp-version 1.x must denote a public field of the
- enterprise bean class or one of its superclasses.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- </xsd:documentation>
- </xsd:annotation>
+ The field-name element specifies the name of a
+ container managed field.
+
+ The name of the cmp-field of an entity bean with
+ cmp-version 2.x must begin with a lowercase
+ letter. This field is accessed by methods whose
+ names consists of the name of the field specified by
+ field-name in which the first letter is uppercased,
+ prefixed by "get" or "set".
+
+ The name of the cmp-field of an entity bean with
+ cmp-version 1.x must denote a public field of the
+ enterprise bean class or one of its superclasses.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="cmp-versionType">
<xsd:annotation>
<xsd:documentation>
- The cmp-versionType specifies the version of an entity bean
- with container-managed persistence. It is used by
- cmp-version elements.
-
- The value must be one of the two following:
-
- 1.x
- 2.x
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
+ The cmp-versionType specifies the version of an entity bean
+ with container-managed persistence. It is used by
+ cmp-version elements.
+
+ The value must be one of the two following:
+
+ 1.x
+ 2.x
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="1.x"/>
- <xsd:enumeration value="2.x"/>
+ <xsd:enumeration value="1.x"/>
+ <xsd:enumeration value="2.x"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="cmr-fieldType">
<xsd:annotation>
<xsd:documentation>
- The cmr-fieldType describes the Bean Provider's view of
- a relationship. It consists of an optional description, and
- the name and the class type of a field in the source of a
- role of a relationship. The cmr-field-name element
- corresponds to the name used for the get and set accessor
- methods for the relationship. The cmr-field-type element is
- used only for collection-valued cmr-fields. It specifies the
- type of the collection that is used.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
+ The cmr-fieldType describes the Bean Provider's view of
+ a relationship. It consists of an optional description, and
+ the name and the class type of a field in the source of a
+ role of a relationship. The cmr-field-name element
+ corresponds to the name used for the get and set accessor
+ methods for the relationship. The cmr-field-type element is
+ used only for collection-valued cmr-fields. It specifies the
+ type of the collection that is used.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="cmr-field-name"
- type="jakartaee:string">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
- The cmr-field-name element specifies the name of a
- logical relationship field in the entity bean
- class. The name of the cmr-field must begin with a
- lowercase letter. This field is accessed by methods
- whose names consist of the name of the field
- specified by cmr-field-name in which the first
- letter is uppercased, prefixed by "get" or "set".
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- </xsd:documentation>
- </xsd:annotation>
+ The cmr-field-name element specifies the name of a
+ logical relationship field in the entity bean
+ class. The name of the cmr-field must begin with a
+ lowercase letter. This field is accessed by methods
+ whose names consist of the name of the field
+ specified by cmr-field-name in which the first
+ letter is uppercased, prefixed by "get" or "set".
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="cmr-field-type"
- type="jakartaee:cmr-field-typeType"
- minOccurs="0"/>
+ type="jakartaee:cmr-field-typeType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="cmr-field-typeType">
<xsd:annotation>
<xsd:documentation>
- The cmr-field-type element specifies the class of a
- collection-valued logical relationship field in the entity
- bean class. The value of an element using cmr-field-typeType
- must be either: java.util.Collection or java.util.Set.
-
+ The cmr-field-type element specifies the class of a
+ collection-valued logical relationship field in the entity
+ bean class. The value of an element using cmr-field-typeType
+ must be either: java.util.Collection or java.util.Set.
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="java.util.Collection"/>
- <xsd:enumeration value="java.util.Set"/>
+ <xsd:enumeration value="java.util.Collection"/>
+ <xsd:enumeration value="java.util.Set"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="concurrency-management-typeType">
<xsd:annotation>
<xsd:documentation>
- The concurrency-management-typeType specifies the way concurrency
- is managed for a singleton or stateful session bean.
-
- The concurrency management type must be one of the following:
-
- Bean
- Container
-
- Bean managed concurrency can only be specified for a singleton bean.
-
+ The concurrency-management-typeType specifies the way concurrency
+ is managed for a singleton or stateful session bean.
+
+ The concurrency management type must be one of the following:
+
+ Bean
+ Container
+
+ Bean managed concurrency can only be specified for a singleton bean.
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Bean"/>
- <xsd:enumeration value="Container"/>
+ <xsd:enumeration value="Bean"/>
+ <xsd:enumeration value="Container"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="concurrent-lock-typeType">
<xsd:annotation>
<xsd:documentation>
- The concurrent-lock-typeType specifies how the container must
- manage concurrent access to a method of a Singleton bean
- with container-managed concurrency.
-
- The container managed concurrency lock type must be one
- of the following :
-
- Read
- Write
-
+ The concurrent-lock-typeType specifies how the container must
+ manage concurrent access to a method of a Singleton bean
+ with container-managed concurrency.
+
+ The container managed concurrency lock type must be one
+ of the following :
+
+ Read
+ Write
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Read"/>
- <xsd:enumeration value="Write"/>
+ <xsd:enumeration value="Read"/>
+ <xsd:enumeration value="Write"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+<!-- **************************************************** -->
<xsd:complexType name="concurrent-methodType">
<xsd:annotation>
<xsd:documentation>
- The concurrent-methodType specifies information about a method
- of a bean with container managed concurrency.
-
- The optional lock element specifies the kind of concurrency
- lock asssociated with the method.
-
- The optional access-timeout element specifies the amount of
- time (in a given time unit) the container should wait for a
- concurrency lock before throwing an exception to the client.
-
+ The concurrent-methodType specifies information about a method
+ of a bean with container managed concurrency.
+
+ The optional lock element specifies the kind of concurrency
+ lock asssociated with the method.
+
+ The optional access-timeout element specifies the amount of
+ time (in a given time unit) the container should wait for a
+ concurrency lock before throwing an exception to the client.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
<xsd:element name="method"
- type="jakartaee:named-methodType"/>
+ type="jakartaee:named-methodType"/>
<xsd:element name="lock"
- type="jakartaee:concurrent-lock-typeType"
+ type="jakartaee:concurrent-lock-typeType"
minOccurs="0"/>
<xsd:element name="access-timeout"
- type="jakartaee:access-timeoutType"
- minOccurs="0"/>
-
+ type="jakartaee:access-timeoutType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="container-transactionType">
<xsd:annotation>
<xsd:documentation>
- The container-transactionType specifies how the container
- must manage transaction scopes for the enterprise bean's
- method invocations. It defines an optional description, a
- list of method elements, and a transaction attribute. The
- transaction attribute is to be applied to all the specified
- methods.
-
+ The container-transactionType specifies how the container
+ must manage transaction scopes for the enterprise bean's
+ method invocations. It defines an optional description, a
+ list of method elements, and a transaction attribute. The
+ transaction attribute is to be applied to all the specified
+ methods.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="method"
- type="jakartaee:methodType"
- maxOccurs="unbounded"/>
+ type="jakartaee:methodType"
+ maxOccurs="unbounded"/>
<xsd:element name="trans-attribute"
- type="jakartaee:trans-attributeType"/>
+ type="jakartaee:trans-attributeType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="depends-onType">
<xsd:annotation>
<xsd:documentation>
- The depends-onType is used to express initialization
- ordering dependencies between Singleton components.
- The depends-onType specifies the names of one or more
- Singleton beans in the same application as the referring
- Singleton, each of which must be initialized before
- the referring bean.
-
- Each dependent bean is expressed using ejb-link syntax.
- The order in which dependent beans are initialized at
- runtime is not guaranteed to match the order in which
- they are listed.
-
+ The depends-onType is used to express initialization
+ ordering dependencies between Singleton components.
+ The depends-onType specifies the names of one or more
+ Singleton beans in the same application as the referring
+ Singleton, each of which must be initialized before
+ the referring bean.
+
+ Each dependent bean is expressed using ejb-link syntax.
+ The order in which dependent beans are initialized at
+ runtime is not guaranteed to match the order in which
+ they are listed.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
<xsd:element name="ejb-name"
type="jakartaee:ejb-linkType"
- minOccurs="1"
+ minOccurs="1"
maxOccurs="unbounded"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-classType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The ejb-classType contains the fully-qualified name of the
- enterprise bean's class. It is used by ejb-class elements.
-
- Example:
-
- <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
-
- ]]>
+ <![CDATA[
+ The ejb-classType contains the fully-qualified name of the
+ enterprise bean's class. It is used by ejb-class elements.
+
+ Example:
+
+ <ejb-class>com.wombat.empl.EmployeeServiceBean</ejb-class>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -714,172 +720,170 @@
</xsd:complexType>
- <!-- **************************************************** -->
+<!-- **************************************************** -->
<xsd:complexType name="ejb-jarType">
<xsd:annotation>
<xsd:documentation>
- The ejb-jarType defines the root element of the Enterprise Beans
- deployment descriptor. It contains
-
- - an optional description of the ejb-jar file
- - an optional display name
- - an optional icon that contains a small and a large
- icon file name
- - an optional module name. Only applicable to
- stand-alone ejb-jars or ejb-jars packaged in an ear.
- Ignored if specified for an ejb-jar.xml within a .war file.
- In that case, standard .war file module-name rules apply.
- - structural information about all included
- enterprise beans that is not specified through
- annotations
- - structural information about interceptor classes
- - a descriptor for container managed relationships,
- if any.
- - an optional application-assembly descriptor
- - an optional name of an ejb-client-jar file for the
- ejb-jar.
-
+ The ejb-jarType defines the root element of the Enterprise Beans
+ deployment descriptor. It contains
+
+ - an optional description of the ejb-jar file
+ - an optional display name
+ - an optional icon that contains a small and a large
+ icon file name
+ - an optional module name. Only applicable to
+ stand-alone ejb-jars or ejb-jars packaged in an ear.
+ Ignored if specified for an ejb-jar.xml within a .war file.
+ In that case, standard .war file module-name rules apply.
+ - structural information about all included
+ enterprise beans that is not specified through
+ annotations
+ - structural information about interceptor classes
+ - a descriptor for container managed relationships,
+ if any.
+ - an optional application-assembly descriptor
+ - an optional name of an ejb-client-jar file for the
+ ejb-jar.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="module-name"
type="jakartaee:string"
- minOccurs="0"/>
+ minOccurs="0"/>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="enterprise-beans"
- type="jakartaee:enterprise-beansType"
+ type="jakartaee:enterprise-beansType"
minOccurs="0"/>
<xsd:element name="interceptors"
- type="jakartaee:interceptorsType"
+ type="jakartaee:interceptorsType"
minOccurs="0"/>
<xsd:element name="relationships"
- type="jakartaee:relationshipsType"
- minOccurs="0">
- <xsd:unique name="relationship-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:relationshipsType"
+ minOccurs="0">
+ <xsd:unique name="relationship-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-relation-name contains the name of a
- relation. The name must be unique within
- relationships.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:ejb-relation"/>
- <xsd:field xpath="jakartaee:ejb-relation-name"/>
- </xsd:unique>
+ The ejb-relation-name contains the name of a
+ relation. The name must be unique within
+ relationships.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:ejb-relation"/>
+ <xsd:field xpath="jakartaee:ejb-relation-name"/>
+ </xsd:unique>
</xsd:element>
<xsd:element name="assembly-descriptor"
- type="jakartaee:assembly-descriptorType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:assembly-descriptorType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- Providing an assembly-descriptor in the deployment
- descriptor is optional for the ejb-jar file or .war file
- producer.
-
- </xsd:documentation>
- </xsd:annotation>
+ Providing an assembly-descriptor in the deployment
+ descriptor is optional for the ejb-jar file or .war file
+ producer.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="ejb-client-jar"
- type="jakartaee:pathType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The optional ejb-client-jar element specifies a JAR
- file that contains the class files necessary for a
- client program to access the
- enterprise beans in the ejb-jar file.
-
- Example:
-
- <ejb-client-jar>employee_service_client.jar
- </ejb-client-jar>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:pathType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The optional ejb-client-jar element specifies a JAR
+ file that contains the class files necessary for a
+ client program to access the
+ enterprise beans in the ejb-jar file.
+
+ Example:
+
+ <ejb-client-jar>employee_service_client.jar
+ </ejb-client-jar>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="version"
- type="jakartaee:dewey-versionType"
- fixed="4.0"
- use="required">
+ type="jakartaee:dewey-versionType"
+ fixed="4.0"
+ use="required">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The version specifies the version of the
- Enterprise Beans specification that the instance document must
- comply with. This information enables deployment tools
- to validate a particular Enterprise Beans Deployment
- Descriptor with respect to a specific version of the Enterprise Beans
- schema.
-
- </xsd:documentation>
+ The version specifies the version of the
+ Enterprise Beans specification that the instance document must
+ comply with. This information enables deployment tools
+ to validate a particular Enterprise Beans Deployment
+ Descriptor with respect to a specific version of the Enterprise Beans
+ schema.
+
+ </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
- <xsd:attribute name="metadata-complete" type="xsd:boolean">
+ <xsd:attribute name="metadata-complete"
+ type="xsd:boolean">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The metadata-complete attribute defines whether this
- deployment descriptor and other related deployment
- descriptors for this module (e.g., web service
- descriptors) are complete, or whether the class
- files available to this module and packaged with
- this application should be examined for annotations
- that specify deployment information.
-
- If metadata-complete is set to "true", the deployment
- tool must ignore any annotations that specify deployment
- information, which might be present in the class files
- of the application.
-
- If metadata-complete is not specified or is set to
- "false", the deployment tool must examine the class
- files of the application for annotations, as
- specified by the specifications.
-
- </xsd:documentation>
+ The metadata-complete attribute defines whether this
+ deployment descriptor and other related deployment
+ descriptors for this module (e.g., web service
+ descriptors) are complete, or whether the class
+ files available to this module and packaged with
+ this application should be examined for annotations
+ that specify deployment information.
+
+ If metadata-complete is set to "true", the deployment
+ tool must ignore any annotations that specify deployment
+ information, which might be present in the class files
+ of the application.
+
+ If metadata-complete is not specified or is set to
+ "false", the deployment tool must examine the class
+ files of the application for annotations, as
+ specified by the specifications.
+
+ </xsd:documentation>
</xsd:annotation>
-
</xsd:attribute>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-nameType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The ejb-nameType specifies an enterprise bean's name. It is
- used by ejb-name elements. This name is assigned by the
- file producer to name the enterprise bean in the
- ejb-jar file or .war file's deployment descriptor. The name must be
- unique among the names of the enterprise beans in the same
- ejb-jar file or .war file.
-
- There is no architected relationship between the used
- ejb-name in the deployment descriptor and the JNDI name that
- the Deployer will assign to the enterprise bean's home.
-
- The name for an entity bean must conform to the lexical
- rules for an NMTOKEN.
-
- Example:
-
- <ejb-name>EmployeeService</ejb-name>
-
- ]]>
+ <![CDATA[
+ The ejb-nameType specifies an enterprise bean's name. It is
+ used by ejb-name elements. This name is assigned by the
+ file producer to name the enterprise bean in the
+ ejb-jar file or .war file's deployment descriptor. The name must be
+ unique among the names of the enterprise beans in the same
+ ejb-jar file or .war file.
+
+ There is no architected relationship between the used
+ ejb-name in the deployment descriptor and the JNDI name that
+ the Deployer will assign to the enterprise bean's home.
+
+ The name for an entity bean must conform to the lexical
+ rules for an NMTOKEN.
+
+ Example:
+
+ <ejb-name>EmployeeService</ejb-name>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -887,730 +891,718 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-relationType">
<xsd:annotation>
<xsd:documentation>
- The ejb-relationType describes a relationship between two
- entity beans with container-managed persistence. It is used
- by ejb-relation elements. It contains a description; an
- optional ejb-relation-name element; and exactly two
- relationship role declarations, defined by the
- ejb-relationship-role elements. The name of the
- relationship, if specified, is unique within the ejb-jar
- file.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
+ The ejb-relationType describes a relationship between two
+ entity beans with container-managed persistence. It is used
+ by ejb-relation elements. It contains a description; an
+ optional ejb-relation-name element; and exactly two
+ relationship role declarations, defined by the
+ ejb-relationship-role elements. The name of the
+ relationship, if specified, is unique within the ejb-jar
+ file.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-relation-name"
- type="jakartaee:string"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-relation-name element provides a unique name
- within the ejb-jar file for a relationship.
-
- </xsd:documentation>
- </xsd:annotation>
+ The ejb-relation-name element provides a unique name
+ within the ejb-jar file for a relationship.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="ejb-relationship-role"
- type="jakartaee:ejb-relationship-roleType"
- minOccurs="2"
- maxOccurs="2"/>
+ type="jakartaee:ejb-relationship-roleType"
+ minOccurs="2"
+ maxOccurs="2"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-relationship-roleType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The ejb-relationship-roleType describes a role within a
- relationship. There are two roles in each relationship.
-
- The ejb-relationship-roleType contains an optional
- description; an optional name for the relationship role; a
- specification of the multiplicity of the role; an optional
- specification of cascade-delete functionality for the role;
- the role source; and a declaration of the cmr-field, if any,
- by means of which the other side of the relationship is
- accessed from the perspective of the role source.
-
- The multiplicity and role-source element are mandatory.
-
- The relationship-role-source element designates an entity
- bean by means of an ejb-name element. For bidirectional
- relationships, both roles of a relationship must declare a
- relationship-role-source element that specifies a cmr-field
- in terms of which the relationship is accessed. The lack of
- a cmr-field element in an ejb-relationship-role specifies
- that the relationship is unidirectional in navigability and
- the entity bean that participates in the relationship is
- "not aware" of the relationship.
-
- Example:
-
- <ejb-relation>
- <ejb-relation-name>Product-LineItem</ejb-relation-name>
- <ejb-relationship-role>
- <ejb-relationship-role-name>product-has-lineitems
- </ejb-relationship-role-name>
- <multiplicity>One</multiplicity>
- <relationship-role-source>
- <ejb-name>ProductEJB</ejb-name>
- </relationship-role-source>
- </ejb-relationship-role>
- </ejb-relation>
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- ]]>
+ <![CDATA[
+ The ejb-relationship-roleType describes a role within a
+ relationship. There are two roles in each relationship.
+
+ The ejb-relationship-roleType contains an optional
+ description; an optional name for the relationship role; a
+ specification of the multiplicity of the role; an optional
+ specification of cascade-delete functionality for the role;
+ the role source; and a declaration of the cmr-field, if any,
+ by means of which the other side of the relationship is
+ accessed from the perspective of the role source.
+
+ The multiplicity and role-source element are mandatory.
+
+ The relationship-role-source element designates an entity
+ bean by means of an ejb-name element. For bidirectional
+ relationships, both roles of a relationship must declare a
+ relationship-role-source element that specifies a cmr-field
+ in terms of which the relationship is accessed. The lack of
+ a cmr-field element in an ejb-relationship-role specifies
+ that the relationship is unidirectional in navigability and
+ the entity bean that participates in the relationship is
+ "not aware" of the relationship.
+
+ Example:
+
+ <ejb-relation>
+ <ejb-relation-name>Product-LineItem</ejb-relation-name>
+ <ejb-relationship-role>
+ <ejb-relationship-role-name>product-has-lineitems
+ </ejb-relationship-role-name>
+ <multiplicity>One</multiplicity>
+ <relationship-role-source>
+ <ejb-name>ProductEJB</ejb-name>
+ </relationship-role-source>
+ </ejb-relationship-role>
+ </ejb-relation>
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-relationship-role-name"
- type="jakartaee:string"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-relationship-role-name element defines a
- name for a role that is unique within an
- ejb-relation. Different relationships can use the
- same name for a role.
-
- </xsd:documentation>
- </xsd:annotation>
+ The ejb-relationship-role-name element defines a
+ name for a role that is unique within an
+ ejb-relation. Different relationships can use the
+ same name for a role.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="multiplicity"
- type="jakartaee:multiplicityType"/>
+ type="jakartaee:multiplicityType"/>
<xsd:element name="cascade-delete"
- type="jakartaee:emptyType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:emptyType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The cascade-delete element specifies that, within a
- particular relationship, the lifetime of one or more
- entity beans is dependent upon the lifetime of
- another entity bean. The cascade-delete element can
- only be specified for an ejb-relationship-role
- element contained in an ejb-relation element in
- which the other ejb-relationship-role
- element specifies a multiplicity of One.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- </xsd:documentation>
- </xsd:annotation>
+ The cascade-delete element specifies that, within a
+ particular relationship, the lifetime of one or more
+ entity beans is dependent upon the lifetime of
+ another entity bean. The cascade-delete element can
+ only be specified for an ejb-relationship-role
+ element contained in an ejb-relation element in
+ which the other ejb-relationship-role
+ element specifies a multiplicity of One.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="relationship-role-source"
- type="jakartaee:relationship-role-sourceType"/>
+ type="jakartaee:relationship-role-sourceType"/>
<xsd:element name="cmr-field"
- type="jakartaee:cmr-fieldType"
- minOccurs="0"/>
+ type="jakartaee:cmr-fieldType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="enterprise-beansType">
<xsd:annotation>
<xsd:documentation>
- The enterprise-beansType declares one or more enterprise
- beans. Each bean can be a session, entity or message-driven
- bean.
-
+ The enterprise-beansType declares one or more enterprise
+ beans. Each bean can be a session, entity or message-driven
+ bean.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:choice maxOccurs="unbounded">
<xsd:element name="session"
- type="jakartaee:session-beanType">
- <xsd:unique name="session-ejb-local-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:session-beanType">
+ <xsd:unique name="session-ejb-local-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-ref-name element contains the name of
- an enterprise bean reference. The enterprise bean reference is an entry in
- the component's environment and is relative to the
- java:comp/env context. The name must be unique within
- the component.
+ The ejb-ref-name element contains the name of
+ an enterprise bean reference. The enterprise bean reference is an entry in
+ the component's environment and is relative to the
+ java:comp/env context. The name must be unique within
+ the component.
+
+ It is recommended that name be prefixed with "ejb/".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:ejb-local-ref"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-ejb-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- It is recommended that name be prefixed with "ejb/".
+ The ejb-ref-name element contains the name of an enterprise bean
+ reference. The enterprise bean reference is an entry in the
+ component's environment and is relative to the
+ java:comp/env context. The name must be unique
+ within the component.
+
+ It is recommended that name is prefixed with "ejb/".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:ejb-ref"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-resource-env-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:ejb-local-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
- </xsd:unique>
+ The resource-env-ref-name element specifies the name
+ of a resource environment reference; its value is
+ the environment entry name used in the component
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:resource-env-ref"/>
+ <xsd:field xpath="jakartaee:resource-env-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-message-destination-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- <xsd:unique name="session-ejb-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ The message-destination-ref-name element specifies the name
+ of a message destination reference; its value is
+ the message destination reference name used in the component
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:message-destination-ref"/>
+ <xsd:field xpath="jakartaee:message-destination-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-res-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-ref-name element contains the name of an enterprise bean
- reference. The enterprise bean reference is an entry in the
- component's environment and is relative to the
- java:comp/env context. The name must be unique
- within the component.
+ The res-ref-name element specifies the name of a
+ resource manager connection factory reference. The name
+ is a JNDI name relative to the java:comp/env context.
+ The name must be unique within an component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:resource-ref"/>
+ <xsd:field xpath="jakartaee:res-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="session-env-entry-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- It is recommended that name is prefixed with "ejb/".
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:ejb-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="session-resource-env-ref-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The resource-env-ref-name element specifies the name
- of a resource environment reference; its value is
- the environment entry name used in the component
- code. The name is a JNDI name relative to the
- java:comp/env context and must be unique within an
- component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:resource-env-ref"/>
- <xsd:field xpath="jakartaee:resource-env-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="session-message-destination-ref-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The message-destination-ref-name element specifies the name
- of a message destination reference; its value is
- the message destination reference name used in the component
- code. The name is a JNDI name relative to the
- java:comp/env context and must be unique within an
- component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:message-destination-ref"/>
- <xsd:field xpath="jakartaee:message-destination-ref-name"/>
- </xsd:unique>
-
-
- <xsd:unique name="session-res-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The res-ref-name element specifies the name of a
- resource manager connection factory reference. The name
- is a JNDI name relative to the java:comp/env context.
- The name must be unique within an component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:resource-ref"/>
- <xsd:field xpath="jakartaee:res-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="session-env-entry-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The env-entry-name element contains the name of a
- component's environment entry. The name is a JNDI
- name relative to the java:comp/env context. The
- name must be unique within an component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:env-entry"/>
- <xsd:field xpath="jakartaee:env-entry-name"/>
- </xsd:unique>
+ The env-entry-name element contains the name of a
+ component's environment entry. The name is a JNDI
+ name relative to the java:comp/env context. The
+ name must be unique within an component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:env-entry"/>
+ <xsd:field xpath="jakartaee:env-entry-name"/>
+ </xsd:unique>
</xsd:element>
-
<xsd:element name="entity"
- type="jakartaee:entity-beanType">
- <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:entity-beanType">
+ <xsd:unique name="entity-ejb-local-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-ref-name element contains the name of
- an enterprise bean reference. The enterprise bean reference is an entry in
- the component's environment and is relative to the
- java:comp/env context. The name must be unique within
- the component.
+ The ejb-ref-name element contains the name of
+ an enterprise bean reference. The enterprise bean reference is an entry in
+ the component's environment and is relative to the
+ java:comp/env context. The name must be unique within
+ the component.
+
+ It is recommended that name be prefixed with "ejb/".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:ejb-local-ref"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-ejb-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- It is recommended that name be prefixed with "ejb/".
+ The ejb-ref-name element contains the name of an enterprise bean
+ reference. The enterprise bean reference is an entry in the
+ component's environment and is relative to the
+ java:comp/env context. The name must be unique
+ within the component.
+
+ It is recommended that name is prefixed with "ejb/".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:ejb-ref"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-resource-env-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:ejb-local-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
- </xsd:unique>
+ The resource-env-ref-name element specifies the name
+ of a resource environment reference; its value is
+ the environment entry name used in the component
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:resource-env-ref"/>
+ <xsd:field xpath="jakartaee:resource-env-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-message-destination-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- <xsd:unique name="entity-ejb-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ The message-destination-ref-name element specifies the name
+ of a message destination reference; its value is
+ the message destination reference name used in the component
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:message-destination-ref"/>
+ <xsd:field xpath="jakartaee:message-destination-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-res-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-ref-name element contains the name of an enterprise bean
- reference. The enterprise bean reference is an entry in the
- component's environment and is relative to the
- java:comp/env context. The name must be unique
- within the component.
+ The res-ref-name element specifies the name of a
+ resource manager connection factory reference. The name
+ is a JNDI name relative to the java:comp/env context.
+ The name must be unique within an component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:resource-ref"/>
+ <xsd:field xpath="jakartaee:res-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="entity-env-entry-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- It is recommended that name is prefixed with "ejb/".
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:ejb-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="entity-resource-env-ref-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The resource-env-ref-name element specifies the name
- of a resource environment reference; its value is
- the environment entry name used in the component
- code. The name is a JNDI name relative to the
- java:comp/env context and must be unique within an
- component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:resource-env-ref"/>
- <xsd:field xpath="jakartaee:resource-env-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="entity-message-destination-ref-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The message-destination-ref-name element specifies the name
- of a message destination reference; its value is
- the message destination reference name used in the component
- code. The name is a JNDI name relative to the
- java:comp/env context and must be unique within an
- component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:message-destination-ref"/>
- <xsd:field xpath="jakartaee:message-destination-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="entity-res-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The res-ref-name element specifies the name of a
- resource manager connection factory reference. The name
- is a JNDI name relative to the java:comp/env context.
- The name must be unique within an component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:resource-ref"/>
- <xsd:field xpath="jakartaee:res-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="entity-env-entry-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The env-entry-name element contains the name of a
- component's environment entry. The name is a JNDI
- name relative to the java:comp/env context. The
- name must be unique within an component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:env-entry"/>
- <xsd:field xpath="jakartaee:env-entry-name"/>
- </xsd:unique>
+ The env-entry-name element contains the name of a
+ component's environment entry. The name is a JNDI
+ name relative to the java:comp/env context. The
+ name must be unique within an component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:env-entry"/>
+ <xsd:field xpath="jakartaee:env-entry-name"/>
+ </xsd:unique>
</xsd:element>
-
<xsd:element name="message-driven"
- type="jakartaee:message-driven-beanType">
- <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:message-driven-beanType">
+ <xsd:unique name="messaged-ejb-local-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-ref-name element contains the name of
- an enterprise bean reference. The enterprise bean reference is an entry in
- the component's environment and is relative to the
- java:comp/env context. The name must be unique within
- the component.
+ The ejb-ref-name element contains the name of
+ an enterprise bean reference. The enterprise bean reference is an entry in
+ the component's environment and is relative to the
+ java:comp/env context. The name must be unique within
+ the component.
+
+ It is recommended that name be prefixed with "ejb/".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:ejb-local-ref"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-ejb-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- It is recommended that name be prefixed with "ejb/".
+ The ejb-ref-name element contains the name of an enterprise bean
+ reference. The enterprise bean reference is an entry in the
+ component's environment and is relative to the
+ java:comp/env context. The name must be unique
+ within the component.
+
+ It is recommended that name is prefixed with "ejb/".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:ejb-ref"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-resource-env-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:ejb-local-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
- </xsd:unique>
+ The resource-env-ref-name element specifies the name
+ of a resource environment reference; its value is
+ the environment entry name used in the component
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:resource-env-ref"/>
+ <xsd:field xpath="jakartaee:resource-env-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-message-destination-ref-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- <xsd:unique name="messaged-ejb-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
+ The message-destination-ref-name element specifies the name
+ of a message destination reference; its value is
+ the message destination reference name used in the component
+ code. The name is a JNDI name relative to the
+ java:comp/env context and must be unique within an
+ component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:message-destination-ref"/>
+ <xsd:field xpath="jakartaee:message-destination-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-res-ref-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- The ejb-ref-name element contains the name of an enterprise bean
- reference. The enterprise bean reference is an entry in the
- component's environment and is relative to the
- java:comp/env context. The name must be unique
- within the component.
+ The res-ref-name element specifies the name of a
+ resource manager connection factory reference. The name
+ is a JNDI name relative to the java:comp/env context.
+ The name must be unique within an component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:resource-ref"/>
+ <xsd:field xpath="jakartaee:res-ref-name"/>
+ </xsd:unique>
+ <xsd:unique name="messaged-env-entry-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- It is recommended that name is prefixed with "ejb/".
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:ejb-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="messaged-resource-env-ref-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The resource-env-ref-name element specifies the name
- of a resource environment reference; its value is
- the environment entry name used in the component
- code. The name is a JNDI name relative to the
- java:comp/env context and must be unique within an
- component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:resource-env-ref"/>
- <xsd:field xpath="jakartaee:resource-env-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="messaged-message-destination-ref-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The message-destination-ref-name element specifies the name
- of a message destination reference; its value is
- the message destination reference name used in the component
- code. The name is a JNDI name relative to the
- java:comp/env context and must be unique within an
- component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:message-destination-ref"/>
- <xsd:field xpath="jakartaee:message-destination-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="messaged-res-ref-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The res-ref-name element specifies the name of a
- resource manager connection factory reference. The name
- is a JNDI name relative to the java:comp/env context.
- The name must be unique within an component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:resource-ref"/>
- <xsd:field xpath="jakartaee:res-ref-name"/>
- </xsd:unique>
-
- <xsd:unique name="messaged-env-entry-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The env-entry-name element contains the name of a
- component's environment entry. The name is a JNDI
- name relative to the java:comp/env context. The
- name must be unique within an component.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:env-entry"/>
- <xsd:field xpath="jakartaee:env-entry-name"/>
- </xsd:unique>
+ The env-entry-name element contains the name of a
+ component's environment entry. The name is a JNDI
+ name relative to the java:comp/env context. The
+ name must be unique within an component.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:env-entry"/>
+ <xsd:field xpath="jakartaee:env-entry-name"/>
+ </xsd:unique>
</xsd:element>
-
</xsd:choice>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="entity-beanType">
<xsd:annotation>
<xsd:documentation>
Support for entity beans is optional as of Enterprise Beans 3.2.
-
- The entity-beanType declares an entity bean. The declaration
- consists of:
-
- - an optional description
- - an optional display name
- - an optional icon element that contains a small and a large
- icon file name
- - a unique name assigned to the enterprise bean
- in the deployment descriptor
- - an optional mapped-name element that can be used to provide
- vendor-specific deployment information such as the physical
- jndi-name of the entity bean's remote home interface. This
- element is not required to be supported by all implementations.
- Any use of this element is non-portable.
- - the names of the entity bean's remote home
- and remote interfaces, if any
- - the names of the entity bean's local home and local
- interfaces, if any
- - the entity bean's implementation class
- - the optional entity bean's persistence management type. If
- this element is not specified it is defaulted to Container.
- - the entity bean's primary key class name
- - an indication of the entity bean's reentrancy
- - an optional specification of the
- entity bean's cmp-version
- - an optional specification of the entity bean's
- abstract schema name
- - an optional list of container-managed fields
- - an optional specification of the primary key
- field
- - an optional declaration of the bean's environment
- entries
- - an optional declaration of the bean's enterprise bean
- references
- - an optional declaration of the bean's local enterprise bean
- references
- - an optional declaration of the bean's web
- service references
- - an optional declaration of the security role
- references
- - an optional declaration of the security identity
- to be used for the execution of the bean's methods
- - an optional declaration of the bean's
- resource manager connection factory references
- - an optional declaration of the bean's
- resource environment references
- - an optional declaration of the bean's message
- destination references
- - an optional set of query declarations
- for finder and select methods for an entity
- bean with cmp-version 2.x.
-
- The optional abstract-schema-name element must be specified
- for an entity bean with container-managed persistence and
- cmp-version 2.x.
-
- The optional primkey-field may be present in the descriptor
- if the entity's persistence-type is Container.
-
- The optional cmp-version element may be present in the
- descriptor if the entity's persistence-type is Container. If
- the persistence-type is Container and the cmp-version
- element is not specified, its value defaults to 2.x.
-
- The optional home and remote elements must be specified if
- the entity bean cmp-version is 1.x.
-
- The optional home and remote elements must be specified if
- the entity bean has a remote home and remote interface.
-
- The optional local-home and local elements must be specified
- if the entity bean has a local home and local interface.
-
- Either both the local-home and the local elements or both
- the home and the remote elements must be specified.
-
- The optional query elements must be present if the
- persistence-type is Container and the cmp-version is 2.x and
- query methods other than findByPrimaryKey have been defined
- for the entity bean.
-
- The other elements that are optional are "optional" in the
- sense that they are omitted if the lists represented by them
- are empty.
-
- At least one cmp-field element must be present in the
- descriptor if the entity's persistence-type is Container and
- the cmp-version is 1.x, and none must not be present if the
- entity's persistence-type is Bean.
-
+
+ The entity-beanType declares an entity bean. The declaration
+ consists of:
+
+ - an optional description
+ - an optional display name
+ - an optional icon element that contains a small and a large
+ icon file name
+ - a unique name assigned to the enterprise bean
+ in the deployment descriptor
+ - an optional mapped-name element that can be used to provide
+ vendor-specific deployment information such as the physical
+ jndi-name of the entity bean's remote home interface. This
+ element is not required to be supported by all implementations.
+ Any use of this element is non-portable.
+ - the names of the entity bean's remote home
+ and remote interfaces, if any
+ - the names of the entity bean's local home and local
+ interfaces, if any
+ - the entity bean's implementation class
+ - the optional entity bean's persistence management type. If
+ this element is not specified it is defaulted to Container.
+ - the entity bean's primary key class name
+ - an indication of the entity bean's reentrancy
+ - an optional specification of the
+ entity bean's cmp-version
+ - an optional specification of the entity bean's
+ abstract schema name
+ - an optional list of container-managed fields
+ - an optional specification of the primary key
+ field
+ - an optional declaration of the bean's environment
+ entries
+ - an optional declaration of the bean's enterprise bean
+ references
+ - an optional declaration of the bean's local enterprise bean
+ references
+ - an optional declaration of the bean's web
+ service references
+ - an optional declaration of the security role
+ references
+ - an optional declaration of the security identity
+ to be used for the execution of the bean's methods
+ - an optional declaration of the bean's
+ resource manager connection factory references
+ - an optional declaration of the bean's
+ resource environment references
+ - an optional declaration of the bean's message
+ destination references
+ - an optional set of query declarations
+ for finder and select methods for an entity
+ bean with cmp-version 2.x.
+
+ The optional abstract-schema-name element must be specified
+ for an entity bean with container-managed persistence and
+ cmp-version 2.x.
+
+ The optional primkey-field may be present in the descriptor
+ if the entity's persistence-type is Container.
+
+ The optional cmp-version element may be present in the
+ descriptor if the entity's persistence-type is Container. If
+ the persistence-type is Container and the cmp-version
+ element is not specified, its value defaults to 2.x.
+
+ The optional home and remote elements must be specified if
+ the entity bean cmp-version is 1.x.
+
+ The optional home and remote elements must be specified if
+ the entity bean has a remote home and remote interface.
+
+ The optional local-home and local elements must be specified
+ if the entity bean has a local home and local interface.
+
+ Either both the local-home and the local elements or both
+ the home and the remote elements must be specified.
+
+ The optional query elements must be present if the
+ persistence-type is Container and the cmp-version is 2.x and
+ query methods other than findByPrimaryKey have been defined
+ for the entity bean.
+
+ The other elements that are optional are "optional" in the
+ sense that they are omitted if the lists represented by them
+ are empty.
+
+ At least one cmp-field element must be present in the
+ descriptor if the entity's persistence-type is Container and
+ the cmp-version is 1.x, and none must not be present if the
+ entity's persistence-type is Bean.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="ejb-name"
- type="jakartaee:ejb-nameType"/>
+ type="jakartaee:ejb-nameType"/>
<xsd:element name="mapped-name"
- type="jakartaee:xsdStringType"
- minOccurs="0"/>
+ type="jakartaee:xsdStringType"
+ minOccurs="0"/>
<xsd:element name="home"
- type="jakartaee:homeType"
- minOccurs="0"/>
+ type="jakartaee:homeType"
+ minOccurs="0"/>
<xsd:element name="remote"
- type="jakartaee:remoteType"
- minOccurs="0"/>
+ type="jakartaee:remoteType"
+ minOccurs="0"/>
<xsd:element name="local-home"
- type="jakartaee:local-homeType"
- minOccurs="0"/>
+ type="jakartaee:local-homeType"
+ minOccurs="0"/>
<xsd:element name="local"
- type="jakartaee:localType"
- minOccurs="0"/>
+ type="jakartaee:localType"
+ minOccurs="0"/>
<xsd:element name="ejb-class"
- type="jakartaee:ejb-classType"/>
+ type="jakartaee:ejb-classType"/>
<xsd:element name="persistence-type"
- type="jakartaee:persistence-typeType"/>
+ type="jakartaee:persistence-typeType"/>
<xsd:element name="prim-key-class"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
- The prim-key-class element contains the
- fully-qualified name of an
- entity bean's primary key class.
-
- If the definition of the primary key class is
- deferred to deployment time, the prim-key-class
- element should specify java.lang.Object.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- </xsd:documentation>
- </xsd:annotation>
+ The prim-key-class element contains the
+ fully-qualified name of an
+ entity bean's primary key class.
+
+ If the definition of the primary key class is
+ deferred to deployment time, the prim-key-class
+ element should specify java.lang.Object.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="reentrant"
- type="jakartaee:true-falseType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:true-falseType">
+ <xsd:annotation>
+ <xsd:documentation>
- The reentrant element specifies whether an entity
- bean is reentrant or not.
-
- The reentrant element must be one of the two
- following: true or false
-
- </xsd:documentation>
- </xsd:annotation>
+ The reentrant element specifies whether an entity
+ bean is reentrant or not.
+
+ The reentrant element must be one of the two
+ following: true or false
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="cmp-version"
- type="jakartaee:cmp-versionType"
- minOccurs="0"/>
+ type="jakartaee:cmp-versionType"
+ minOccurs="0"/>
<xsd:element name="abstract-schema-name"
- type="jakartaee:java-identifierType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:java-identifierType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The abstract-schema-name element specifies the name
- of the abstract schema type of an entity bean with
- cmp-version 2.x. It is used in Enterprise Beans QL queries.
-
- For example, the abstract-schema-name for an entity
- bean whose local interface is
- com.acme.commerce.Order might be Order.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- </xsd:documentation>
- </xsd:annotation>
+ The abstract-schema-name element specifies the name
+ of the abstract schema type of an entity bean with
+ cmp-version 2.x. It is used in Enterprise Beans QL queries.
+
+ For example, the abstract-schema-name for an entity
+ bean whose local interface is
+ com.acme.commerce.Order might be Order.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="cmp-field"
- type="jakartaee:cmp-fieldType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:cmp-fieldType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="primkey-field"
- type="jakartaee:string"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The primkey-field element is used to specify the
- name of the primary key field for an entity with
- container-managed persistence.
-
- The primkey-field must be one of the fields declared
- in the cmp-field element, and the type of the field
- must be the same as the primary key type.
-
- The primkey-field element is not used if the primary
- key maps to multiple container-managed fields
- (i.e. the key is a compound key). In this case, the
- fields of the primary key class must be public, and
- their names must correspond to the field names of
- the entity bean class that comprise the key.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- </xsd:documentation>
- </xsd:annotation>
+ The primkey-field element is used to specify the
+ name of the primary key field for an entity with
+ container-managed persistence.
+
+ The primkey-field must be one of the fields declared
+ in the cmp-field element, and the type of the field
+ must be the same as the primary key type.
+
+ The primkey-field element is not used if the primary
+ key maps to multiple container-managed fields
+ (i.e. the key is a compound key). In this case, the
+ fields of the primary key class must be public, and
+ their names must correspond to the field names of
+ the entity bean class that comprise the key.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:group ref="jakartaee:jndiEnvironmentRefsGroup"/>
<xsd:element name="security-role-ref"
- type="jakartaee:security-role-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:security-role-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="security-identity"
- type="jakartaee:security-identityType"
- minOccurs="0"/>
+ type="jakartaee:security-identityType"
+ minOccurs="0"/>
<xsd:element name="query"
- type="jakartaee:queryType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:queryType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="exclude-listType">
<xsd:annotation>
<xsd:documentation>
- The exclude-listType specifies one or more methods which
- the Assembler marks to be uncallable.
-
- If the method permission relation contains methods that are
- in the exclude list, the Deployer should consider those
- methods to be uncallable.
-
+ The exclude-listType specifies one or more methods which
+ the Assembler marks to be uncallable.
+
+ If the method permission relation contains methods that are
+ in the exclude list, the Deployer should consider those
+ methods to be uncallable.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="method"
- type="jakartaee:methodType"
- maxOccurs="unbounded"/>
+ type="jakartaee:methodType"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="application-exceptionType">
<xsd:annotation>
@@ -1619,40 +1611,42 @@
The application-exceptionType declares an application
exception. The declaration consists of:
- - the exception class. When the container receives
- an exception of this type, it is required to
- forward this exception as an applcation exception
- to the client regardless of whether it is a checked
- or unchecked exception.
- - an optional rollback element. If this element is
- set to true, the container must rollback the current
- transaction before forwarding the exception to the
- client. If not specified, it defaults to false.
- - an optional inherited element. If this element is
- set to true, subclasses of the exception class type
- are also automatically considered application
- exceptions (unless overriden at a lower level).
- If set to false, only the exception class type is
- considered an application-exception, not its
- exception subclasses. If not specified, this
- value defaults to true.
-
+ - the exception class. When the container receives
+ an exception of this type, it is required to
+ forward this exception as an applcation exception
+ to the client regardless of whether it is a checked
+ or unchecked exception.
+ - an optional rollback element. If this element is
+ set to true, the container must rollback the current
+ transaction before forwarding the exception to the
+ client. If not specified, it defaults to false.
+ - an optional inherited element. If this element is
+ set to true, subclasses of the exception class type
+ are also automatically considered application
+ exceptions (unless overriden at a lower level).
+ If set to false, only the exception class type is
+ considered an application-exception, not its
+ exception subclasses. If not specified, this
+ value defaults to true.
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="exception-class"
- type="jakartaee:fully-qualified-classType"/>
- <xsd:element name="rollback"
+ type="jakartaee:fully-qualified-classType"/>
+ <xsd:element name="rollback"
type="jakartaee:true-falseType"
minOccurs="0"/>
- <xsd:element name="inherited"
+ <xsd:element name="inherited"
type="jakartaee:true-falseType"
minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="interceptorsType">
<xsd:annotation>
@@ -1662,24 +1656,26 @@
classes used by components within this ejb-jar file or .war file. The declaration
consists of :
- - An optional description.
- - One or more interceptor elements.
-
+ - An optional description.
+ - One or more interceptor elements.
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="interceptor"
- type="jakartaee:interceptorType"
- maxOccurs="unbounded"/>
+ type="jakartaee:interceptorType"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="interceptorType">
<xsd:annotation>
@@ -1688,733 +1684,738 @@
The interceptorType element declares information about a single
interceptor class. It consists of :
- - An optional description.
- - The fully-qualified name of the interceptor class.
- - An optional list of around invoke methods declared on the
- interceptor class and/or its super-classes.
- - An optional list of around timeout methods declared on the
- interceptor class and/or its super-classes.
- - An optional list environment dependencies for the interceptor
- class and/or its super-classes.
- - An optional list of post-activate methods declared on the
- interceptor class and/or its super-classes.
- - An optional list of pre-passivate methods declared on the
- interceptor class and/or its super-classes.
-
+ - An optional description.
+ - The fully-qualified name of the interceptor class.
+ - An optional list of around invoke methods declared on the
+ interceptor class and/or its super-classes.
+ - An optional list of around timeout methods declared on the
+ interceptor class and/or its super-classes.
+ - An optional list environment dependencies for the interceptor
+ class and/or its super-classes.
+ - An optional list of post-activate methods declared on the
+ interceptor class and/or its super-classes.
+ - An optional list of pre-passivate methods declared on the
+ interceptor class and/or its super-classes.
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="interceptor-class"
- type="jakartaee:fully-qualified-classType"/>
- <xsd:element name="around-invoke"
- type="jakartaee:around-invokeType"
+ type="jakartaee:fully-qualified-classType"/>
+ <xsd:element name="around-invoke"
+ type="jakartaee:around-invokeType"
minOccurs="0"
maxOccurs="unbounded"/>
- <xsd:element name="around-timeout"
- type="jakartaee:around-timeoutType"
+ <xsd:element name="around-timeout"
+ type="jakartaee:around-timeoutType"
minOccurs="0"
maxOccurs="unbounded"/>
- <xsd:element name="around-construct"
- type="jakartaee:lifecycle-callbackType"
+ <xsd:element name="around-construct"
+ type="jakartaee:lifecycle-callbackType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:group ref="jakartaee:jndiEnvironmentRefsGroup"/>
- <xsd:element name="post-activate"
- type="jakartaee:lifecycle-callbackType"
+ <xsd:element name="post-activate"
+ type="jakartaee:lifecycle-callbackType"
minOccurs="0"
maxOccurs="unbounded"/>
- <xsd:element name="pre-passivate"
- type="jakartaee:lifecycle-callbackType"
+ <xsd:element name="pre-passivate"
+ type="jakartaee:lifecycle-callbackType"
minOccurs="0"
maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
- <xsd:complexType name="interceptor-bindingType">
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="interceptor-bindingType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
The interceptor-bindingType element describes the binding of
interceptor classes to beans within the ejb-jar file or .war file.
It consists of :
-
- - An optional description.
- - The name of an ejb within the module or the wildcard value "*",
- which is used to define interceptors that are bound to all
- beans in the ejb-jar file or .war file.
- - A list of interceptor classes that are bound to the contents of
- the ejb-name element or a specification of the total ordering
- over the interceptors defined for the given level and above.
- - An optional exclude-default-interceptors element. If set to true,
- specifies that default interceptors are not to be applied to
- a bean-class and/or business method.
- - An optional exclude-class-interceptors element. If set to true,
- specifies that class interceptors are not to be applied to
- a business method.
- - An optional set of method elements for describing the name/params
- of a method-level interceptor.
-
- Interceptors bound to all classes using the wildcard syntax
- "*" are default interceptors for the components in the ejb-jar file or .war file.
- In addition, interceptors may be bound at the level of the bean
- class (class-level interceptors) or business methods (method-level
- interceptors ).
-
- The binding of interceptors to classes is additive. If interceptors
- are bound at the class-level and/or default-level as well as the
- method-level, both class-level and/or default-level as well as
- method-level will apply.
-
- The method-name element may be used to bind a constructor-level
- interceptor using the unqualified name of the bean class as the value;
- the optional method-params elements identify the constructor if a bean
- class has a constructor annotated with the Inject annotation in addition
- to a no-arg constructor.
-
- There are four possible styles of the interceptor element syntax :
-
- 1.
- <interceptor-binding>
- <ejb-name>*</ejb-name>
- <interceptor-class>INTERCEPTOR</interceptor-class>
- </interceptor-binding>
-
- Specifying the ejb-name as the wildcard value "*" designates
- default interceptors (interceptors that apply to all session and
- message-driven beans contained in the ejb-jar file or .war file).
-
- 2.
- <interceptor-binding>
- <ejb-name>EJBNAME</ejb-name>
- <interceptor-class>INTERCEPTOR</interceptor-class>
- </interceptor-binding>
-
- This style is used to refer to interceptors associated with the
- specified enterprise bean(class-level interceptors).
-
- 3.
- <interceptor-binding>
- <ejb-name>EJBNAME</ejb-name>
- <interceptor-class>INTERCEPTOR</interceptor-class>
- <method>
- <method-name>METHOD</method-name>
- </method>
- </interceptor-binding>
-
- This style is used to associate a method-level interceptor with
- the specified enterprise bean. If there are multiple methods
- with the same overloaded name, the element of this style refers
- to all the methods with the overloaded name. Method-level
- interceptors can only be associated with business methods of the
- bean class. Note that the wildcard value "*" cannot be used
- to specify method-level interceptors.
-
- 4.
- <interceptor-binding>
- <ejb-name>EJBNAME</ejb-name>
- <interceptor-class>INTERCEPTOR</interceptor-class>
- <method>
- <method-name>METHOD</method-name>
- <method-params>
- <method-param>PARAM-1</method-param>
- <method-param>PARAM-2</method-param>
- ...
- <method-param>PARAM-N</method-param>
- </method-params>
- </method>
- </interceptor-binding>
-
- This style is used to associate a method-level interceptor with
- the specified method of the specified enterprise bean. This
- style is used to refer to a single method within a set of methods
- with an overloaded name. The values PARAM-1 through PARAM-N
- are the fully-qualified Java types of the method's input parameters
- (if the method has no input arguments, the method-params element
- contains no method-param elements). Arrays are specified by the
- array element's type, followed by one or more pair of square
- brackets (e.g. int[][]).
-
- ]]>
+
+ - An optional description.
+ - The name of an ejb within the module or the wildcard value "*",
+ which is used to define interceptors that are bound to all
+ beans in the ejb-jar file or .war file.
+ - A list of interceptor classes that are bound to the contents of
+ the ejb-name element or a specification of the total ordering
+ over the interceptors defined for the given level and above.
+ - An optional exclude-default-interceptors element. If set to true,
+ specifies that default interceptors are not to be applied to
+ a bean-class and/or business method.
+ - An optional exclude-class-interceptors element. If set to true,
+ specifies that class interceptors are not to be applied to
+ a business method.
+ - An optional set of method elements for describing the name/params
+ of a method-level interceptor.
+
+ Interceptors bound to all classes using the wildcard syntax
+ "*" are default interceptors for the components in the ejb-jar file or .war file.
+ In addition, interceptors may be bound at the level of the bean
+ class (class-level interceptors) or business methods (method-level
+ interceptors ).
+
+ The binding of interceptors to classes is additive. If interceptors
+ are bound at the class-level and/or default-level as well as the
+ method-level, both class-level and/or default-level as well as
+ method-level will apply.
+
+ The method-name element may be used to bind a constructor-level
+ interceptor using the unqualified name of the bean class as the value;
+ the optional method-params elements identify the constructor if a bean
+ class has a constructor annotated with the Inject annotation in addition
+ to a no-arg constructor.
+
+ There are four possible styles of the interceptor element syntax :
+
+ 1.
+ <interceptor-binding>
+ <ejb-name>*</ejb-name>
+ <interceptor-class>INTERCEPTOR</interceptor-class>
+ </interceptor-binding>
+
+ Specifying the ejb-name as the wildcard value "*" designates
+ default interceptors (interceptors that apply to all session and
+ message-driven beans contained in the ejb-jar file or .war file).
+
+ 2.
+ <interceptor-binding>
+ <ejb-name>EJBNAME</ejb-name>
+ <interceptor-class>INTERCEPTOR</interceptor-class>
+ </interceptor-binding>
+
+ This style is used to refer to interceptors associated with the
+ specified enterprise bean(class-level interceptors).
+
+ 3.
+ <interceptor-binding>
+ <ejb-name>EJBNAME</ejb-name>
+ <interceptor-class>INTERCEPTOR</interceptor-class>
+ <method>
+ <method-name>METHOD</method-name>
+ </method>
+ </interceptor-binding>
+
+ This style is used to associate a method-level interceptor with
+ the specified enterprise bean. If there are multiple methods
+ with the same overloaded name, the element of this style refers
+ to all the methods with the overloaded name. Method-level
+ interceptors can only be associated with business methods of the
+ bean class. Note that the wildcard value "*" cannot be used
+ to specify method-level interceptors.
+
+ 4.
+ <interceptor-binding>
+ <ejb-name>EJBNAME</ejb-name>
+ <interceptor-class>INTERCEPTOR</interceptor-class>
+ <method>
+ <method-name>METHOD</method-name>
+ <method-params>
+ <method-param>PARAM-1</method-param>
+ <method-param>PARAM-2</method-param>
+ ...
+ <method-param>PARAM-N</method-param>
+ </method-params>
+ </method>
+ </interceptor-binding>
+
+ This style is used to associate a method-level interceptor with
+ the specified method of the specified enterprise bean. This
+ style is used to refer to a single method within a set of methods
+ with an overloaded name. The values PARAM-1 through PARAM-N
+ are the fully-qualified Java types of the method's input parameters
+ (if the method has no input arguments, the method-params element
+ contains no method-param elements). Arrays are specified by the
+ array element's type, followed by one or more pair of square
+ brackets (e.g. int[][]).
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-name"
- type="jakartaee:string"/>
+ type="jakartaee:string"/>
<xsd:choice>
<xsd:element name="interceptor-class"
type="jakartaee:fully-qualified-classType"
- minOccurs="0"
+ minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="interceptor-order"
- type="jakartaee:interceptor-orderType"
- minOccurs="1"/>
+ type="jakartaee:interceptor-orderType"
+ minOccurs="1"/>
</xsd:choice>
<xsd:element name="exclude-default-interceptors"
- type="jakartaee:true-falseType"
- minOccurs="0"/>
+ type="jakartaee:true-falseType"
+ minOccurs="0"/>
<xsd:element name="exclude-class-interceptors"
- type="jakartaee:true-falseType"
- minOccurs="0"/>
+ type="jakartaee:true-falseType"
+ minOccurs="0"/>
<xsd:element name="method"
- type="jakartaee:named-methodType"
+ type="jakartaee:named-methodType"
minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
-
- <!-- **************************************************** -->
+
+
+<!-- **************************************************** -->
<xsd:complexType name="interceptor-orderType">
<xsd:annotation>
<xsd:documentation>
+
The interceptor-orderType element describes a total ordering
of interceptor classes.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
<xsd:element name="interceptor-class"
type="jakartaee:fully-qualified-classType"
- minOccurs="1"
+ minOccurs="1"
maxOccurs="unbounded"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="named-methodType">
<xsd:sequence>
<xsd:element name="method-name"
- type="jakartaee:string"/>
+ type="jakartaee:string"/>
<xsd:element name="method-params"
- type="jakartaee:method-paramsType"
- minOccurs="0"/>
+ type="jakartaee:method-paramsType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="init-methodType">
<xsd:sequence>
<xsd:element name="create-method"
- type="jakartaee:named-methodType"/>
+ type="jakartaee:named-methodType"/>
<xsd:element name="bean-method"
- type="jakartaee:named-methodType"/>
+ type="jakartaee:named-methodType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="remove-methodType">
<xsd:sequence>
<xsd:element name="bean-method"
- type="jakartaee:named-methodType"/>
+ type="jakartaee:named-methodType"/>
<xsd:element name="retain-if-exception"
- type="jakartaee:true-falseType"
- minOccurs="0"/>
+ type="jakartaee:true-falseType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="message-driven-beanType">
<xsd:annotation>
<xsd:documentation>
- The message-driven element declares a message-driven
- bean. The declaration consists of:
-
- - an optional description
- - an optional display name
- - an optional icon element that contains a small and a large
- icon file name.
- - a name assigned to the enterprise bean in
- the deployment descriptor
- - an optional mapped-name element that can be used to provide
- vendor-specific deployment information such as the physical
- jndi-name of destination from which this message-driven bean
- should consume. This element is not required to be supported
- by all implementations. Any use of this element is non-portable.
- - the message-driven bean's implementation class
- - an optional declaration of the bean's messaging
- type
- - an optional declaration of the bean's timeout method for
- handling programmatically created timers
- - an optional declaration of timers to be automatically created at
- deployment time
- - the optional message-driven bean's transaction management
- type. If it is not defined, it is defaulted to Container.
- - an optional declaration of the bean's
- message-destination-type
- - an optional declaration of the bean's
- message-destination-link
- - an optional declaration of the message-driven bean's
- activation configuration properties
- - an optional list of the message-driven bean class and/or
- superclass around-invoke methods.
- - an optional list of the message-driven bean class and/or
- superclass around-timeout methods.
- - an optional declaration of the bean's environment
- entries
- - an optional declaration of the bean's enterprise bean references
- - an optional declaration of the bean's local enterprise bean
- references
- - an optional declaration of the bean's web service
- references
- - an optional declaration of the security role
- references
- - an optional declaration of the security
- identity to be used for the execution of the bean's
- methods
- - an optional declaration of the bean's
- resource manager connection factory
- references
- - an optional declaration of the bean's resource
- environment references.
- - an optional declaration of the bean's message
- destination references
-
+ The message-driven element declares a message-driven
+ bean. The declaration consists of:
+
+ - an optional description
+ - an optional display name
+ - an optional icon element that contains a small and a large
+ icon file name.
+ - a name assigned to the enterprise bean in
+ the deployment descriptor
+ - an optional mapped-name element that can be used to provide
+ vendor-specific deployment information such as the physical
+ jndi-name of destination from which this message-driven bean
+ should consume. This element is not required to be supported
+ by all implementations. Any use of this element is non-portable.
+ - the message-driven bean's implementation class
+ - an optional declaration of the bean's messaging
+ type
+ - an optional declaration of the bean's timeout method for
+ handling programmatically created timers
+ - an optional declaration of timers to be automatically created at
+ deployment time
+ - the optional message-driven bean's transaction management
+ type. If it is not defined, it is defaulted to Container.
+ - an optional declaration of the bean's
+ message-destination-type
+ - an optional declaration of the bean's
+ message-destination-link
+ - an optional declaration of the message-driven bean's
+ activation configuration properties
+ - an optional list of the message-driven bean class and/or
+ superclass around-invoke methods.
+ - an optional list of the message-driven bean class and/or
+ superclass around-timeout methods.
+ - an optional declaration of the bean's environment
+ entries
+ - an optional declaration of the bean's enterprise bean references
+ - an optional declaration of the bean's local enterprise bean
+ references
+ - an optional declaration of the bean's web service
+ references
+ - an optional declaration of the security role
+ references
+ - an optional declaration of the security
+ identity to be used for the execution of the bean's
+ methods
+ - an optional declaration of the bean's
+ resource manager connection factory
+ references
+ - an optional declaration of the bean's resource
+ environment references.
+ - an optional declaration of the bean's message
+ destination references
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="ejb-name"
- type="jakartaee:ejb-nameType"/>
+ type="jakartaee:ejb-nameType"/>
<xsd:element name="mapped-name"
- type="jakartaee:xsdStringType"
- minOccurs="0"/>
+ type="jakartaee:xsdStringType"
+ minOccurs="0"/>
<xsd:element name="ejb-class"
- type="jakartaee:ejb-classType"
+ type="jakartaee:ejb-classType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- The ejb-class element specifies the fully qualified name
- of the bean class for this ejb. It is required unless
- there is a component-defining annotation for the same
- ejb-name.
-
+ The ejb-class element specifies the fully qualified name
+ of the bean class for this ejb. It is required unless
+ there is a component-defining annotation for the same
+ ejb-name.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="messaging-type"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The messaging-type element specifies the message
- listener interface of the message-driven bean.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="timeout-method"
- type="jakartaee:named-methodType"
+ type="jakartaee:fully-qualified-classType"
minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ <xsd:annotation>
+ <xsd:documentation>
- The timeout-method element specifies the method that
- will receive callbacks for programmatically
- created timers.
-
- </xsd:documentation>
- </xsd:annotation>
+ The messaging-type element specifies the message
+ listener interface of the message-driven bean.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
- <xsd:element name="timer"
- type="jakartaee:timerType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="transaction-type"
- type="jakartaee:transaction-typeType"
- minOccurs="0"/>
- <xsd:element name="message-destination-type"
- type="jakartaee:message-destination-typeType"
- minOccurs="0"/>
- <xsd:element name="message-destination-link"
- type="jakartaee:message-destination-linkType"
- minOccurs="0"/>
- <xsd:element name="activation-config"
- type="jakartaee:activation-configType"
- minOccurs="0"/>
- <xsd:element name="around-invoke"
- type="jakartaee:around-invokeType"
+ <xsd:element name="timeout-method"
+ type="jakartaee:named-methodType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The timeout-method element specifies the method that
+ will receive callbacks for programmatically
+ created timers.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="timer"
+ type="jakartaee:timerType"
minOccurs="0"
maxOccurs="unbounded"/>
- <xsd:element name="around-timeout"
- type="jakartaee:around-timeoutType"
+ <xsd:element name="transaction-type"
+ type="jakartaee:transaction-typeType"
+ minOccurs="0"/>
+ <xsd:element name="message-destination-type"
+ type="jakartaee:message-destination-typeType"
+ minOccurs="0"/>
+ <xsd:element name="message-destination-link"
+ type="jakartaee:message-destination-linkType"
+ minOccurs="0"/>
+ <xsd:element name="activation-config"
+ type="jakartaee:activation-configType"
+ minOccurs="0"/>
+ <xsd:element name="around-invoke"
+ type="jakartaee:around-invokeType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="around-timeout"
+ type="jakartaee:around-timeoutType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:group ref="jakartaee:jndiEnvironmentRefsGroup"/>
<xsd:element name="security-role-ref"
- type="jakartaee:security-role-refType"
- minOccurs="0"
- maxOccurs="unbounded">
+ type="jakartaee:security-role-refType"
+ minOccurs="0"
+ maxOccurs="unbounded">
</xsd:element>
<xsd:element name="security-identity"
- type="jakartaee:security-identityType"
- minOccurs="0"/>
+ type="jakartaee:security-identityType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="methodType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The methodType is used to denote a method of an enterprise
- bean. The method may be any of the following or a set of
- any of the following methods may be designated:
- business interface method
- home interface method
- component interface method
- web service endpoint interface method
- no-interface view method
- singleton session bean lifecycle callback method
- stateful session bean lifecycle callback method (see
- limitations)
- timeout callback method
- message-driven bean message listener method
-
- The ejb-name element must be the name of one of the enterprise
- beans declared in the deployment descriptor.
- The optional method-intf element allows distinguishing between a
- method with the same signature that is multiply defined
- across any of the above.
- The method-name element specifies the method name.
- The optional method-params elements identify a single method
- among multiple methods with an overloaded method name.
-
- There are three possible styles of using methodType element
- within a method element:
-
- 1.
- <method>
- <ejb-name>EJBNAME</ejb-name>
- <method-name>*</method-name>
- </method>
-
- This style is used to refer to all of the following methods
- of the specified enterprise bean:
- business interface methods
- home interface methods
- component interface methods
- web service endpoint interface methods
- no-interface view methods
- singleton session bean lifecycle callback methods
- timeout callback methods
- message-driven bean message listener method
-
- This style may also be used in combination with the
- method-intf element that contains LifecycleCallback as
- the value to specify transaction attributes of a stateful
- session bean PostConstruct, PreDestroy, PrePassivate,
- and PostActivate lifecycle callback methods or to override
- transaction attributes of a singleton session bean
- PostConstruct and PreDestroy lifecycle callback methods.
-
- 2.
- <method>
- <ejb-name>EJBNAME</ejb-name>
- <method-name>METHOD</method-name>
- </method>
-
- This style is used to refer to the specified method of
- the specified enterprise bean. If there are multiple
- methods with the same overloaded name, the element of
- this style refers to all the methods with the overloaded
- name.
-
- This style may be used to refer to stateful session bean
- PostConstruct, PreDestroy, PrePassivate, and PostActivate
- lifecycle callback methods to specify their transaction
- attributes if any of the following is true:
- there is only one method with this name in the specified
- enterprise bean
- all overloaded methods with this name in the specified
- enterprise bean are lifecycle callback methods
- method-intf element is specified and it contains
- LifecycleCallback as the value
-
- 3.
- <method>
- <ejb-name>EJBNAME</ejb-name>
- <method-name>METHOD</method-name>
- <method-params>
- <method-param>PARAM-1</method-param>
- <method-param>PARAM-2</method-param>
- ...
- <method-param>PARAM-n</method-param>
- </method-params>
- </method>
-
-
- This style is used to refer to a single method within a
- set of methods with an overloaded name. PARAM-1 through
- PARAM-n are the fully-qualified Java types of the
- method's input parameters (if the method has no input
- arguments, the method-params element contains no
- method-param elements). Arrays are specified by the
- array element's type, followed by one or more pair of
- square brackets (e.g. int[][]).
- If a method with the same name and signature is defined
- on more than one interface of an enterprise bean, this
- style refers to all those methods.
-
- Examples:
-
- Style 1: The following method element refers to all of the
- following methods of the EmployeeService bean:
- no interface view methods
- business interface methods
- home interface methods
- component business interface methods
- singleton session bean lifecycle callback methods, if any
- timeout callback methods
- web service endpoint interface methods
- message-driven bean message listener methods (if the bean
- a message-driven bean)
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-name>*</method-name>
- </method>
-
- Style 2: The following method element refers to all the
- create methods of the EmployeeService bean's home
- interface(s).
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-name>create</method-name>
- </method>
-
-
- Style 3: The following method element refers to the
- create(String firstName, String LastName) method of the
- EmployeeService bean's home interface(s).
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-name>create</method-name>
- <method-params>
- <method-param>java.lang.String</method-param>
- <method-param>java.lang.String</method-param>
- </method-params>
- </method>
-
-
- The following example illustrates a Style 3 element with
- more complex parameter types. The method
- foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
- mypackage.MyClass[][] myclaar) would be specified as:
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-name>foobar</method-name>
- <method-params>
- <method-param>char</method-param>
- <method-param>int</method-param>
- <method-param>int[]</method-param>
- <method-param>mypackage.MyClass</method-param>
- <method-param>mypackage.MyClass[][]</method-param>
- </method-params>
- </method>
-
- The optional method-intf element can be used when it becomes
- necessary to differentiate between a method that is defined
- multiple times with the same name and signature across any
- of the following methods of an enterprise bean:
- business interface methods
- home interface methods
- component interface methods
- web service endpoint methods
- no-interface view methods
- singleton or stateful session bean lifecycle callback methods
- timeout callback methods
- message-driven bean message listener methods
-
- However, if the same method is a method of both the local
- business interface, and the local component interface,
- the same attribute applies to the method for both interfaces.
- Likewise, if the same method is a method of both the remote
- business interface and the remote component interface, the same
- attribute applies to the method for both interfaces.
-
-
- For example, the method element
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-intf>Remote</method-intf>
- <method-name>create</method-name>
- <method-params>
- <method-param>java.lang.String</method-param>
- <method-param>java.lang.String</method-param>
- </method-params>
- </method>
-
-
- can be used to differentiate the create(String, String)
- method defined in the remote interface from the
- create(String, String) method defined in the remote home
- interface, which would be defined as
-
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-intf>Home</method-intf>
- <method-name>create</method-name>
- <method-params>
- <method-param>java.lang.String</method-param>
- <method-param>java.lang.String</method-param>
- </method-params>
- </method>
-
- and the create method that is defined in the local home
- interface which would be defined as
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-intf>LocalHome</method-intf>
- <method-name>create</method-name>
- <method-params>
- <method-param>java.lang.String</method-param>
- <method-param>java.lang.String</method-param>
- </method-params>
- </method>
-
-
- The method-intf element can be used with all three Styles
- of the method element usage. For example, the following
- method element example could be used to refer to all the
- methods of the EmployeeService bean's remote home interface
- and the remote business interface.
-
-
- <method>
- <ejb-name>EmployeeService</ejb-name>
- <method-intf>Home</method-intf>
- <method-name>*</method-name>
- </method>
-
- ]]>
+ <![CDATA[
+ The methodType is used to denote a method of an enterprise
+ bean. The method may be any of the following or a set of
+ any of the following methods may be designated:
+ business interface method
+ home interface method
+ component interface method
+ web service endpoint interface method
+ no-interface view method
+ singleton session bean lifecycle callback method
+ stateful session bean lifecycle callback method (see
+ limitations)
+ timeout callback method
+ message-driven bean message listener method
+
+ The ejb-name element must be the name of one of the enterprise
+ beans declared in the deployment descriptor.
+ The optional method-intf element allows distinguishing between a
+ method with the same signature that is multiply defined
+ across any of the above.
+ The method-name element specifies the method name.
+ The optional method-params elements identify a single method
+ among multiple methods with an overloaded method name.
+
+ There are three possible styles of using methodType element
+ within a method element:
+
+ 1.
+ <method>
+ <ejb-name>EJBNAME</ejb-name>
+ <method-name>*</method-name>
+ </method>
+
+ This style is used to refer to all of the following methods
+ of the specified enterprise bean:
+ business interface methods
+ home interface methods
+ component interface methods
+ web service endpoint interface methods
+ no-interface view methods
+ singleton session bean lifecycle callback methods
+ timeout callback methods
+ message-driven bean message listener method
+
+ This style may also be used in combination with the
+ method-intf element that contains LifecycleCallback as
+ the value to specify transaction attributes of a stateful
+ session bean PostConstruct, PreDestroy, PrePassivate,
+ and PostActivate lifecycle callback methods or to override
+ transaction attributes of a singleton session bean
+ PostConstruct and PreDestroy lifecycle callback methods.
+
+ 2.
+ <method>
+ <ejb-name>EJBNAME</ejb-name>
+ <method-name>METHOD</method-name>
+ </method>
+
+ This style is used to refer to the specified method of
+ the specified enterprise bean. If there are multiple
+ methods with the same overloaded name, the element of
+ this style refers to all the methods with the overloaded
+ name.
+
+ This style may be used to refer to stateful session bean
+ PostConstruct, PreDestroy, PrePassivate, and PostActivate
+ lifecycle callback methods to specify their transaction
+ attributes if any of the following is true:
+ there is only one method with this name in the specified
+ enterprise bean
+ all overloaded methods with this name in the specified
+ enterprise bean are lifecycle callback methods
+ method-intf element is specified and it contains
+ LifecycleCallback as the value
+
+ 3.
+ <method>
+ <ejb-name>EJBNAME</ejb-name>
+ <method-name>METHOD</method-name>
+ <method-params>
+ <method-param>PARAM-1</method-param>
+ <method-param>PARAM-2</method-param>
+ ...
+ <method-param>PARAM-n</method-param>
+ </method-params>
+ </method>
+
+ This style is used to refer to a single method within a
+ set of methods with an overloaded name. PARAM-1 through
+ PARAM-n are the fully-qualified Java types of the
+ method's input parameters (if the method has no input
+ arguments, the method-params element contains no
+ method-param elements). Arrays are specified by the
+ array element's type, followed by one or more pair of
+ square brackets (e.g. int[][]).
+ If a method with the same name and signature is defined
+ on more than one interface of an enterprise bean, this
+ style refers to all those methods.
+
+ Examples:
+
+ Style 1: The following method element refers to all of the
+ following methods of the EmployeeService bean:
+ no interface view methods
+ business interface methods
+ home interface methods
+ component business interface methods
+ singleton session bean lifecycle callback methods, if any
+ timeout callback methods
+ web service endpoint interface methods
+ message-driven bean message listener methods (if the bean
+ a message-driven bean)
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-name>*</method-name>
+ </method>
+
+ Style 2: The following method element refers to all the
+ create methods of the EmployeeService bean's home
+ interface(s).
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-name>create</method-name>
+ </method>
+
+ Style 3: The following method element refers to the
+ create(String firstName, String LastName) method of the
+ EmployeeService bean's home interface(s).
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-name>create</method-name>
+ <method-params>
+ <method-param>java.lang.String</method-param>
+ <method-param>java.lang.String</method-param>
+ </method-params>
+ </method>
+
+ The following example illustrates a Style 3 element with
+ more complex parameter types. The method
+ foobar(char s, int i, int[] iar, mypackage.MyClass mycl,
+ mypackage.MyClass[][] myclaar) would be specified as:
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-name>foobar</method-name>
+ <method-params>
+ <method-param>char</method-param>
+ <method-param>int</method-param>
+ <method-param>int[]</method-param>
+ <method-param>mypackage.MyClass</method-param>
+ <method-param>mypackage.MyClass[][]</method-param>
+ </method-params>
+ </method>
+
+ The optional method-intf element can be used when it becomes
+ necessary to differentiate between a method that is defined
+ multiple times with the same name and signature across any
+ of the following methods of an enterprise bean:
+ business interface methods
+ home interface methods
+ component interface methods
+ web service endpoint methods
+ no-interface view methods
+ singleton or stateful session bean lifecycle callback methods
+ timeout callback methods
+ message-driven bean message listener methods
+
+ However, if the same method is a method of both the local
+ business interface, and the local component interface,
+ the same attribute applies to the method for both interfaces.
+ Likewise, if the same method is a method of both the remote
+ business interface and the remote component interface, the same
+ attribute applies to the method for both interfaces.
+
+ For example, the method element
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-intf>Remote</method-intf>
+ <method-name>create</method-name>
+ <method-params>
+ <method-param>java.lang.String</method-param>
+ <method-param>java.lang.String</method-param>
+ </method-params>
+ </method>
+
+ can be used to differentiate the create(String, String)
+ method defined in the remote interface from the
+ create(String, String) method defined in the remote home
+ interface, which would be defined as
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-intf>Home</method-intf>
+ <method-name>create</method-name>
+ <method-params>
+ <method-param>java.lang.String</method-param>
+ <method-param>java.lang.String</method-param>
+ </method-params>
+ </method>
+
+ and the create method that is defined in the local home
+ interface which would be defined as
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-intf>LocalHome</method-intf>
+ <method-name>create</method-name>
+ <method-params>
+ <method-param>java.lang.String</method-param>
+ <method-param>java.lang.String</method-param>
+ </method-params>
+ </method>
+
+ The method-intf element can be used with all three Styles
+ of the method element usage. For example, the following
+ method element example could be used to refer to all the
+ methods of the EmployeeService bean's remote home interface
+ and the remote business interface.
+
+ <method>
+ <ejb-name>EmployeeService</ejb-name>
+ <method-intf>Home</method-intf>
+ <method-name>*</method-name>
+ </method>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0" maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-name"
- type="jakartaee:ejb-nameType"/>
+ type="jakartaee:ejb-nameType"/>
<xsd:element name="method-intf"
- type="jakartaee:method-intfType"
- minOccurs="0">
+ type="jakartaee:method-intfType"
+ minOccurs="0">
</xsd:element>
<xsd:element name="method-name"
- type="jakartaee:method-nameType"/>
+ type="jakartaee:method-nameType"/>
<xsd:element name="method-params"
- type="jakartaee:method-paramsType"
- minOccurs="0"/>
+ type="jakartaee:method-paramsType"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="method-intfType">
-
<xsd:annotation>
<xsd:documentation>
- The method-intf element allows a method element to
- differentiate between the methods with the same name and
- signature that are multiply defined across the home and
- component interfaces (e.g, in both an enterprise bean's
- remote and local interfaces or in both an enterprise bean's
- home and remote interfaces, etc.); the component and web
- service endpoint interfaces, and so on.
-
- Local applies to the local component interface, local business
+ The method-intf element allows a method element to
+ differentiate between the methods with the same name and
+ signature that are multiply defined across the home and
+ component interfaces (e.g, in both an enterprise bean's
+ remote and local interfaces or in both an enterprise bean's
+ home and remote interfaces, etc.); the component and web
+ service endpoint interfaces, and so on.
+
+ Local applies to the local component interface, local business
interfaces, and the no-interface view.
-
- Remote applies to both remote component interface and the remote
- business interfaces.
-
- ServiceEndpoint refers to methods exposed through a web service
- endpoint.
-
- Timer refers to the bean's timeout callback methods.
-
- MessageEndpoint refers to the methods of a message-driven bean's
- message-listener interface.
-
- LifecycleCallback refers to the PostConstruct and PreDestroy
- lifecycle callback methods of a singleton session bean and
- to the PostConstruct, PreDestroy, PrePassivate, and PostActivate
- lifecycle callback methods of a stateful session bean.
-
- The method-intf element must be one of the following:
-
- Home
- Remote
- LocalHome
- Local
- ServiceEndpoint
- Timer
- MessageEndpoint
- LifecycleCallback
-
+
+ Remote applies to both remote component interface and the remote
+ business interfaces.
+
+ ServiceEndpoint refers to methods exposed through a web service
+ endpoint.
+
+ Timer refers to the bean's timeout callback methods.
+
+ MessageEndpoint refers to the methods of a message-driven bean's
+ message-listener interface.
+
+ LifecycleCallback refers to the PostConstruct and PreDestroy
+ lifecycle callback methods of a singleton session bean and
+ to the PostConstruct, PreDestroy, PrePassivate, and PostActivate
+ lifecycle callback methods of a stateful session bean.
+
+ The method-intf element must be one of the following:
+
+ Home
+ Remote
+ LocalHome
+ Local
+ ServiceEndpoint
+ Timer
+ MessageEndpoint
+ LifecycleCallback
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Home"/>
- <xsd:enumeration value="Remote"/>
- <xsd:enumeration value="LocalHome"/>
- <xsd:enumeration value="Local"/>
- <xsd:enumeration value="ServiceEndpoint"/>
- <xsd:enumeration value="Timer"/>
- <xsd:enumeration value="MessageEndpoint"/>
- <xsd:enumeration value="LifecycleCallback"/>
+ <xsd:enumeration value="Home"/>
+ <xsd:enumeration value="Remote"/>
+ <xsd:enumeration value="LocalHome"/>
+ <xsd:enumeration value="Local"/>
+ <xsd:enumeration value="ServiceEndpoint"/>
+ <xsd:enumeration value="Timer"/>
+ <xsd:enumeration value="MessageEndpoint"/>
+ <xsd:enumeration value="LifecycleCallback"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="method-nameType">
<xsd:annotation>
<xsd:documentation>
- The method-nameType contains a name of an enterprise
- bean method or the asterisk (*) character. The asterisk is
- used when the element denotes all the methods of an
- enterprise bean's client view interfaces.
-
+ The method-nameType contains a name of an enterprise
+ bean method or the asterisk (*) character. The asterisk is
+ used when the element denotes all the methods of an
+ enterprise bean's client view interfaces.
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2422,914 +2423,927 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="method-paramsType">
<xsd:annotation>
<xsd:documentation>
- The method-paramsType defines a list of the
- fully-qualified Java type names of the method parameters.
-
+ The method-paramsType defines a list of the
+ fully-qualified Java type names of the method parameters.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="method-param"
- type="jakartaee:java-typeType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:java-typeType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The method-param element contains a primitive
- or a fully-qualified Java type name of a method
- parameter.
-
- </xsd:documentation>
- </xsd:annotation>
+ The method-param element contains a primitive
+ or a fully-qualified Java type name of a method
+ parameter.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="method-permissionType">
<xsd:annotation>
<xsd:documentation>
- The method-permissionType specifies that one or more
- security roles are allowed to invoke one or more enterprise
- bean methods. The method-permissionType consists of an
- optional description, a list of security role names or an
- indicator to state that the method is unchecked for
- authorization, and a list of method elements.
-
- Except as noted below the security roles used in the
- method-permissionType must be defined in the security-role
- elements of the deployment descriptor, and the methods
- must be methods defined in the enterprise bean's no-interface
- view, business, home, component and/or web service endpoint
- interfaces.
-
- If the role name "**" is included in the list of allowed
- roles, and the application has not defined in its deployment
- descriptor an application security role with this name,
- then the list of allowed roles includes every and any
- authenticated user.
-
+ The method-permissionType specifies that one or more
+ security roles are allowed to invoke one or more enterprise
+ bean methods. The method-permissionType consists of an
+ optional description, a list of security role names or an
+ indicator to state that the method is unchecked for
+ authorization, and a list of method elements.
+
+ Except as noted below the security roles used in the
+ method-permissionType must be defined in the security-role
+ elements of the deployment descriptor, and the methods
+ must be methods defined in the enterprise bean's no-interface
+ view, business, home, component and/or web service endpoint
+ interfaces.
+
+ If the role name "**" is included in the list of allowed
+ roles, and the application has not defined in its deployment
+ descriptor an application security role with this name,
+ then the list of allowed roles includes every and any
+ authenticated user.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:choice>
- <xsd:element name="role-name"
- type="jakartaee:role-nameType"
- maxOccurs="unbounded"/>
- <xsd:element name="unchecked"
- type="jakartaee:emptyType">
- <xsd:annotation>
- <xsd:documentation>
+ <xsd:element name="role-name"
+ type="jakartaee:role-nameType"
+ maxOccurs="unbounded"/>
+ <xsd:element name="unchecked"
+ type="jakartaee:emptyType">
+ <xsd:annotation>
+ <xsd:documentation>
- The unchecked element specifies that a method is
- not checked for authorization by the container
- prior to invocation of the method.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
+ The unchecked element specifies that a method is
+ not checked for authorization by the container
+ prior to invocation of the method.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
</xsd:choice>
<xsd:element name="method"
- type="jakartaee:methodType"
- maxOccurs="unbounded"/>
+ type="jakartaee:methodType"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="multiplicityType">
<xsd:annotation>
<xsd:documentation>
- The multiplicityType describes the multiplicity of the
- role that participates in a relation.
-
- The value must be one of the two following:
-
- One
- Many
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
+ The multiplicityType describes the multiplicity of the
+ role that participates in a relation.
+
+ The value must be one of the two following:
+
+ One
+ Many
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="One"/>
- <xsd:enumeration value="Many"/>
+ <xsd:enumeration value="One"/>
+ <xsd:enumeration value="Many"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="persistence-typeType">
<xsd:annotation>
<xsd:documentation>
- The persistence-typeType specifies an entity bean's persistence
- management type.
-
- The persistence-type element must be one of the two following:
-
- Bean
- Container
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
+ The persistence-typeType specifies an entity bean's persistence
+ management type.
+
+ The persistence-type element must be one of the two following:
+
+ Bean
+ Container
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Bean"/>
- <xsd:enumeration value="Container"/>
+ <xsd:enumeration value="Bean"/>
+ <xsd:enumeration value="Container"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="queryType">
<xsd:annotation>
<xsd:documentation>
- The queryType defines a finder or select
- query. It contains
- - an optional description of the query
- - the specification of the finder or select
- method it is used by
- - an optional specification of the result type
- mapping, if the query is for a select method
- and entity objects are returned.
- - the Enterprise Beans QL query string that defines the query.
-
- Queries that are expressible in Enterprise Beans QL must use the ejb-ql
- element to specify the query. If a query is not expressible
- in Enterprise Beans QL, the description element should be used to
- describe the semantics of the query and the ejb-ql element
- should be empty.
-
- The result-type-mapping is an optional element. It can only
- be present if the query-method specifies a select method
- that returns entity objects. The default value for the
- result-type-mapping element is "Local".
-
+ The queryType defines a finder or select
+ query. It contains
+ - an optional description of the query
+ - the specification of the finder or select
+ method it is used by
+ - an optional specification of the result type
+ mapping, if the query is for a select method
+ and entity objects are returned.
+ - the Enterprise Beans QL query string that defines the query.
+
+ Queries that are expressible in Enterprise Beans QL must use the ejb-ql
+ element to specify the query. If a query is not expressible
+ in Enterprise Beans QL, the description element should be used to
+ describe the semantics of the query and the ejb-ql element
+ should be empty.
+
+ The result-type-mapping is an optional element. It can only
+ be present if the query-method specifies a select method
+ that returns entity objects. The default value for the
+ result-type-mapping element is "Local".
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType" minOccurs="0"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"/>
<xsd:element name="query-method"
- type="jakartaee:query-methodType"/>
+ type="jakartaee:query-methodType"/>
<xsd:element name="result-type-mapping"
- type="jakartaee:result-type-mappingType"
- minOccurs="0"/>
+ type="jakartaee:result-type-mappingType"
+ minOccurs="0"/>
<xsd:element name="ejb-ql"
- type="jakartaee:xsdStringType"/>
+ type="jakartaee:xsdStringType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="query-methodType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The query-method specifies the method for a finder or select
- query.
-
- The method-name element specifies the name of a finder or select
- method in the entity bean's implementation class.
-
- Each method-param must be defined for a query-method using the
- method-params element.
-
- It is used by the query-method element.
-
- Example:
-
- <query>
- <description>Method finds large orders</description>
- <query-method>
- <method-name>findLargeOrders</method-name>
- <method-params></method-params>
- </query-method>
- <ejb-ql>
- SELECT OBJECT(o) FROM Order o
- WHERE o.amount > 1000
- </ejb-ql>
- </query>
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
- ]]>
+ <![CDATA[
+ The query-method specifies the method for a finder or select
+ query.
+
+ The method-name element specifies the name of a finder or select
+ method in the entity bean's implementation class.
+
+ Each method-param must be defined for a query-method using the
+ method-params element.
+
+ It is used by the query-method element.
+
+ Example:
+
+ <query>
+ <description>Method finds large orders</description>
+ <query-method>
+ <method-name>findLargeOrders</method-name>
+ <method-params></method-params>
+ </query-method>
+ <ejb-ql>
+ SELECT OBJECT(o) FROM Order o
+ WHERE o.amount > 1000
+ </ejb-ql>
+ </query>
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="method-name"
- type="jakartaee:method-nameType"/>
+ type="jakartaee:method-nameType"/>
<xsd:element name="method-params"
- type="jakartaee:method-paramsType"/>
+ type="jakartaee:method-paramsType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+<!-- **************************************************** -->
<xsd:complexType name="relationship-role-sourceType">
<xsd:annotation>
<xsd:documentation>
- The relationship-role-sourceType designates the source of a
- role that participates in a relationship. A
- relationship-role-sourceType is used by
- relationship-role-source elements to uniquely identify an
- entity bean.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
+ The relationship-role-sourceType designates the source of a
+ role that participates in a relationship. A
+ relationship-role-sourceType is used by
+ relationship-role-source elements to uniquely identify an
+ entity bean.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-name"
- type="jakartaee:ejb-nameType"/>
+ type="jakartaee:ejb-nameType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="relationshipsType">
<xsd:annotation>
<xsd:documentation>
- The relationshipsType describes the relationships in
- which entity beans with container-managed persistence
- participate. The relationshipsType contains an optional
- description; and a list of ejb-relation elements, which
- specify the container managed relationships.
-
- Support for entity beans is optional as of Enterprise Beans 3.2.
-
+ The relationshipsType describes the relationships in
+ which entity beans with container-managed persistence
+ participate. The relationshipsType contains an optional
+ description; and a list of ejb-relation elements, which
+ specify the container managed relationships.
+
+ Support for entity beans is optional as of Enterprise Beans 3.2.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-relation"
- type="jakartaee:ejb-relationType"
- maxOccurs="unbounded">
+ type="jakartaee:ejb-relationType"
+ maxOccurs="unbounded">
+ <xsd:unique name="role-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
- <xsd:unique name="role-name-uniqueness">
- <xsd:annotation>
- <xsd:documentation>
-
- The ejb-relationship-role-name contains the name of a
- relationship role. The name must be unique within
- a relationship, but can be reused in different
- relationships.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector
- xpath=".//jakartaee:ejb-relationship-role-name"/>
- <xsd:field
- xpath="."/>
- </xsd:unique>
+ The ejb-relationship-role-name contains the name of a
+ relationship role. The name must be unique within
+ a relationship, but can be reused in different
+ relationships.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath=".//jakartaee:ejb-relationship-role-name"/>
+ <xsd:field xpath="."/>
+ </xsd:unique>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="result-type-mappingType">
<xsd:annotation>
<xsd:documentation>
- The result-type-mappingType is used in the query element to
- specify whether an abstract schema type returned by a query
- for a select method is to be mapped to an EJBLocalObject or
- EJBObject type.
-
- The value must be one of the following:
-
- Local
- Remote
-
+ The result-type-mappingType is used in the query element to
+ specify whether an abstract schema type returned by a query
+ for a select method is to be mapped to an EJBLocalObject or
+ EJBObject type.
+
+ The value must be one of the following:
+
+ Local
+ Remote
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Local"/>
- <xsd:enumeration value="Remote"/>
+ <xsd:enumeration value="Local"/>
+ <xsd:enumeration value="Remote"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="security-identityType">
<xsd:annotation>
<xsd:documentation>
- The security-identityType specifies whether the caller's
- security identity is to be used for the execution of the
- methods of the enterprise bean or whether a specific run-as
- identity is to be used. It contains an optional description
- and a specification of the security identity to be used.
-
+ The security-identityType specifies whether the caller's
+ security identity is to be used for the execution of the
+ methods of the enterprise bean or whether a specific run-as
+ identity is to be used. It contains an optional description
+ and a specification of the security identity to be used.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:choice>
- <xsd:element name="use-caller-identity"
- type="jakartaee:emptyType">
- <xsd:annotation>
- <xsd:documentation>
+ <xsd:element name="use-caller-identity"
+ type="jakartaee:emptyType">
+ <xsd:annotation>
+ <xsd:documentation>
- The use-caller-identity element specifies that
- the caller's security identity be used as the
- security identity for the execution of the
- enterprise bean's methods.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="run-as"
- type="jakartaee:run-asType"/>
+ The use-caller-identity element specifies that
+ the caller's security identity be used as the
+ security identity for the execution of the
+ enterprise bean's methods.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="run-as"
+ type="jakartaee:run-asType"/>
</xsd:choice>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="session-beanType">
<xsd:annotation>
<xsd:documentation>
- The session-beanType declares an session bean. The
- declaration consists of:
-
- - an optional description
- - an optional display name
- - an optional icon element that contains a small and a large
- icon file name
- - a name assigned to the enterprise bean
- in the deployment description
- - an optional mapped-name element that can be used to provide
- vendor-specific deployment information such as the physical
- jndi-name of the session bean's remote home/business interface.
- This element is not required to be supported by all
- implementations. Any use of this element is non-portable.
- - the names of all the remote or local business interfaces,
- if any
- - the names of the session bean's remote home and
- remote interfaces, if any
- - the names of the session bean's local home and
- local interfaces, if any
- - an optional declaration that this bean exposes a
- no-interface view
- - the name of the session bean's web service endpoint
- interface, if any
- - the session bean's implementation class
- - the session bean's state management type
- - an optional declaration of a stateful session bean's timeout value
- - an optional declaration of the session bean's timeout method for
- handling programmatically created timers
- - an optional declaration of timers to be automatically created at
- deployment time
- - an optional declaration that a Singleton bean has eager
- initialization
- - an optional declaration of a Singleton/Stateful bean's concurrency
- management type
- - an optional declaration of the method locking metadata
- for a Singleton with container managed concurrency
- - an optional declaration of the other Singleton beans in the
- application that must be initialized before this bean
- - an optional declaration of the session bean's asynchronous
- methods
- - the optional session bean's transaction management type.
- If it is not present, it is defaulted to Container.
- - an optional declaration of a stateful session bean's
- afterBegin, beforeCompletion, and/or afterCompletion methods
- - an optional list of the session bean class and/or
- superclass around-invoke methods.
- - an optional list of the session bean class and/or
- superclass around-timeout methods.
- - an optional declaration of the bean's
- environment entries
- - an optional declaration of the bean's enterprise bean references
- - an optional declaration of the bean's local enterprise bean
- references
- - an optional declaration of the bean's web
- service references
- - an optional declaration of the security role
- references
- - an optional declaration of the security identity
- to be used for the execution of the bean's methods
- - an optional declaration of the bean's resource
- manager connection factory references
- - an optional declaration of the bean's resource
- environment references.
- - an optional declaration of the bean's message
- destination references
- - an optional specification as to whether the stateful
- session bean is passivation capable or not. If not
- specified, the bean is assumed to be passivation capable
-
-
- The elements that are optional are "optional" in the sense
- that they are omitted when if lists represented by them are
- empty.
-
- The service-endpoint element may only be specified if the
- bean is a stateless session bean.
-
+ The session-beanType declares an session bean. The
+ declaration consists of:
+
+ - an optional description
+ - an optional display name
+ - an optional icon element that contains a small and a large
+ icon file name
+ - a name assigned to the enterprise bean
+ in the deployment description
+ - an optional mapped-name element that can be used to provide
+ vendor-specific deployment information such as the physical
+ jndi-name of the session bean's remote home/business interface.
+ This element is not required to be supported by all
+ implementations. Any use of this element is non-portable.
+ - the names of all the remote or local business interfaces,
+ if any
+ - the names of the session bean's remote home and
+ remote interfaces, if any
+ - the names of the session bean's local home and
+ local interfaces, if any
+ - an optional declaration that this bean exposes a
+ no-interface view
+ - the name of the session bean's web service endpoint
+ interface, if any
+ - the session bean's implementation class
+ - the session bean's state management type
+ - an optional declaration of a stateful session bean's timeout value
+ - an optional declaration of the session bean's timeout method for
+ handling programmatically created timers
+ - an optional declaration of timers to be automatically created at
+ deployment time
+ - an optional declaration that a Singleton bean has eager
+ initialization
+ - an optional declaration of a Singleton/Stateful bean's concurrency
+ management type
+ - an optional declaration of the method locking metadata
+ for a Singleton with container managed concurrency
+ - an optional declaration of the other Singleton beans in the
+ application that must be initialized before this bean
+ - an optional declaration of the session bean's asynchronous
+ methods
+ - the optional session bean's transaction management type.
+ If it is not present, it is defaulted to Container.
+ - an optional declaration of a stateful session bean's
+ afterBegin, beforeCompletion, and/or afterCompletion methods
+ - an optional list of the session bean class and/or
+ superclass around-invoke methods.
+ - an optional list of the session bean class and/or
+ superclass around-timeout methods.
+ - an optional declaration of the bean's
+ environment entries
+ - an optional declaration of the bean's enterprise bean references
+ - an optional declaration of the bean's local enterprise bean
+ references
+ - an optional declaration of the bean's web
+ service references
+ - an optional declaration of the security role
+ references
+ - an optional declaration of the security identity
+ to be used for the execution of the bean's methods
+ - an optional declaration of the bean's resource
+ manager connection factory references
+ - an optional declaration of the bean's resource
+ environment references.
+ - an optional declaration of the bean's message
+ destination references
+ - an optional specification as to whether the stateful
+ session bean is passivation capable or not. If not
+ specified, the bean is assumed to be passivation capable
+
+ The elements that are optional are "optional" in the sense
+ that they are omitted when if lists represented by them are
+ empty.
+
+ The service-endpoint element may only be specified if the
+ bean is a stateless session bean.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="ejb-name"
- type="jakartaee:ejb-nameType"/>
+ type="jakartaee:ejb-nameType"/>
<xsd:element name="mapped-name"
- type="jakartaee:xsdStringType"
- minOccurs="0"/>
+ type="jakartaee:xsdStringType"
+ minOccurs="0"/>
<xsd:element name="home"
- type="jakartaee:homeType"
- minOccurs="0"/>
+ type="jakartaee:homeType"
+ minOccurs="0"/>
<xsd:element name="remote"
- type="jakartaee:remoteType"
- minOccurs="0"/>
+ type="jakartaee:remoteType"
+ minOccurs="0"/>
<xsd:element name="local-home"
- type="jakartaee:local-homeType"
- minOccurs="0"/>
+ type="jakartaee:local-homeType"
+ minOccurs="0"/>
<xsd:element name="local"
- type="jakartaee:localType"
- minOccurs="0"/>
+ type="jakartaee:localType"
+ minOccurs="0"/>
<xsd:element name="business-local"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0"
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="business-remote"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0"
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="local-bean"
- type="jakartaee:emptyType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The local-bean element declares that this
- session bean exposes a no-interface Local client view.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="service-endpoint"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The service-endpoint element contains the
- fully-qualified name of the enterprise bean's web
- service endpoint interface. The service-endpoint
- element may only be specified for a stateless
- session bean. The specified interface must be a
- valid Jakarta XML RPC service endpoint interface.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="ejb-class"
- type="jakartaee:ejb-classType"
+ type="jakartaee:emptyType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- The ejb-class element specifies the fully qualified name
- of the bean class for this ejb. It is required unless
- there is a component-defining annotation for the same
- ejb-name.
+ The local-bean element declares that this
+ session bean exposes a no-interface Local client view.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="service-endpoint"
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ The service-endpoint element contains the
+ fully-qualified name of the enterprise bean's web
+ service endpoint interface. The service-endpoint
+ element may only be specified for a stateless
+ session bean. The specified interface must be a
+ valid Jakarta XML RPC service endpoint interface.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="ejb-class"
+ type="jakartaee:ejb-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The ejb-class element specifies the fully qualified name
+ of the bean class for this ejb. It is required unless
+ there is a component-defining annotation for the same
+ ejb-name.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="session-type"
- type="jakartaee:session-typeType"
+ type="jakartaee:session-typeType"
minOccurs="0"/>
<xsd:element name="stateful-timeout"
- type="jakartaee:stateful-timeoutType"
- minOccurs="0"/>
- <xsd:element name="timeout-method"
- type="jakartaee:named-methodType"
+ type="jakartaee:stateful-timeoutType"
+ minOccurs="0"/>
+ <xsd:element name="timeout-method"
+ type="jakartaee:named-methodType"
minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
-
- The timeout-method element specifies the method that
- will receive callbacks for programmatically
- created timers.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="timer"
- type="jakartaee:timerType"
- minOccurs="0"
- maxOccurs="unbounded"/>
- <xsd:element name="init-on-startup"
- type="jakartaee:true-falseType"
- minOccurs="0">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The init-on-startup element specifies that a Singleton
- bean has eager initialization.
- This element can only be specified for singleton session
- beans.
+ The timeout-method element specifies the method that
+ will receive callbacks for programmatically
+ created timers.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="timer"
+ type="jakartaee:timerType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="init-on-startup"
+ type="jakartaee:true-falseType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- </xsd:documentation>
- </xsd:annotation>
+ The init-on-startup element specifies that a Singleton
+ bean has eager initialization.
+ This element can only be specified for singleton session
+ beans.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="concurrency-management-type"
- type="jakartaee:concurrency-management-typeType"
+ type="jakartaee:concurrency-management-typeType"
minOccurs="0"/>
- <xsd:element name="concurrent-method"
- type="jakartaee:concurrent-methodType"
+ <xsd:element name="concurrent-method"
+ type="jakartaee:concurrent-methodType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="depends-on"
- type="jakartaee:depends-onType"
+ type="jakartaee:depends-onType"
minOccurs="0"/>
- <xsd:element name="init-method"
- type="jakartaee:init-methodType"
+ <xsd:element name="init-method"
+ type="jakartaee:init-methodType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The init-method element specifies the mappings for
- Enterprise Beans 2.x style create methods for an Enterprise Beans 3.x bean.
- This element can only be specified for stateful
+ The init-method element specifies the mappings for
+ Enterprise Beans 2.x style create methods for an Enterprise Beans 3.x bean.
+ This element can only be specified for stateful
session beans.
-
- </xsd:documentation>
- </xsd:annotation>
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
- <xsd:element name="remove-method"
- type="jakartaee:remove-methodType"
+ <xsd:element name="remove-method"
+ type="jakartaee:remove-methodType"
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The remove-method element specifies the mappings for
- Enterprise Beans 2.x style remove methods for an Enterprise Beans 3.x bean.
- This element can only be specified for stateful
+ The remove-method element specifies the mappings for
+ Enterprise Beans 2.x style remove methods for an Enterprise Beans 3.x bean.
+ This element can only be specified for stateful
session beans.
-
- </xsd:documentation>
- </xsd:annotation>
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
- <xsd:element name="async-method"
- type="jakartaee:async-methodType"
+ <xsd:element name="async-method"
+ type="jakartaee:async-methodType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="transaction-type"
- type="jakartaee:transaction-typeType"
+ type="jakartaee:transaction-typeType"
minOccurs="0"/>
- <xsd:element name="after-begin-method"
- type="jakartaee:named-methodType"
+ <xsd:element name="after-begin-method"
+ type="jakartaee:named-methodType"
minOccurs="0"/>
- <xsd:element name="before-completion-method"
- type="jakartaee:named-methodType"
+ <xsd:element name="before-completion-method"
+ type="jakartaee:named-methodType"
minOccurs="0"/>
- <xsd:element name="after-completion-method"
- type="jakartaee:named-methodType"
+ <xsd:element name="after-completion-method"
+ type="jakartaee:named-methodType"
minOccurs="0"/>
- <xsd:element name="around-invoke"
- type="jakartaee:around-invokeType"
+ <xsd:element name="around-invoke"
+ type="jakartaee:around-invokeType"
minOccurs="0"
maxOccurs="unbounded"/>
- <xsd:element name="around-timeout"
- type="jakartaee:around-timeoutType"
+ <xsd:element name="around-timeout"
+ type="jakartaee:around-timeoutType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:group ref="jakartaee:jndiEnvironmentRefsGroup"/>
- <xsd:element name="post-activate"
- type="jakartaee:lifecycle-callbackType"
+ <xsd:element name="post-activate"
+ type="jakartaee:lifecycle-callbackType"
minOccurs="0"
maxOccurs="unbounded"/>
- <xsd:element name="pre-passivate"
- type="jakartaee:lifecycle-callbackType"
+ <xsd:element name="pre-passivate"
+ type="jakartaee:lifecycle-callbackType"
minOccurs="0"
maxOccurs="unbounded"/>
<xsd:element name="security-role-ref"
- type="jakartaee:security-role-refType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:security-role-refType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="security-identity"
- type="jakartaee:security-identityType"
- minOccurs="0"/>
+ type="jakartaee:security-identityType"
+ minOccurs="0"/>
<xsd:element name="passivation-capable"
- type="xsd:boolean"
- default="true"
- minOccurs="0">
+ type="xsd:boolean"
+ default="true"
+ minOccurs="0">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The passivation-capable element specifies whether the
+ The passivation-capable element specifies whether the
stateful session bean is passivation capable or not.
If not specified, the bean is assumed to be passivation
capable.
-
- </xsd:documentation>
- </xsd:annotation>
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="session-typeType">
<xsd:annotation>
<xsd:documentation>
- The session-typeType describes whether the session bean is a
- singleton, stateful or stateless session. It is used by
- session-type elements.
-
- The value must be one of the three following:
-
- Singleton
- Stateful
- Stateless
-
+ The session-typeType describes whether the session bean is a
+ singleton, stateful or stateless session. It is used by
+ session-type elements.
+
+ The value must be one of the three following:
+
+ Singleton
+ Stateful
+ Stateless
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Singleton"/>
- <xsd:enumeration value="Stateful"/>
- <xsd:enumeration value="Stateless"/>
+ <xsd:enumeration value="Singleton"/>
+ <xsd:enumeration value="Stateful"/>
+ <xsd:enumeration value="Stateless"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="stateful-timeoutType">
<xsd:annotation>
<xsd:documentation>
- The stateful-timeoutType represents the amount of time
- a stateful session bean can be idle(not receive any client
- invocations) before it is eligible for removal by the container.
-
- A timeout value of 0 means the bean is immediately eligible for removal.
-
- A timeout value of -1 means the bean will never be removed due to timeout.
-
+ The stateful-timeoutType represents the amount of time
+ a stateful session bean can be idle(not receive any client
+ invocations) before it is eligible for removal by the container.
+
+ A timeout value of 0 means the bean is immediately eligible for removal.
+
+ A timeout value of -1 means the bean will never be removed due to timeout.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
<xsd:element name="timeout"
- type="jakartaee:xsdIntegerType"/>
+ type="jakartaee:xsdIntegerType"/>
<xsd:element name="unit"
- type="jakartaee:time-unit-typeType"/>
-
+ type="jakartaee:time-unit-typeType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="time-unit-typeType">
<xsd:annotation>
<xsd:documentation>
- The time-unit-typeType represents a time duration at a given
- unit of granularity.
-
- The time unit type must be one of the following :
-
- Days
- Hours
- Minutes
- Seconds
- Milliseconds
- Microseconds
- Nanoseconds
-
+ The time-unit-typeType represents a time duration at a given
+ unit of granularity.
+
+ The time unit type must be one of the following :
+
+ Days
+ Hours
+ Minutes
+ Seconds
+ Milliseconds
+ Microseconds
+ Nanoseconds
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Days"/>
- <xsd:enumeration value="Hours"/>
- <xsd:enumeration value="Minutes"/>
- <xsd:enumeration value="Seconds"/>
- <xsd:enumeration value="Milliseconds"/>
- <xsd:enumeration value="Microseconds"/>
- <xsd:enumeration value="Nanoseconds"/>
+ <xsd:enumeration value="Days"/>
+ <xsd:enumeration value="Hours"/>
+ <xsd:enumeration value="Minutes"/>
+ <xsd:enumeration value="Seconds"/>
+ <xsd:enumeration value="Milliseconds"/>
+ <xsd:enumeration value="Microseconds"/>
+ <xsd:enumeration value="Nanoseconds"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="timer-scheduleType">
<xsd:sequence>
<xsd:element name="second"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:element name="minute"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:element name="hour"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:element name="day-of-month"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:element name="month"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:element name="day-of-week"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
<xsd:element name="year"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:string"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="timerType">
<xsd:annotation>
<xsd:documentation>
- The timerType specifies an enterprise bean timer. Each
- timer is automatically created by the container upon
- deployment. Timer callbacks occur based on the
- schedule attributes. All callbacks are made to the
- timeout-method associated with the timer.
-
- A timer can have an optional start and/or end date. If
- a start date is specified, it takes precedence over the
- associated timer schedule such that any matching
- expirations prior to the start time will not occur.
- Likewise, no matching expirations will occur after any
- end date. Start/End dates are specified using the
- XML Schema dateTime type, which follows the ISO-8601
- standard for date(and optional time-within-the-day)
- representation.
-
- An optional flag can be used to control whether
- this timer has persistent(true) delivery semantics or
- non-persistent(false) delivery semantics. If not specified,
+ The timerType specifies an enterprise bean timer. Each
+ timer is automatically created by the container upon
+ deployment. Timer callbacks occur based on the
+ schedule attributes. All callbacks are made to the
+ timeout-method associated with the timer.
+
+ A timer can have an optional start and/or end date. If
+ a start date is specified, it takes precedence over the
+ associated timer schedule such that any matching
+ expirations prior to the start time will not occur.
+ Likewise, no matching expirations will occur after any
+ end date. Start/End dates are specified using the
+ XML Schema dateTime type, which follows the ISO-8601
+ standard for date(and optional time-within-the-day)
+ representation.
+
+ An optional flag can be used to control whether
+ this timer has persistent(true) delivery semantics or
+ non-persistent(false) delivery semantics. If not specified,
the value defaults to persistent(true).
-
- A time zone can optionally be associated with a timer.
- If specified, the timer's schedule is evaluated in the context
+
+ A time zone can optionally be associated with a timer.
+ If specified, the timer's schedule is evaluated in the context
of that time zone, regardless of the default time zone in which
- the container is executing. Time zones are specified as an
- ID string. The set of required time zone IDs is defined by
- the Zone Name(TZ) column of the public domain zoneinfo database.
-
- An optional info string can be assigned to the timer and
- retrieved at runtime through the Timer.getInfo() method.
-
- The timerType can only be specified on stateless session
- beans, singleton session beans, and message-driven beans.
-
+ the container is executing. Time zones are specified as an
+ ID string. The set of required time zone IDs is defined by
+ the Zone Name(TZ) column of the public domain zoneinfo database.
+
+ An optional info string can be assigned to the timer and
+ retrieved at runtime through the Timer.getInfo() method.
+
+ The timerType can only be specified on stateless session
+ beans, singleton session beans, and message-driven beans.
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="schedule"
- type="jakartaee:timer-scheduleType"/>
+ type="jakartaee:timer-scheduleType"/>
<xsd:element name="start"
- type="xsd:dateTime"
- minOccurs="0"/>
+ type="xsd:dateTime"
+ minOccurs="0"/>
<xsd:element name="end"
- type="xsd:dateTime"
- minOccurs="0"/>
- <xsd:element name="timeout-method"
- type="jakartaee:named-methodType"/>
+ type="xsd:dateTime"
+ minOccurs="0"/>
+ <xsd:element name="timeout-method"
+ type="jakartaee:named-methodType"/>
<xsd:element name="persistent"
- type="jakartaee:true-falseType"
- minOccurs="0"/>
- <xsd:element name="timezone"
- type="jakartaee:string"
- minOccurs="0"/>
- <xsd:element name="info"
- type="jakartaee:string"
- minOccurs="0"/>
+ type="jakartaee:true-falseType"
+ minOccurs="0"/>
+ <xsd:element name="timezone"
+ type="jakartaee:string"
+ minOccurs="0"/>
+ <xsd:element name="info"
+ type="jakartaee:string"
+ minOccurs="0"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="trans-attributeType">
<xsd:annotation>
<xsd:documentation>
- The trans-attributeType specifies how the container must
- manage the transaction boundaries when delegating a method
- invocation to an enterprise bean's business method.
-
- The value must be one of the following:
-
- NotSupported
- Supports
- Required
- RequiresNew
- Mandatory
- Never
-
+ The trans-attributeType specifies how the container must
+ manage the transaction boundaries when delegating a method
+ invocation to an enterprise bean's business method.
+
+ The value must be one of the following:
+
+ NotSupported
+ Supports
+ Required
+ RequiresNew
+ Mandatory
+ Never
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="NotSupported"/>
- <xsd:enumeration value="Supports"/>
- <xsd:enumeration value="Required"/>
- <xsd:enumeration value="RequiresNew"/>
- <xsd:enumeration value="Mandatory"/>
- <xsd:enumeration value="Never"/>
+ <xsd:enumeration value="NotSupported"/>
+ <xsd:enumeration value="Supports"/>
+ <xsd:enumeration value="Required"/>
+ <xsd:enumeration value="RequiresNew"/>
+ <xsd:enumeration value="Mandatory"/>
+ <xsd:enumeration value="Never"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="transaction-typeType">
<xsd:annotation>
<xsd:documentation>
- The transaction-typeType specifies an enterprise bean's
- transaction management type.
-
- The transaction-type must be one of the two following:
-
- Bean
- Container
-
+ The transaction-typeType specifies an enterprise bean's
+ transaction management type.
+
+ The transaction-type must be one of the two following:
+
+ Bean
+ Container
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="Bean"/>
- <xsd:enumeration value="Container"/>
+ <xsd:enumeration value="Bean"/>
+ <xsd:enumeration value="Container"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_9.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_9.xsd
index 2b871d8..16136f9 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_9.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_9.xsd
@@ -1,60 +1,68 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<xsd:schema
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="8">
-
+<xsd:schema targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="8">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="glossary.inc" parse="text"/>
+
+ The following definitions that appear in the common
+ shareable schema(s) of Jakarta EE deployment descriptors should be
+ interpreted with respect to the context they are included:
+
+ Deployment Component may indicate one of the following:
+ Jakarta EE application;
+ application client;
+ web application;
+ enterprise bean;
+ resource adapter;
+
+ Deployment File may indicate one of the following:
+ ear file;
+ war file;
+ jar file;
+ rar file;
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:import namespace="http://www.w3.org/XML/1998/namespace"
schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xsd:include schemaLocation="jakartaee_web_services_client_2_0.xsd"/>
- <!-- **************************************************** -->
-
<xsd:group name="descriptionGroup">
<xsd:annotation>
<xsd:documentation>
This group keeps the usage of the contained description related
elements consistent across Jakarta EE deployment descriptors.
-
+
All elements may occur multiple times with different languages,
to support localization of the content.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -73,102 +81,109 @@
</xsd:sequence>
</xsd:group>
- <!-- **************************************************** -->
-
<xsd:group name="jndiEnvironmentRefsGroup">
<xsd:annotation>
<xsd:documentation>
This group keeps the usage of the contained JNDI environment
reference elements consistent across Jakarta EE deployment descriptors.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="env-entry"
type="jakartaee:env-entryType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-ref"
type="jakartaee:ejb-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="ejb-local-ref"
type="jakartaee:ejb-local-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:group ref="jakartaee:service-refGroup"/>
<xsd:element name="resource-ref"
type="jakartaee:resource-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="resource-env-ref"
type="jakartaee:resource-env-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="message-destination-ref"
type="jakartaee:message-destination-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="persistence-context-ref"
type="jakartaee:persistence-context-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="persistence-unit-ref"
type="jakartaee:persistence-unit-refType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="post-construct"
type="jakartaee:lifecycle-callbackType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="pre-destroy"
type="jakartaee:lifecycle-callbackType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="data-source"
type="jakartaee:data-sourceType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="jms-connection-factory"
- type="jakartaee:jms-connection-factoryType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="jms-destination"
- type="jakartaee:jms-destinationType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="mail-session"
- type="jakartaee:mail-sessionType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="connection-factory"
- type="jakartaee:connection-factory-resourceType"
- minOccurs="0" maxOccurs="unbounded"/>
- <xsd:element name="administered-object"
- type="jakartaee:administered-objectType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="jms-connection-factory"
+ type="jakartaee:jms-connection-factoryType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="jms-destination"
+ type="jakartaee:jms-destinationType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="mail-session"
+ type="jakartaee:mail-sessionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="connection-factory"
+ type="jakartaee:connection-factory-resourceType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="administered-object"
+ type="jakartaee:administered-objectType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:group>
- <!-- **************************************************** -->
-
<xsd:group name="resourceGroup">
<xsd:annotation>
<xsd:documentation>
This group collects elements that are common to most
JNDI resource elements.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
-
<xsd:group ref="jakartaee:resourceBaseGroup"/>
-
<xsd:element name="lookup-name"
type="jakartaee:xsdStringType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- The JNDI name to be looked up to resolve a resource reference.
-
+ The JNDI name to be looked up to resolve a resource reference.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
</xsd:sequence>
</xsd:group>
- <!-- **************************************************** -->
-
<xsd:group name="resourceBaseGroup">
<xsd:annotation>
<xsd:documentation>
@@ -176,7 +191,7 @@
This group collects elements that are common to all the
JNDI resource elements. It does not include the lookup-name
element, that is only applicable to some resource elements.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -185,37 +200,34 @@
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
- A product specific name that this resource should be
- mapped to. The name of this resource, as defined by the
- resource's name element or defaulted, is a name that is
- local to the application component using the resource.
- (It's a name in the JNDI java:comp/env namespace.) Many
- application servers provide a way to map these local
- names to names of resources known to the application
- server. This mapped name is often a global JNDI name,
- but may be a name of any form.
-
- Application servers are not required to support any
- particular form or type of mapped name, nor the ability
- to use mapped names. The mapped name is
- product-dependent and often installation-dependent. No
- use of a mapped name is portable.
-
- ]]>
+ A product specific name that this resource should be
+ mapped to. The name of this resource, as defined by the
+ resource's name element or defaulted, is a name that is
+ local to the application component using the resource.
+ (It's a name in the JNDI java:comp/env namespace.) Many
+ application servers provide a way to map these local
+ names to names of resources known to the application
+ server. This mapped name is often a global JNDI name,
+ but may be a name of any form.
+
+ Application servers are not required to support any
+ particular form or type of mapped name, nor the ability
+ to use mapped names. The mapped name is
+ product-dependent and often installation-dependent. No
+ use of a mapped name is portable.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="injection-target"
type="jakartaee:injection-targetType"
minOccurs="0"
maxOccurs="unbounded"/>
-
</xsd:sequence>
</xsd:group>
+
<!-- **************************************************** -->
<xsd:complexType name="administered-objectType">
@@ -223,7 +235,7 @@
<xsd:documentation>
Configuration of an administered object.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -234,7 +246,7 @@
<xsd:documentation>
Description of this administered object.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -245,18 +257,18 @@
The name element specifies the JNDI name of the
administered object being defined.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="interface-name"
type="jakartaee:fully-qualified-classType"
- minOccurs="0">
+ minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- The administered object's interface type.
-
+ The administered object's interface type.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -265,8 +277,8 @@
<xsd:annotation>
<xsd:documentation>
- The administered object's class name.
-
+ The administered object's class name.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -276,7 +288,7 @@
<xsd:documentation>
Resource adapter name.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -289,7 +301,7 @@
Property of the administered object property. This may be a
vendor-specific property.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -298,6 +310,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="connection-factory-resourceType">
@@ -305,8 +318,8 @@
<xsd:documentation>
Configuration of a Connector Connection Factory resource.
-
- </xsd:documentation>
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="description"
@@ -316,7 +329,7 @@
<xsd:documentation>
Description of this resource.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -327,7 +340,7 @@
The name element specifies the JNDI name of the
resource being defined.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -338,8 +351,7 @@
The fully qualified class name of the connection factory
interface.
-
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -349,7 +361,7 @@
<xsd:documentation>
Resource adapter name.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -361,7 +373,7 @@
Maximum number of connections that should be concurrently
allocated for a connection pool.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -373,19 +385,19 @@
Minimum number of connections that should be concurrently
allocated for a connection pool.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="transaction-support"
- type="jakartaee:transaction-supportType"
- minOccurs="0">
+ type="jakartaee:transaction-supportType"
+ minOccurs="0">
<xsd:annotation>
<xsd:documentation>
The level of transaction support the connection factory
needs to support.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -398,7 +410,7 @@
Resource property. This may be a vendor-specific
property.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -407,14 +419,15 @@
type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="data-sourceType">
<xsd:annotation>
<xsd:documentation>
Configuration of a DataSource.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -425,7 +438,7 @@
<xsd:documentation>
Description of this DataSource.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -436,11 +449,10 @@
The name element specifies the JNDI name of the
data source being defined.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="class-name"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
@@ -449,7 +461,7 @@
DataSource, XADataSource or ConnectionPoolDataSource
implementation class.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -460,7 +472,7 @@
<xsd:documentation>
Database server name.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -471,7 +483,7 @@
<xsd:documentation>
Port number where a server is listening for requests.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -482,7 +494,7 @@
<xsd:documentation>
Name of a database on a server.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -492,13 +504,12 @@
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
A JDBC URL. If the <code>url</code> property is specified
along with other standard <code>DataSource</code> properties
such as <code>serverName</code>, <code>databaseName</code>
and <code>portNumber</code>, the more specific properties will
take precedence and <code>url</code> will be ignored.
-
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -510,7 +521,7 @@
<xsd:documentation>
User name to use for connection authentication.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -521,7 +532,7 @@
<xsd:documentation>
Password to use for connection authentication.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -534,7 +545,7 @@
JDBC DataSource property. This may be a vendor-specific
property or a less commonly used DataSource property.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -546,7 +557,7 @@
Sets the maximum time in seconds that this data source
will wait while attempting to connect to a database.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -558,7 +569,7 @@
Set to false if connections should not participate in
transactions.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -569,7 +580,7 @@
<xsd:documentation>
Isolation level for connections.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -581,7 +592,7 @@
Number of connections that should be created when a
connection pool is initialized.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -593,7 +604,7 @@
Maximum number of connections that should be concurrently
allocated for a connection pool.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -605,7 +616,7 @@
Minimum number of connections that should be concurrently
allocated for a connection pool.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -618,7 +629,7 @@
The number of seconds that a physical connection should
remain unused in the pool before the connection is
closed for a connection pool.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -630,16 +641,17 @@
The total number of statements that a connection pool
should keep open.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="descriptionType">
<xsd:annotation>
@@ -654,10 +666,10 @@
tools used by such a Deployment File consumer will display
the description when processing the parent element that
contains the description.
-
+
The lang attribute defines the language that the
description is provided in. The default value is "en" (English).
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -667,44 +679,41 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
-
<xsd:simpleType name="dewey-versionType">
<xsd:annotation>
<xsd:documentation>
This type defines a dewey decimal that is used
to describe versions of documents.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:restriction base="xsd:token">
<xsd:pattern value="\.?[0-9]+(\.[0-9]+)*"/>
</xsd:restriction>
</xsd:simpleType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="display-nameType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The display-name type contains a short name that is intended
- to be displayed by tools. It is used by display-name
- elements. The display name need not be unique.
-
- Example:
-
- ...
- <display-name xml:lang="en">
- Employee Self Service
- </display-name>
-
- The value of the xml:lang attribute is "en" (English) by default.
-
- ]]>
+ The display-name type contains a short name that is intended
+ to be displayed by tools. It is used by display-name
+ elements. The display name need not be unique.
+
+ Example:
+
+ ...
+ <display-name xml:lang="en">
+ Employee Self Service
+ </display-name>
+
+ The value of the xml:lang attribute is "en" (English) by default.
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -714,37 +723,37 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-linkType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The ejb-linkType is used by ejb-link
- elements in the ejb-ref or ejb-local-ref elements to specify
- that an enterprise bean reference is linked to enterprise bean.
-
- The value of the ejb-link element must be the ejb-name of an
- enterprise bean in the same ejb-jar file or in another ejb-jar
- file in the same Jakarta EE application unit.
-
- Alternatively, the name in the ejb-link element may be
- composed of a path name specifying the ejb-jar containing the
- referenced enterprise bean with the ejb-name of the target
- bean appended and separated from the path name by "#". The
- path name is relative to the Deployment File containing
- Deployment Component that is referencing the enterprise
- bean. This allows multiple enterprise beans with the same
- ejb-name to be uniquely identified.
-
- Examples:
-
- <ejb-link>EmployeeRecord</ejb-link>
-
- <ejb-link>../products/product.jar#ProductEJB</ejb-link>
-
- ]]>
+ The ejb-linkType is used by ejb-link
+ elements in the ejb-ref or ejb-local-ref elements to specify
+ that an enterprise bean reference is linked to enterprise bean.
+
+ The value of the ejb-link element must be the ejb-name of an
+ enterprise bean in the same ejb-jar file or in another ejb-jar
+ file in the same Jakarta EE application unit.
+
+ Alternatively, the name in the ejb-link element may be
+ composed of a path name specifying the ejb-jar containing the
+ referenced enterprise bean with the ejb-name of the target
+ bean appended and separated from the path name by "#". The
+ path name is relative to the Deployment File containing
+ Deployment Component that is referencing the enterprise
+ bean. This allows multiple enterprise beans with the same
+ ejb-name to be uniquely identified.
+
+ Examples:
+
+ <ejb-link>EmployeeRecord</ejb-link>
+
+ <ejb-link>../products/product.jar#ProductEJB</ejb-link>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -752,7 +761,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-local-refType">
<xsd:annotation>
@@ -762,25 +772,24 @@
the declaration of a reference to an enterprise bean's local
home or to the local business interface of a 3.0 bean.
The declaration consists of:
-
- - an optional description
- - the enterprise bean's reference name used in the code of the
- Deployment Component that's referencing the enterprise bean.
- - the optional expected type of the referenced enterprise bean
- - the optional expected local interface of the referenced
- enterprise bean or the local business interface of the
- referenced enterprise bean.
- - the optional expected local home interface of the referenced
- enterprise bean. Not applicable if this ejb-local-ref refers
- to the local business interface of a 3.0 bean.
- - optional ejb-link information, used to specify the
- referenced enterprise bean
- - optional elements to define injection of the named enterprise
- bean into a component field or property.
-
+
+ - an optional description
+ - the enterprise bean's reference name used in the code of the
+ Deployment Component that's referencing the enterprise bean.
+ - the optional expected type of the referenced enterprise bean
+ - the optional expected local interface of the referenced
+ enterprise bean or the local business interface of the
+ referenced enterprise bean.
+ - the optional expected local home interface of the referenced
+ enterprise bean. Not applicable if this ejb-local-ref refers
+ to the local business interface of a 3.0 bean.
+ - optional ejb-link information, used to specify the
+ referenced enterprise bean
+ - optional elements to define injection of the named enterprise
+ bean into a component field or property.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -802,28 +811,29 @@
minOccurs="0"/>
<xsd:group ref="jakartaee:resourceGroup"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-ref-nameType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The ejb-ref-name element contains the name of an enterprise bean reference.
- The enterprise bean reference is an entry in the Deployment Component's
- environment and is relative to the java:comp/env context. The name must
- be unique within the Deployment Component.
-
- It is recommended that name is prefixed with "ejb/".
-
- Example:
-
- <ejb-ref-name>ejb/Payroll</ejb-ref-name>
-
- ]]>
+ The ejb-ref-name element contains the name of an enterprise bean reference.
+ The enterprise bean reference is an entry in the Deployment Component's
+ environment and is relative to the java:comp/env context. The name must
+ be unique within the Deployment Component.
+
+ It is recommended that name is prefixed with "ejb/".
+
+ Example:
+
+ <ejb-ref-name>ejb/Payroll</ejb-ref-name>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -831,7 +841,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-refType">
<xsd:annotation>
@@ -841,27 +852,25 @@
declaration of a reference to an enterprise bean's home or
to the remote business interface of a 3.0 bean.
The declaration consists of:
-
- - an optional description
- - the enterprise bean's reference name used in the code of
- the Deployment Component that's referencing the enterprise
- bean.
- - the optional expected type of the referenced enterprise bean
- - the optional remote interface of the referenced enterprise bean
- or the remote business interface of the referenced enterprise
- bean
- - the optional expected home interface of the referenced
- enterprise bean. Not applicable if this ejb-ref
- refers to the remote business interface of a 3.0 bean.
- - optional ejb-link information, used to specify the
- referenced enterprise bean
- - optional elements to define injection of the named enterprise
- bean into a component field or property
-
-
+
+ - an optional description
+ - the enterprise bean's reference name used in the code of
+ the Deployment Component that's referencing the enterprise
+ bean.
+ - the optional expected type of the referenced enterprise bean
+ - the optional remote interface of the referenced enterprise bean
+ or the remote business interface of the referenced enterprise
+ bean
+ - the optional expected home interface of the referenced
+ enterprise bean. Not applicable if this ejb-ref
+ refers to the remote business interface of a 3.0 bean.
+ - optional ejb-link information, used to specify the
+ referenced enterprise bean
+ - optional elements to define injection of the named enterprise
+ bean into a component field or property
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -883,10 +892,12 @@
minOccurs="0"/>
<xsd:group ref="jakartaee:resourceGroup"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="ejb-ref-typeType">
<xsd:annotation>
@@ -894,13 +905,13 @@
The ejb-ref-typeType contains the expected type of the
referenced enterprise bean.
-
+
The ejb-ref-type designates a value
that must be one of the following:
-
- Entity
- Session
-
+
+ Entity
+ Session
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -911,7 +922,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="emptyType">
<xsd:annotation>
@@ -919,13 +931,15 @@
This type is used to designate an empty
element when used.
-
+
</xsd:documentation>
</xsd:annotation>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="env-entryType">
<xsd:annotation>
@@ -936,24 +950,23 @@
description, the name of the environment entry, a type
(optional if the value is injected, otherwise required), and
an optional value.
-
+
It also includes optional elements to define injection of
the named resource into fields or JavaBeans properties.
-
+
If a value is not specified and injection is requested,
no injection will occur and no entry of the specified name
will be created. This allows an initial value to be
specified in the source code without being incorrectly
changed when no override has been specified.
-
+
If a value is not specified and no injection is requested,
a value must be supplied during deployment.
-
+
This type is used by env-entry elements.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -964,108 +977,102 @@
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The env-entry-name element contains the name of a
- Deployment Component's environment entry. The name
- is a JNDI name relative to the java:comp/env
- context. The name must be unique within a
- Deployment Component. The uniqueness
- constraints must be defined within the declared
- context.
-
- Example:
-
- <env-entry-name>minAmount</env-entry-name>
-
- ]]>
+ The env-entry-name element contains the name of a
+ Deployment Component's environment entry. The name
+ is a JNDI name relative to the java:comp/env
+ context. The name must be unique within a
+ Deployment Component. The uniqueness
+ constraints must be defined within the declared
+ context.
+
+ Example:
+
+ <env-entry-name>minAmount</env-entry-name>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="env-entry-type"
type="jakartaee:env-entry-type-valuesType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The env-entry-type element contains the Java language
- type of the environment entry. If an injection target
- is specified for the environment entry, the type may
- be omitted, or must match the type of the injection
- target. If no injection target is specified, the type
- is required.
-
- Example:
-
- <env-entry-type>java.lang.Integer</env-entry-type>
-
- ]]>
+ The env-entry-type element contains the Java language
+ type of the environment entry. If an injection target
+ is specified for the environment entry, the type may
+ be omitted, or must match the type of the injection
+ target. If no injection target is specified, the type
+ is required.
+
+ Example:
+
+ <env-entry-type>java.lang.Integer</env-entry-type>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="env-entry-value"
type="jakartaee:xsdStringType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The env-entry-value designates the value of a
- Deployment Component's environment entry. The value
- must be a String that is valid for the
- constructor of the specified type that takes a
- single String parameter, or for java.lang.Character,
- a single character.
-
- Example:
-
- <env-entry-value>100.00</env-entry-value>
-
- ]]>
+ The env-entry-value designates the value of a
+ Deployment Component's environment entry. The value
+ must be a String that is valid for the
+ constructor of the specified type that takes a
+ single String parameter, or for java.lang.Character,
+ a single character.
+
+ Example:
+
+ <env-entry-value>100.00</env-entry-value>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:group ref="jakartaee:resourceGroup"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="env-entry-type-valuesType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This type contains the fully-qualified Java type of the
- environment entry value that is expected by the
- application's code.
-
- The following are the legal values of env-entry-type-valuesType:
-
- java.lang.Boolean
- java.lang.Byte
- java.lang.Character
- java.lang.String
- java.lang.Short
- java.lang.Integer
- java.lang.Long
- java.lang.Float
- java.lang.Double
- java.lang.Class
- any enumeration type (i.e. a subclass of java.lang.Enum)
-
- Examples:
-
- <env-entry-type>java.lang.Boolean</env-entry-type>
- <env-entry-type>java.lang.Class</env-entry-type>
- <env-entry-type>com.example.Color</env-entry-type>
-
- ]]>
+ This type contains the fully-qualified Java type of the
+ environment entry value that is expected by the
+ application's code.
+
+ The following are the legal values of env-entry-type-valuesType:
+
+ java.lang.Boolean
+ java.lang.Byte
+ java.lang.Character
+ java.lang.String
+ java.lang.Short
+ java.lang.Integer
+ java.lang.Long
+ java.lang.Float
+ java.lang.Double
+ java.lang.Class
+ any enumeration type (i.e. a subclass of java.lang.Enum)
+
+ Examples:
+
+ <env-entry-type>java.lang.Boolean</env-entry-type>
+ <env-entry-type>java.lang.Class</env-entry-type>
+ <env-entry-type>com.example.Color</env-entry-type>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1073,7 +1080,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="fully-qualified-classType">
<xsd:annotation>
@@ -1085,7 +1093,7 @@
of name used in Class.forName(). Tools that need the
canonical name (the name used in source code) will need
to convert this binary name to the canonical name.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1093,7 +1101,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="generic-booleanType">
<xsd:annotation>
@@ -1102,7 +1111,7 @@
This type defines four different values which can designate
boolean values. This includes values yes and no which are
not designated by xsd:boolean
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1115,7 +1124,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="iconType">
<xsd:annotation>
@@ -1125,69 +1135,67 @@
that specify the file names for small and large GIF, JPEG,
or PNG icon images used to represent the parent element in a
GUI tool.
-
+
The xml:lang attribute defines the language that the
icon file names are provided in. Its value is "en" (English)
by default.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
- <xsd:element name="small-icon" type="jakartaee:pathType"
+ <xsd:element name="small-icon"
+ type="jakartaee:pathType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The small-icon element contains the name of a file
- containing a small (16 x 16) icon image. The file
- name is a relative path within the Deployment
- Component's Deployment File.
-
- The image may be in the GIF, JPEG, or PNG format.
- The icon can be used by tools.
-
- Example:
-
- <small-icon>employee-service-icon16x16.jpg</small-icon>
-
- ]]>
+ The small-icon element contains the name of a file
+ containing a small (16 x 16) icon image. The file
+ name is a relative path within the Deployment
+ Component's Deployment File.
+
+ The image may be in the GIF, JPEG, or PNG format.
+ The icon can be used by tools.
+
+ Example:
+
+ <small-icon>employee-service-icon16x16.jpg</small-icon>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
- <xsd:element name="large-icon" type="jakartaee:pathType"
+ <xsd:element name="large-icon"
+ type="jakartaee:pathType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The large-icon element contains the name of a file
- containing a large
- (32 x 32) icon image. The file name is a relative
- path within the Deployment Component's Deployment
- File.
-
- The image may be in the GIF, JPEG, or PNG format.
- The icon can be used by tools.
-
- Example:
-
- <large-icon>employee-service-icon32x32.jpg</large-icon>
-
- ]]>
+ The large-icon element contains the name of a file
+ containing a large
+ (32 x 32) icon image. The file name is a relative
+ path within the Deployment Component's Deployment
+ File.
+
+ The image may be in the GIF, JPEG, or PNG format.
+ The icon can be used by tools.
+
+ Example:
+
+ <large-icon>employee-service-icon32x32.jpg</large-icon>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
</xsd:sequence>
-
<xsd:attribute ref="xml:lang"/>
- <xsd:attribute name="id" type="xsd:ID"/>
-
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="injection-targetType">
<xsd:annotation>
@@ -1195,22 +1203,22 @@
An injection target specifies a class and a name within
that class into which a resource should be injected.
-
+
The injection target class specifies the fully qualified
class name that is the target of the injection. The
Jakarta EE specifications describe which classes can be an
injection target.
-
+
The injection target name specifies the target within
the specified class. The target is first looked for as a
JavaBeans property name. If not found, the target is
looked for as a field name.
-
+
The specified resource will be injected into the target
during initialization of the class by either calling the
set method for the target property or by setting a value
into the named field.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -1221,19 +1229,17 @@
</xsd:sequence>
</xsd:complexType>
- <!-- ***************************************************** -->
-
<xsd:simpleType name="isolation-levelType">
<xsd:annotation>
<xsd:documentation>
- The following transaction isolation levels are allowed
- (see documentation for the java.sql.Connection interface):
- TRANSACTION_READ_UNCOMMITTED
- TRANSACTION_READ_COMMITTED
- TRANSACTION_REPEATABLE_READ
- TRANSACTION_SERIALIZABLE
-
+ The following transaction isolation levels are allowed
+ (see documentation for the java.sql.Connection interface):
+ TRANSACTION_READ_UNCOMMITTED
+ TRANSACTION_READ_COMMITTED
+ TRANSACTION_REPEATABLE_READ
+ TRANSACTION_SERIALIZABLE
+
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
@@ -1244,7 +1250,8 @@
</xsd:restriction>
</xsd:simpleType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="java-identifierType">
<xsd:annotation>
@@ -1253,7 +1260,7 @@
The java-identifierType defines a Java identifier.
The users of this type should further verify that
the content does not contain Java reserved keywords.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1263,7 +1270,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="java-typeType">
<xsd:annotation>
@@ -1272,7 +1280,7 @@
This is a generic type that designates a Java primitive
type or a fully qualified name of a Java interface/type,
or an array of such types.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1282,33 +1290,34 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="jdbc-urlType">
<xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
The jdbc-urlType contains the url pattern of the mapping.
It must follow the rules specified in Section 9.3 of the
JDBC Specification where the format is:
-
- jdbc:<subprotocol>:<subname>
-
+
+ jdbc:<subprotocol>:<subname>
+
Example:
-
- <url>jdbc:mysql://localhost:3307/testdb</url>
-
- ]]>
+
+ <url>jdbc:mysql://localhost:3307/testdb</url>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:pattern value="jdbc:(.*):(.*)"/>
+ <xsd:pattern value="jdbc:(.*):(.*)"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="jms-connection-factoryType">
@@ -1316,7 +1325,7 @@
<xsd:documentation>
Configuration of a Messaging Connection Factory.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -1327,7 +1336,7 @@
<xsd:documentation>
Description of this Messaging Connection Factory.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1338,7 +1347,7 @@
The name element specifies the JNDI name of the
messaging connection factory being defined.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1348,12 +1357,12 @@
<xsd:annotation>
<xsd:documentation>
- Fully-qualified name of the messaging connection factory
- interface. Permitted values are jakarta.jms.ConnectionFactory,
- jakarta.jms.QueueConnectionFactory, or
- jakarta.jms.TopicConnectionFactory. If not specified,
- jakarta.jms.ConnectionFactory will be used.
-
+ Fully-qualified name of the messaging connection factory
+ interface. Permitted values are jakarta.jms.ConnectionFactory,
+ jakarta.jms.QueueConnectionFactory, or
+ jakarta.jms.TopicConnectionFactory. If not specified,
+ jakarta.jms.ConnectionFactory will be used.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1363,10 +1372,10 @@
<xsd:annotation>
<xsd:documentation>
- Fully-qualified name of the messaging connection factory
- implementation class. Ignored if a resource adapter
- is used.
-
+ Fully-qualified name of the messaging connection factory
+ implementation class. Ignored if a resource adapter
+ is used.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1379,7 +1388,7 @@
Resource adapter name. If not specified, the application
server will define the default behavior, which may or may
not involve the use of a resource adapter.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1390,7 +1399,7 @@
<xsd:documentation>
User name to use for connection authentication.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1401,7 +1410,7 @@
<xsd:documentation>
Password to use for connection authentication.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1412,7 +1421,7 @@
<xsd:documentation>
Client id to use for connection.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1425,7 +1434,7 @@
Messaging Connection Factory property. This may be a vendor-specific
property or a less commonly used ConnectionFactory property.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1437,7 +1446,7 @@
Set to false if connections should not participate in
transactions.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1449,7 +1458,7 @@
Maximum number of connections that should be concurrently
allocated for a connection pool.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1461,7 +1470,7 @@
Minimum number of connections that should be concurrently
allocated for a connection pool.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1478,7 +1487,7 @@
<xsd:documentation>
Configuration of a Messaging Destination.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -1489,7 +1498,7 @@
<xsd:documentation>
Description of this Messaging Destination.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1500,7 +1509,7 @@
The name element specifies the JNDI name of the
messaging destination being defined.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1509,9 +1518,9 @@
<xsd:annotation>
<xsd:documentation>
- Fully-qualified name of the messaging destination interface.
- Permitted values are jakarta.jms.Queue and jakarta.jms.Topic
-
+ Fully-qualified name of the messaging destination interface.
+ Permitted values are jakarta.jms.Queue and jakarta.jms.Topic
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1521,11 +1530,11 @@
<xsd:annotation>
<xsd:documentation>
- Fully-qualified name of the messaging destination implementation
- class. Ignored if a resource adapter is used unless the
- resource adapter defines more than one destination implementation
- class for the specified interface.
-
+ Fully-qualified name of the messaging destination implementation
+ class. Ignored if a resource adapter is used unless the
+ resource adapter defines more than one destination implementation
+ class for the specified interface.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1538,7 +1547,7 @@
Resource adapter name. If not specified, the application
server will define the default behavior, which may or may
not involve the use of a resource adapter.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1549,7 +1558,7 @@
<xsd:documentation>
Name of the queue or topic.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1562,7 +1571,7 @@
Messaging Destination property. This may be a vendor-specific
property or a less commonly used Destination property.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1572,8 +1581,7 @@
</xsd:complexType>
-
- <!-- ***************************************************** -->
+<!-- **************************************************** -->
<xsd:complexType name="jndi-nameType">
<xsd:annotation>
@@ -1583,7 +1591,7 @@
Deployment Component's environment and is relative to the
java:comp/env context. A JNDI name must be unique within the
Deployment Component.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1591,21 +1599,21 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="homeType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The homeType defines the fully-qualified name of
- an enterprise bean's home interface.
-
- Example:
-
- <home>com.aardvark.payroll.PayrollHome</home>
-
- ]]>
+ The homeType defines the fully-qualified name of
+ an enterprise bean's home interface.
+
+ Example:
+
+ <home>com.aardvark.payroll.PayrollHome</home>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1614,7 +1622,7 @@
</xsd:complexType>
- <!-- **************************************************** -->
+<!-- **************************************************** -->
<xsd:complexType name="lifecycle-callbackType">
<xsd:annotation>
@@ -1625,12 +1633,12 @@
Note that each class may have only one lifecycle callback
method for any given event and that the method may not
be overloaded.
-
+
If the lifefycle-callback-class element is missing then
the class defining the callback is assumed to be the
component class in scope at the place in the descriptor
in which the callback definition appears.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -1642,7 +1650,8 @@
</xsd:sequence>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="listenerType">
<xsd:annotation>
@@ -1650,10 +1659,9 @@
The listenerType indicates the deployment properties for a web
application listener bean.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="listener-class"
@@ -1665,15 +1673,17 @@
application must be registered as a web
application listener bean. The value is the fully
qualified classname of the listener class.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="localType">
<xsd:annotation>
@@ -1681,7 +1691,7 @@
The localType defines the fully-qualified name of an
enterprise bean's local interface.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1689,7 +1699,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="local-homeType">
<xsd:annotation>
@@ -1697,7 +1708,7 @@
The local-homeType defines the fully-qualified
name of an enterprise bean's local home interface.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1705,6 +1716,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="mail-sessionType">
@@ -1712,7 +1724,7 @@
<xsd:documentation>
Configuration of a Mail Session resource.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -1723,7 +1735,7 @@
<xsd:documentation>
Description of this Mail Session resource.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1734,7 +1746,7 @@
The name element specifies the JNDI name of the
Mail Session resource being defined.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1745,7 +1757,7 @@
<xsd:documentation>
Storage protocol.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1755,8 +1767,8 @@
<xsd:annotation>
<xsd:documentation>
- Service provider store protocol implementation class
-
+ Service provider store protocol implementation class
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1767,7 +1779,7 @@
<xsd:documentation>
Transport protocol.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1777,8 +1789,8 @@
<xsd:annotation>
<xsd:documentation>
- Service provider transport protocol implementation class
-
+ Service provider transport protocol implementation class
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1789,7 +1801,7 @@
<xsd:documentation>
Mail server host name.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1800,7 +1812,7 @@
<xsd:documentation>
Mail server user name.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1811,7 +1823,7 @@
<xsd:documentation>
Password.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1822,7 +1834,7 @@
<xsd:documentation>
Email address to indicate the message sender.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1835,7 +1847,7 @@
Mail server property. This may be a vendor-specific
property.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1845,7 +1857,7 @@
</xsd:complexType>
- <!-- ***************************************************** -->
+<!-- **************************************************** -->
<xsd:complexType name="param-valueType">
<xsd:annotation>
@@ -1853,10 +1865,9 @@
This type is a general type that can be used to declare
parameter/value lists.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -1869,11 +1880,10 @@
The param-name element contains the name of a
parameter.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="param-value"
type="jakartaee:xsdStringType">
<xsd:annotation>
@@ -1881,15 +1891,17 @@
The param-value element contains the value of a
parameter.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="pathType">
<xsd:annotation>
@@ -1897,7 +1909,7 @@
The elements that use this type designate either a relative
path or an absolute path starting with a "/".
-
+
In elements that specify a pathname to a file within the
same Deployment File, relative filenames (i.e., those not
starting with "/") are considered relative to the root of
@@ -1906,7 +1918,7 @@
the Deployment File's namespace. In general, relative names
are preferred. The exception is .war files where absolute
names are preferred for consistency with the Servlet API.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1914,48 +1926,48 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="persistence-context-refType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The persistence-context-ref element contains a declaration
- of Deployment Component's reference to a persistence context
- associated within a Deployment Component's
- environment. It consists of:
-
- - an optional description
- - the persistence context reference name
- - an optional persistence unit name. If not specified,
- the default persistence unit is assumed.
- - an optional specification as to whether
- the persistence context type is Transaction or
- Extended. If not specified, Transaction is assumed.
- - an optional specification as to whether
- the persistence context synchronization with the current
- transaction is Synchronized or Unsynchronized. If not
- specified, Synchronized is assumed.
- - an optional list of persistence properties
- - optional injection targets
-
- Examples:
-
- <persistence-context-ref>
- <persistence-context-ref-name>myPersistenceContext
- </persistence-context-ref-name>
- </persistence-context-ref>
-
- <persistence-context-ref>
- <persistence-context-ref-name>myPersistenceContext
- </persistence-context-ref-name>
- <persistence-unit-name>PersistenceUnit1
- </persistence-unit-name>
- <persistence-context-type>Extended</persistence-context-type>
- </persistence-context-ref>
-
- ]]>
+ The persistence-context-ref element contains a declaration
+ of Deployment Component's reference to a persistence context
+ associated within a Deployment Component's
+ environment. It consists of:
+
+ - an optional description
+ - the persistence context reference name
+ - an optional persistence unit name. If not specified,
+ the default persistence unit is assumed.
+ - an optional specification as to whether
+ the persistence context type is Transaction or
+ Extended. If not specified, Transaction is assumed.
+ - an optional specification as to whether
+ the persistence context synchronization with the current
+ transaction is Synchronized or Unsynchronized. If not
+ specified, Synchronized is assumed.
+ - an optional list of persistence properties
+ - optional injection targets
+
+ Examples:
+
+ <persistence-context-ref>
+ <persistence-context-ref-name>myPersistenceContext
+ </persistence-context-ref-name>
+ </persistence-context-ref>
+
+ <persistence-context-ref>
+ <persistence-context-ref-name>myPersistenceContext
+ </persistence-context-ref-name>
+ <persistence-unit-name>PersistenceUnit1
+ </persistence-unit-name>
+ <persistence-context-type>Extended</persistence-context-type>
+ </persistence-context-ref>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -1973,7 +1985,7 @@
value is the environment entry name used in
Deployment Component code. The name is a JNDI name
relative to the java:comp/env context.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1986,7 +1998,7 @@
The Application Assembler(or BeanProvider) may use the
following syntax to avoid the need to rename persistence
units to have unique names within a Jakarta EE application.
-
+
The Application Assembler specifies the pathname of the
root of the persistence.xml file for the referenced
persistence unit and appends the name of the persistence
@@ -1995,19 +2007,16 @@
In this manner, multiple persistence units with the same
persistence unit name may be uniquely identified when the
Application Assembler cannot change persistence unit names.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="persistence-context-type"
type="jakartaee:persistence-context-typeType"
minOccurs="0"/>
-
<xsd:element name="persistence-context-synchronization"
type="jakartaee:persistence-context-synchronizationType"
minOccurs="0"/>
-
<xsd:element name="persistence-property"
type="jakartaee:propertyType"
minOccurs="0"
@@ -2022,19 +2031,18 @@
namespace jakarta.persistence and its subnamespaces must not
be used for vendor-specific properties. The namespace
jakarta.persistence is reserved for use by the specification.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:group ref="jakartaee:resourceBaseGroup"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
-
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="persistence-context-synchronizationType">
<xsd:annotation>
@@ -2043,12 +2051,12 @@
The persistence-context-synchronizationType specifies
whether a container-managed persistence context is automatically
synchronized with the current transaction.
-
+
The value of the persistence-context-synchronization element
must be one of the following:
- Synchronized
- Unsynchronized
-
+ Synchronized
+ Unsynchronized
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2058,7 +2066,9 @@
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+
+<!-- **************************************************** -->
<xsd:complexType name="persistence-context-typeType">
<xsd:annotation>
@@ -2066,12 +2076,12 @@
The persistence-context-typeType specifies the transactional
nature of a persistence context reference.
-
+
The value of the persistence-context-type element must be
one of the following:
- Transaction
- Extended
-
+ Transaction
+ Extended
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2082,6 +2092,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="propertyType">
@@ -2089,10 +2100,9 @@
<xsd:documentation>
Specifies a name/value pair.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="name"
type="jakartaee:xsdStringType">
@@ -2101,42 +2111,43 @@
type="jakartaee:xsdStringType">
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="persistence-unit-refType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The persistence-unit-ref element contains a declaration
- of Deployment Component's reference to a persistence unit
- associated within a Deployment Component's
- environment. It consists of:
-
- - an optional description
- - the persistence unit reference name
- - an optional persistence unit name. If not specified,
- the default persistence unit is assumed.
- - optional injection targets
-
- Examples:
-
- <persistence-unit-ref>
- <persistence-unit-ref-name>myPersistenceUnit
- </persistence-unit-ref-name>
- </persistence-unit-ref>
-
- <persistence-unit-ref>
- <persistence-unit-ref-name>myPersistenceUnit
- </persistence-unit-ref-name>
- <persistence-unit-name>PersistenceUnit1
- </persistence-unit-name>
- </persistence-unit-ref>
-
- ]]>
+ The persistence-unit-ref element contains a declaration
+ of Deployment Component's reference to a persistence unit
+ associated within a Deployment Component's
+ environment. It consists of:
+
+ - an optional description
+ - the persistence unit reference name
+ - an optional persistence unit name. If not specified,
+ the default persistence unit is assumed.
+ - optional injection targets
+
+ Examples:
+
+ <persistence-unit-ref>
+ <persistence-unit-ref-name>myPersistenceUnit
+ </persistence-unit-ref-name>
+ </persistence-unit-ref>
+
+ <persistence-unit-ref>
+ <persistence-unit-ref-name>myPersistenceUnit
+ </persistence-unit-ref-name>
+ <persistence-unit-name>PersistenceUnit1
+ </persistence-unit-name>
+ </persistence-unit-ref>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -2154,7 +2165,7 @@
value is the environment entry name used in
Deployment Component code. The name is a JNDI name
relative to the java:comp/env context.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -2167,7 +2178,7 @@
The Application Assembler(or BeanProvider) may use the
following syntax to avoid the need to rename persistence
units to have unique names within a Jakarta EE application.
-
+
The Application Assembler specifies the pathname of the
root of the persistence.xml file for the referenced
persistence unit and appends the name of the persistence
@@ -2176,33 +2187,31 @@
In this manner, multiple persistence units with the same
persistence unit name may be uniquely identified when the
Application Assembler cannot change persistence unit names.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:group ref="jakartaee:resourceBaseGroup"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
-
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="remoteType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The remote element contains the fully-qualified name
- of the enterprise bean's remote interface.
-
- Example:
-
- <remote>com.wombat.empl.EmployeeService</remote>
-
- ]]>
+ The remote element contains the fully-qualified name
+ of the enterprise bean's remote interface.
+
+ Example:
+
+ <remote>com.wombat.empl.EmployeeService</remote>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2210,44 +2219,43 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="resource-env-refType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The resource-env-refType is used to define
- resource-env-ref elements. It contains a declaration of a
- Deployment Component's reference to an administered object
- associated with a resource in the Deployment Component's
- environment. It consists of an optional description, the
- resource environment reference name, and an optional
- indication of the resource environment reference type
- expected by the Deployment Component code.
-
- It also includes optional elements to define injection of
- the named resource into fields or JavaBeans properties.
-
- The resource environment type must be supplied unless an
- injection target is specified, in which case the type
- of the target is used. If both are specified, the type
- must be assignment compatible with the type of the injection
- target.
-
- Example:
-
- <resource-env-ref>
- <resource-env-ref-name>jms/StockQueue
- </resource-env-ref-name>
- <resource-env-ref-type>jakarta.jms.Queue
- </resource-env-ref-type>
- </resource-env-ref>
-
- ]]>
+ The resource-env-refType is used to define
+ resource-env-ref elements. It contains a declaration of a
+ Deployment Component's reference to an administered object
+ associated with a resource in the Deployment Component's
+ environment. It consists of an optional description, the
+ resource environment reference name, and an optional
+ indication of the resource environment reference type
+ expected by the Deployment Component code.
+
+ It also includes optional elements to define injection of
+ the named resource into fields or JavaBeans properties.
+
+ The resource environment type must be supplied unless an
+ injection target is specified, in which case the type
+ of the target is used. If both are specified, the type
+ must be assignment compatible with the type of the injection
+ target.
+
+ Example:
+
+ <resource-env-ref>
+ <resource-env-ref-name>jms/StockQueue
+ </resource-env-ref-name>
+ <resource-env-ref-type>jakarta.jms.Queue
+ </resource-env-ref-type>
+ </resource-env-ref>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -2264,11 +2272,10 @@
the Deployment Component code. The name is a JNDI
name relative to the java:comp/env context and must
be unique within a Deployment Component.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="resource-env-ref-type"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
@@ -2279,56 +2286,54 @@
of a resource environment reference. It is the
fully qualified name of a Java language class or
interface.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:group ref="jakartaee:resourceGroup"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ***************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="resource-refType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The resource-refType contains a declaration of a
- Deployment Component's reference to an external resource. It
- consists of an optional description, the resource manager
- connection factory reference name, an optional indication of
- the resource manager connection factory type expected by the
- Deployment Component code, an optional type of authentication
- (Application or Container), and an optional specification of
- the shareability of connections obtained from the resource
- (Shareable or Unshareable).
-
- It also includes optional elements to define injection of
- the named resource into fields or JavaBeans properties.
-
- The connection factory type must be supplied unless an
- injection target is specified, in which case the type
- of the target is used. If both are specified, the type
- must be assignment compatible with the type of the injection
- target.
-
- Example:
-
- <resource-ref>
- <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
- <res-type>javax.sql.DataSource</res-type>
- <res-auth>Container</res-auth>
- <res-sharing-scope>Shareable</res-sharing-scope>
- </resource-ref>
-
- ]]>
+ The resource-refType contains a declaration of a
+ Deployment Component's reference to an external resource. It
+ consists of an optional description, the resource manager
+ connection factory reference name, an optional indication of
+ the resource manager connection factory type expected by the
+ Deployment Component code, an optional type of authentication
+ (Application or Container), and an optional specification of
+ the shareability of connections obtained from the resource
+ (Shareable or Unshareable).
+
+ It also includes optional elements to define injection of
+ the named resource into fields or JavaBeans properties.
+
+ The connection factory type must be supplied unless an
+ injection target is specified, in which case the type
+ of the target is used. If both are specified, the type
+ must be assignment compatible with the type of the injection
+ target.
+
+ Example:
+
+ <resource-ref>
+ <res-ref-name>jdbc/EmployeeAppDB</res-ref-name>
+ <res-type>javax.sql.DataSource</res-type>
+ <res-auth>Container</res-auth>
+ <res-sharing-scope>Shareable</res-sharing-scope>
+ </resource-ref>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -2344,11 +2349,10 @@
The name is a JNDI name relative to the
java:comp/env context.
The name must be unique within a Deployment File.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="res-type"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
@@ -2359,26 +2363,24 @@
source. The type is specified by the fully qualified
Java language class or interface
expected to be implemented by the data source.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="res-auth"
type="jakartaee:res-authType"
minOccurs="0"/>
-
<xsd:element name="res-sharing-scope"
type="jakartaee:res-sharing-scopeType"
minOccurs="0"/>
-
<xsd:group ref="jakartaee:resourceGroup"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="res-authType">
<xsd:annotation>
@@ -2390,12 +2392,12 @@
on behalf of the Deployment Component. In the latter case,
the Container uses information that is supplied by the
Deployer.
-
+
The value must be one of the two following:
-
- Application
- Container
-
+
+ Application
+ Container
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2406,7 +2408,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="res-sharing-scopeType">
<xsd:annotation>
@@ -2416,12 +2419,12 @@
obtained through the given resource manager connection
factory reference can be shared. The value, if specified,
must be one of the two following:
-
- Shareable
- Unshareable
-
+
+ Shareable
+ Unshareable
+
The default value is Shareable.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2432,7 +2435,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="run-asType">
<xsd:annotation>
@@ -2441,10 +2445,9 @@
The run-asType specifies the run-as identity to be
used for the execution of a component. It contains an
optional description, and the name of a security role.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -2453,52 +2456,52 @@
<xsd:element name="role-name"
type="jakartaee:role-nameType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="role-nameType">
<xsd:annotation>
<xsd:documentation>
The role-nameType designates the name of a security role.
-
+
The name must conform to the lexical rules for a token.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string"/>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="security-roleType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The security-roleType contains the definition of a security
- role. The definition consists of an optional description of
- the security role, and the security role name.
-
- Example:
-
- <security-role>
- <description>
- This role includes all employees who are authorized
- to access the employee service application.
- </description>
- <role-name>employee</role-name>
- </security-role>
-
- ]]>
+ The security-roleType contains the definition of a security
+ role. The definition consists of an optional description of
+ the security role, and the security role name.
+
+ Example:
+
+ <security-role>
+ <description>
+ This role includes all employees who are authorized
+ to access the employee service application.
+ </description>
+ <role-name>employee</role-name>
+ </security-role>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -2507,10 +2510,12 @@
<xsd:element name="role-name"
type="jakartaee:role-nameType"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="security-role-refType">
<xsd:annotation>
@@ -2523,10 +2528,9 @@
code, and an optional link to a security role. If the
security role is not specified, the Deployer must choose an
appropriate security role.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -2541,11 +2545,10 @@
as the parameter to the
EJBContext.isCallerInRole(String roleName) method or the
HttpServletRequest.isUserInRole(String role) method.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="role-link"
type="jakartaee:role-nameType"
minOccurs="0">
@@ -2556,151 +2559,169 @@
security role. The role-link element must contain
the name of one of the security roles defined in the
security-role elements.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdQNameType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:QName.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:QName">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdBooleanType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:boolean.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:boolean">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdNMTOKENType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:NMTOKEN.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:NMTOKEN">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdAnyURIType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:anyURI.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:anyURI">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdIntegerType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:integer.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:integer">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdPositiveIntegerType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:positiveInteger.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:positiveInteger">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdNonNegativeIntegerType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:nonNegativeInteger.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:nonNegativeInteger">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="xsdStringType">
<xsd:annotation>
<xsd:documentation>
This type adds an "id" attribute to xsd:string.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:string">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="string">
<xsd:annotation>
@@ -2711,17 +2732,19 @@
require trailing/leading space elimination as well as
collapsing the existing whitespace, this base type may be
used.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:token">
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="true-falseType">
<xsd:annotation>
@@ -2729,10 +2752,10 @@
This simple type designates a boolean with only two
permissible values
-
+
- true
- false
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2742,7 +2765,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="url-patternType">
<xsd:annotation>
@@ -2755,7 +2779,7 @@
If it contains those characters, the container must inform
the developer with a descriptive error message.
The container must preserve all characters including whitespaces.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2763,36 +2787,36 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="message-destinationType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The message-destinationType specifies a message
- destination. The logical destination described by this
- element is mapped to a physical destination by the Deployer.
-
- The message destination element contains:
-
- - an optional description
- - an optional display-name
- - an optional icon
- - a message destination name which must be unique
- among message destination names within the same
- Deployment File.
- - an optional mapped name
- - an optional lookup name
-
- Example:
-
- <message-destination>
- <message-destination-name>CorporateStocks
- </message-destination-name>
- </message-destination>
-
- ]]>
+ The message-destinationType specifies a message
+ destination. The logical destination described by this
+ element is mapped to a physical destination by the Deployer.
+
+ The message destination element contains:
+
+ - an optional description
+ - an optional display-name
+ - an optional icon
+ - a message destination name which must be unique
+ among message destination names within the same
+ Deployment File.
+ - an optional mapped name
+ - an optional lookup name
+
+ Example:
+
+ <message-destination>
+ <message-destination-name>CorporateStocks
+ </message-destination-name>
+ </message-destination>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -2806,7 +2830,7 @@
name for a message destination. This name must be
unique among the names of message destinations
within the Deployment File.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -2815,89 +2839,85 @@
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
- A product specific name that this message destination
- should be mapped to. Each message-destination-ref
- element that references this message destination will
- define a name in the namespace of the referencing
- component or in one of the other predefined namespaces.
- Many application servers provide a way to map these
- local names to names of resources known to the
- application server. This mapped name is often a global
- JNDI name, but may be a name of any form. Each of the
- local names should be mapped to this same global name.
-
- Application servers are not required to support any
- particular form or type of mapped name, nor the ability
- to use mapped names. The mapped name is
- product-dependent and often installation-dependent. No
- use of a mapped name is portable.
-
- ]]>
+ A product specific name that this message destination
+ should be mapped to. Each message-destination-ref
+ element that references this message destination will
+ define a name in the namespace of the referencing
+ component or in one of the other predefined namespaces.
+ Many application servers provide a way to map these
+ local names to names of resources known to the
+ application server. This mapped name is often a global
+ JNDI name, but may be a name of any form. Each of the
+ local names should be mapped to this same global name.
+
+ Application servers are not required to support any
+ particular form or type of mapped name, nor the ability
+ to use mapped names. The mapped name is
+ product-dependent and often installation-dependent. No
+ use of a mapped name is portable.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="lookup-name"
type="jakartaee:xsdStringType"
minOccurs="0">
<xsd:annotation>
<xsd:documentation>
- The JNDI name to be looked up to resolve the message destination.
-
+ The JNDI name to be looked up to resolve the message destination.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="message-destination-refType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The message-destination-ref element contains a declaration
- of Deployment Component's reference to a message destination
- associated with a resource in Deployment Component's
- environment. It consists of:
-
- - an optional description
- - the message destination reference name
- - an optional message destination type
- - an optional specification as to whether
- the destination is used for
- consuming or producing messages, or both.
- if not specified, "both" is assumed.
- - an optional link to the message destination
- - optional injection targets
-
- The message destination type must be supplied unless an
- injection target is specified, in which case the type
- of the target is used. If both are specified, the type
- must be assignment compatible with the type of the injection
- target.
-
-
- Examples:
-
- <message-destination-ref>
- <message-destination-ref-name>jms/StockQueue
- </message-destination-ref-name>
- <message-destination-type>jakarta.jms.Queue
- </message-destination-type>
- <message-destination-usage>Consumes
- </message-destination-usage>
- <message-destination-link>CorporateStocks
- </message-destination-link>
- </message-destination-ref>
-
- ]]>
+ The message-destination-ref element contains a declaration
+ of Deployment Component's reference to a message destination
+ associated with a resource in Deployment Component's
+ environment. It consists of:
+
+ - an optional description
+ - the message destination reference name
+ - an optional message destination type
+ - an optional specification as to whether
+ the destination is used for
+ consuming or producing messages, or both.
+ if not specified, "both" is assumed.
+ - an optional link to the message destination
+ - optional injection targets
+
+ The message destination type must be supplied unless an
+ injection target is specified, in which case the type
+ of the target is used. If both are specified, the type
+ must be assignment compatible with the type of the injection
+ target.
+
+ Examples:
+
+ <message-destination-ref>
+ <message-destination-ref-name>jms/StockQueue
+ </message-destination-ref-name>
+ <message-destination-type>jakarta.jms.Queue
+ </message-destination-type>
+ <message-destination-usage>Consumes
+ </message-destination-usage>
+ <message-destination-link>CorporateStocks
+ </message-destination-link>
+ </message-destination-ref>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -2914,7 +2934,7 @@
the name of a message destination reference; its
value is the environment entry name used in
Deployment Component code.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -2927,15 +2947,14 @@
<xsd:element name="message-destination-link"
type="jakartaee:message-destination-linkType"
minOccurs="0"/>
-
<xsd:group ref="jakartaee:resourceGroup"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
-
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="message-destination-usageType">
<xsd:annotation>
@@ -2947,13 +2966,13 @@
destination, produced for the destination, or both. The
Assembler makes use of this information in linking producers
of a destination with its consumers.
-
+
The value of the message-destination-usage element must be
one of the following:
- Consumes
- Produces
- ConsumesProduces
-
+ Consumes
+ Produces
+ ConsumesProduces
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2965,23 +2984,23 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="message-destination-typeType">
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The message-destination-typeType specifies the type of
- the destination. The type is specified by the Java interface
- expected to be implemented by the destination.
-
- Example:
-
- <message-destination-type>jakarta.jms.Queue
- </message-destination-type>
-
- ]]>
+ The message-destination-typeType specifies the type of
+ the destination. The type is specified by the Java interface
+ expected to be implemented by the destination.
+
+ Example:
+
+ <message-destination-type>jakarta.jms.Queue
+ </message-destination-type>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2989,7 +3008,8 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="message-destination-linkType">
<xsd:annotation>
@@ -2998,14 +3018,14 @@
The message-destination-linkType is used to link a message
destination reference or message-driven bean to a message
destination.
-
+
The Assembler sets the value to reflect the flow of messages
between producers and consumers in the application.
-
+
The value must be the message-destination-name of a message
destination in the same Deployment File or in another
Deployment File in the same Jakarta EE application unit.
-
+
Alternatively, the value may be composed of a path name
specifying a Deployment File containing the referenced
message destination with the message-destination-name of the
@@ -3014,7 +3034,7 @@
containing Deployment Component that is referencing the
message destination. This allows multiple message
destinations with the same name to be uniquely identified.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -3022,29 +3042,30 @@
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="transaction-supportType">
<xsd:annotation>
<xsd:documentation>
- The transaction-supportType specifies the level of
- transaction support provided by the resource adapter. It is
- used by transaction-support elements.
-
- The value must be one of the following:
-
- NoTransaction
- LocalTransaction
- XATransaction
-
+ The transaction-supportType specifies the level of
+ transaction support provided by the resource adapter. It is
+ used by transaction-support elements.
+
+ The value must be one of the following:
+
+ NoTransaction
+ LocalTransaction
+ XATransaction
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
- <xsd:enumeration value="NoTransaction"/>
- <xsd:enumeration value="LocalTransaction"/>
- <xsd:enumeration value="XATransaction"/>
+ <xsd:enumeration value="NoTransaction"/>
+ <xsd:enumeration value="LocalTransaction"/>
+ <xsd:enumeration value="XATransaction"/>
</xsd:restriction>
</xsd:simpleContent>
</xsd:complexType>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_2_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_2_0.xsd
index 1d3b846..5bc5315 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_2_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_2_0.xsd
@@ -1,78 +1,74 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="2.0">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="2.0">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license-ibm.inc" parse="text"/>
+
+ (C) Copyright International Business Machines Corporation 2002
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- The webservices element is the root element for the web services
- deployment descriptor. It specifies the set of web service
- descriptions that are to be deployed into the Jakarta EE Application
- Server and the dependencies they have on container resources and
- services. The deployment descriptor must be named
- "META-INF/webservices.xml" in the web services' jar file.
-
- Used in: webservices.xml
-
- All webservices deployment descriptors must indicate the
- webservices schema by using the Jakarta EE namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and by indicating the version of the schema by using the version
- element as shown below:
-
- <webservices xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
- https://jakarta.ee/xml/ns/jakartaee/jakartaee_web_services_2_0.xsd"
- version="2.0">
- ...
- </webservices>
-
- The instance documents may indicate the published version of the
- schema using the xsi:schemaLocation attribute for the Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/jakartaee_web_services_2_0.xsd
-
- ]]>
+ The webservices element is the root element for the web services
+ deployment descriptor. It specifies the set of web service
+ descriptions that are to be deployed into the Jakarta EE Application
+ Server and the dependencies they have on container resources and
+ services. The deployment descriptor must be named
+ "META-INF/webservices.xml" in the web services' jar file.
+
+ Used in: webservices.xml
+
+ All webservices deployment descriptors must indicate the
+ webservices schema by using the Jakarta EE namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by using the version
+ element as shown below:
+
+ <webservices xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/jakartaee_web_services_2_0.xsd"
+ version="2.0">
+ ...
+ </webservices>
+
+ The instance documents may indicate the published version of the
+ schema using the xsi:schemaLocation attribute for the Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/jakartaee_web_services_2_0.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
@@ -81,16 +77,16 @@
The following conventions apply to all Jakarta EE
deployment descriptor elements unless indicated otherwise.
-
+
- In elements that specify a pathname to a file within the
- same JAR file, relative filenames (i.e., those not
- starting with "/") are considered relative to the root of
- the JAR file's namespace. Absolute filenames (i.e., those
- starting with "/") also specify names in the root of the
- JAR file's namespace. In general, relative names are
- preferred. The exception is .war files where absolute
- names are preferred for consistency with the Servlet API.
-
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
@@ -99,288 +95,303 @@
<!-- **************************************************** -->
- <xsd:element name="webservices" type="jakartaee:webservicesType">
+ <xsd:element name="webservices"
+ type="jakartaee:webservicesType">
<xsd:annotation>
<xsd:documentation>
- The webservices element is the root element for the web services
- deployment descriptor. It specifies the set of web service
- descriptions that are to be deployed into the Jakarta EE Application Server
- and the dependencies they have on container resources and services.
-
- Used in: webservices.xml
-
+ The webservices element is the root element for the web services
+ deployment descriptor. It specifies the set of web service
+ descriptions that are to be deployed into the Jakarta EE Application Server
+ and the dependencies they have on container resources and services.
+
+ Used in: webservices.xml
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:key name="webservice-description-name-key">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The webservice-description-name identifies the collection of
- port-components associated with a WSDL file and Jakarta XML RPC mapping.
- The name must be unique within the deployment descriptor.
-
- </xsd:documentation>
+ The webservice-description-name identifies the collection of
+ port-components associated with a WSDL file and Jakarta XML RPC mapping.
+ The name must be unique within the deployment descriptor.
+
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:webservice-description"/>
<xsd:field xpath="jakartaee:webservice-description-name"/>
</xsd:key>
</xsd:element>
+
<!-- **************************************************** -->
<xsd:complexType name="port-componentType">
<xsd:annotation>
<xsd:documentation>
- The port-component element associates a WSDL port with a web service
- interface and implementation. It defines the name of the port as a
- component, optional description, optional display name, optional iconic
- representations, WSDL port QName, Service Endpoint Interface, Service
- Implementation Bean.
-
- This element also associates a WSDL service with a Jakarta XML Web Services
- Provider implementation.
-
+ The port-component element associates a WSDL port with a web service
+ interface and implementation. It defines the name of the port as a
+ component, optional description, optional display name, optional iconic
+ representations, WSDL port QName, Service Endpoint Interface, Service
+ Implementation Bean.
+
+ This element also associates a WSDL service with a Jakarta XML Web Services
+ Provider implementation.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0" maxOccurs="1"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="1"/>
<xsd:element name="display-name"
- type="jakartaee:display-nameType"
- minOccurs="0" maxOccurs="1"/>
+ type="jakartaee:display-nameType"
+ minOccurs="0"
+ maxOccurs="1"/>
<xsd:element name="icon"
- type="jakartaee:iconType"
- minOccurs="0" maxOccurs="1"/>
+ type="jakartaee:iconType"
+ minOccurs="0"
+ maxOccurs="1"/>
<xsd:element name="port-component-name"
- type="jakartaee:string">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The port-component-name element specifies a port component's
- name. This name is assigned by the module producer to name
- the service implementation bean in the module's deployment
- descriptor. The name must be unique among the port component
- names defined in the same module.
-
- Used in: port-component
-
- Example:
- <port-component-name>EmployeeService
- </port-component-name>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The port-component-name element specifies a port component's
+ name. This name is assigned by the module producer to name
+ the service implementation bean in the module's deployment
+ descriptor. The name must be unique among the port component
+ names defined in the same module.
+
+ Used in: port-component
+
+ Example:
+ <port-component-name>EmployeeService
+ </port-component-name>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-service"
- type="jakartaee:xsdQNameType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdQNameType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- Defines the name space and local name part of the WSDL
- service QName. This is required to be specified for
- port components that are Jakarta XML Web Services
- Provider implementations.
-
- </xsd:documentation>
- </xsd:annotation>
+ Defines the name space and local name part of the WSDL
+ service QName. This is required to be specified for
+ port components that are Jakarta XML Web Services
+ Provider implementations.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-port"
- type="jakartaee:xsdQNameType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdQNameType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- Defines the name space and local name part of the WSDL
- port QName. This is not required to be specified for port
- components that are Jakarta XML Web Services Provider
- implementations
-
- </xsd:documentation>
- </xsd:annotation>
+ Defines the name space and local name part of the WSDL
+ port QName. This is not required to be specified for port
+ components that are Jakarta XML Web Services Provider
+ implementations
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="enable-mtom"
type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Used to enable or disable SOAP MTOM/XOP mechanism for an
endpoint implementation.
-
- Not to be specified for Jakarta XML RPC runtime
+
+ Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="mtom-threshold"
type="jakartaee:xsdNonNegativeIntegerType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
When MTOM is enabled, binary data above this size in bytes
will be XOP encoded or sent as attachment. Default value is 0.
-
+
Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="addressing"
type="jakartaee:addressingType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
This specifies the WS-Addressing requirements for a Jakarta XML
- web service. It corresponds to jakarta.xml.ws.soap.Addressing
+ web service. It corresponds to jakarta.xml.ws.soap.Addressing
annotation or its feature jakarta.xml.ws.soap.AddressingFeature.
-
+
See the addressingType for more information.
-
- Not to be specified for Jakarta XML RPC runtime
+
+ Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="respect-binding"
type="jakartaee:respect-bindingType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Corresponds to the jakarta.xml.ws.RespectBinding annotation
or its corresponding jakarta.xml.ws.RespectBindingFeature web
service feature. This is used to control whether a Jakarta XML Web
- Services implementation must respect/honor the contents of the
+ Services implementation must respect/honor the contents of the
wsdl:binding in the WSDL that is associated with the service.
-
+
Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="protocol-binding"
type="jakartaee:protocol-bindingType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Used to specify the protocol binding used by the port-component.
- If this element is not specified, then the default binding is
+ If this element is not specified, then the default binding is
used (SOAP 1.1 over HTTP)
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="service-endpoint-interface"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The service-endpoint-interface element contains the
- fully-qualified name of the port component's Service Endpoint
- Interface.
-
- Used in: port-component
-
- Example:
- <remote>com.wombat.empl.EmployeeService</remote>
-
- This may not be specified in case there is no Service
- Enpoint Interface as is the case with directly using an
- implementation class with the @WebService annotation.
-
- When the port component is a Provider implementation
- this is not specified.
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The service-endpoint-interface element contains the
+ fully-qualified name of the port component's Service Endpoint
+ Interface.
+
+ Used in: port-component
+
+ Example:
+ <remote>com.wombat.empl.EmployeeService</remote>
+
+ This may not be specified in case there is no Service
+ Enpoint Interface as is the case with directly using an
+ implementation class with the @WebService annotation.
+
+ When the port component is a Provider implementation
+ this is not specified.
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="service-impl-bean"
- type="jakartaee:service-impl-beanType"/>
-
+ type="jakartaee:service-impl-beanType"/>
<xsd:choice>
- <xsd:element name="handler"
- type="jakartaee:handlerType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
- To be used with Jakarta XML RPC based runtime only.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="handler-chains"
- type="jakartaee:handler-chainsType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
- To be used with Jakarta XML Web Services based runtime only.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:choice>
+ <xsd:element name="handler"
+ type="jakartaee:handlerType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ To be used with Jakarta XML RPC based runtime only.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="handler-chains"
+ type="jakartaee:handler-chainsType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ To be used with Jakarta XML Web Services based runtime only.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="service-impl-beanType">
<xsd:annotation>
<xsd:documentation>
- The service-impl-bean element defines the web service implementation.
- A service implementation can be an enterprise bean class or Jakarta
- XML RPC web component. Existing enterprise bean implementations
- are exposed as a web service using an ejb-link.
-
- Used in: port-component
-
+ The service-impl-bean element defines the web service implementation.
+ A service implementation can be an enterprise bean class or Jakarta
+ XML RPC web component. Existing enterprise bean implementations
+ are exposed as a web service using an ejb-link.
+
+ Used in: port-component
+
</xsd:documentation>
</xsd:annotation>
<xsd:choice>
<xsd:element name="ejb-link"
- type="jakartaee:ejb-linkType"/>
+ type="jakartaee:ejb-linkType"/>
<xsd:element name="servlet-link"
- type="jakartaee:servlet-linkType"/>
+ type="jakartaee:servlet-linkType"/>
</xsd:choice>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="servlet-linkType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- The servlet-link element is used in the service-impl-bean element
- to specify that a Service Implementation Bean is defined as a
- Jakarta XML RPC Service Endpoint.
-
- The value of the servlet-link element must be the servlet-name of
- a Jakarta XML RPC Service Endpoint in the same WAR file.
-
- Used in: service-impl-bean
-
- Example:
- <servlet-link>StockQuoteService</servlet-link>
-
- ]]>
+ <![CDATA[
+ The servlet-link element is used in the service-impl-bean element
+ to specify that a Service Implementation Bean is defined as a
+ Jakarta XML RPC Service Endpoint.
+
+ The value of the servlet-link element must be the servlet-name of
+ a Jakarta XML RPC Service Endpoint in the same WAR file.
+
+ Used in: service-impl-bean
+
+ Example:
+ <servlet-link>StockQuoteService</servlet-link>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -388,145 +399,153 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="webservice-descriptionType">
<xsd:annotation>
<xsd:documentation>
- The webservice-description element defines a WSDL document file
- and the set of Port components associated with the WSDL ports
- defined in the WSDL document. There may be multiple
- webservice-descriptions defined within a module.
-
- All WSDL file ports must have a corresponding port-component element
- defined.
-
- Used in: webservices
-
+ The webservice-description element defines a WSDL document file
+ and the set of Port components associated with the WSDL ports
+ defined in the WSDL document. There may be multiple
+ webservice-descriptions defined within a module.
+
+ All WSDL file ports must have a corresponding port-component element
+ defined.
+
+ Used in: webservices
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
- type="jakartaee:descriptionType"
- minOccurs="0" maxOccurs="1"/>
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="1"/>
<xsd:element name="display-name"
- type="jakartaee:display-nameType"
- minOccurs="0" maxOccurs="1"/>
+ type="jakartaee:display-nameType"
+ minOccurs="0"
+ maxOccurs="1"/>
<xsd:element name="icon"
- type="jakartaee:iconType"
- minOccurs="0" maxOccurs="1"/>
+ type="jakartaee:iconType"
+ minOccurs="0"
+ maxOccurs="1"/>
<xsd:element name="webservice-description-name"
- type="jakartaee:string">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
- The webservice-description-name identifies the collection of
- port-components associated with a WSDL file and Jakarta XML RPC
- mapping. The name must be unique within the deployment descriptor.
-
- </xsd:documentation>
- </xsd:annotation>
+ The webservice-description-name identifies the collection of
+ port-components associated with a WSDL file and Jakarta XML RPC
+ mapping. The name must be unique within the deployment descriptor.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="wsdl-file"
- type="jakartaee:pathType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The wsdl-file element contains the name of a WSDL file in the
- module. The file name is a relative path within the module.
-
- </xsd:documentation>
- </xsd:annotation>
+ The wsdl-file element contains the name of a WSDL file in the
+ module. The file name is a relative path within the module.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="jaxrpc-mapping-file"
- type="jakartaee:pathType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The jaxrpc-mapping-file element contains the name of a file that
- describes the Jakarta XML RPC mapping between the Java interaces used by
- the application and the WSDL description in the wsdl-file. The
- file name is a relative path within the module.
-
- This is not required when JAX-Jakarta Enterprise Web Services based
- runtime is used.
-
- </xsd:documentation>
- </xsd:annotation>
+ The jaxrpc-mapping-file element contains the name of a file that
+ describes the Jakarta XML RPC mapping between the Java interaces used by
+ the application and the WSDL description in the wsdl-file. The
+ file name is a relative path within the module.
+
+ This is not required when JAX-Jakarta Enterprise Web Services based
+ runtime is used.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="port-component"
- type="jakartaee:port-componentType"
- minOccurs="1" maxOccurs="unbounded">
- <xsd:key name="port-component_handler-name-key">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:port-componentType"
+ minOccurs="1"
+ maxOccurs="unbounded">
+ <xsd:key name="port-component_handler-name-key">
+ <xsd:annotation>
+ <xsd:documentation>
- Defines the name of the handler. The name must be unique
- within the module.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:handler"/>
- <xsd:field xpath="jakartaee:handler-name"/>
- </xsd:key>
+ Defines the name of the handler. The name must be unique
+ within the module.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:handler"/>
+ <xsd:field xpath="jakartaee:handler-name"/>
+ </xsd:key>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="webservicesType">
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="webservice-description"
- type="jakartaee:webservice-descriptionType"
- minOccurs="1" maxOccurs="unbounded">
- <xsd:key name="port-component-name-key">
- <xsd:annotation>
- <xsd:documentation>
- <![CDATA[
-
- The port-component-name element specifies a port
- component's name. This name is assigned by the module
- producer to name the service implementation bean in the
- module's deployment descriptor. The name must be unique
- among the port component names defined in the same module.
-
- Used in: port-component
-
- Example:
- <port-component-name>EmployeeService
- </port-component-name>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:port-component"/>
- <xsd:field xpath="jakartaee:port-component-name"/>
- </xsd:key>
+ type="jakartaee:webservice-descriptionType"
+ minOccurs="1"
+ maxOccurs="unbounded">
+ <xsd:key name="port-component-name-key">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ The port-component-name element specifies a port
+ component's name. This name is assigned by the module
+ producer to name the service implementation bean in the
+ module's deployment descriptor. The name must be unique
+ among the port component names defined in the same module.
+
+ Used in: port-component
+
+ Example:
+ <port-component-name>EmployeeService
+ </port-component-name>
+
+
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:port-component"/>
+ <xsd:field xpath="jakartaee:port-component-name"/>
+ </xsd:key>
</xsd:element>
</xsd:sequence>
-
<xsd:attribute name="version"
- type="jakartaee:dewey-versionType"
- fixed="2.0"
- use="required">
+ type="jakartaee:dewey-versionType"
+ fixed="2.0"
+ use="required">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The required value for the version is 2.0.
-
- </xsd:documentation>
+ The required value for the version is 2.0.
+
+ </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
</xsd:schema>
-
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_client_2_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_client_2_0.xsd
index 6694577..72e0435 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_client_2_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_client_2_0.xsd
@@ -1,282 +1,285 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="2.0">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="2.0">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license-ibm.inc" parse="text"/>
+
+ (C) Copyright International Business Machines Corporation 2002
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="service-refType">
<xsd:annotation>
<xsd:documentation>
- The service-ref element declares a reference to a Web
- service. It contains optional description, display name and
- icons, a declaration of the required Service interface,
- an optional WSDL document location, an optional set
- of Jakarta XML RPC mappings, an optional QName for the service element,
- an optional set of Service Endpoint Interfaces to be resolved
- by the container to a WSDL port, and an optional set of handlers.
-
+ The service-ref element declares a reference to a Web
+ service. It contains optional description, display name and
+ icons, a declaration of the required Service interface,
+ an optional WSDL document location, an optional set
+ of Jakarta XML RPC mappings, an optional QName for the service element,
+ an optional set of Service Endpoint Interfaces to be resolved
+ by the container to a WSDL port, and an optional set of handlers.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="service-ref-name"
- type="jakartaee:jndi-nameType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:jndi-nameType">
+ <xsd:annotation>
+ <xsd:documentation>
- The service-ref-name element declares logical name that the
- components in the module use to look up the Web service. It
- is recommended that all service reference names start with
- "service/".
-
- </xsd:documentation>
- </xsd:annotation>
+ The service-ref-name element declares logical name that the
+ components in the module use to look up the Web service. It
+ is recommended that all service reference names start with
+ "service/".
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="service-interface"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
- The service-interface element declares the fully qualified class
- name of the Jakarta XML RPC Service interface the client depends on.
- In most cases the value will be jakarta.xml.rpc.Service. A Jakarta XML
- RPC generated Service Interface class may also be specified.
-
- </xsd:documentation>
- </xsd:annotation>
+ The service-interface element declares the fully qualified class
+ name of the Jakarta XML RPC Service interface the client depends on.
+ In most cases the value will be jakarta.xml.rpc.Service. A Jakarta XML
+ RPC generated Service Interface class may also be specified.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="service-ref-type"
- type="jakartaee:fully-qualified-classType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The service-ref-type element declares the type of the service-ref
- element that is injected or returned when a JNDI lookup is done.
- This must be either a fully qualified name of Service class or
- the fully qualified name of service endpoint interface class.
- This is only used with Jakarta XML Web Services runtime where
- the corresponding @WebServiceRef annotation can be used to denote both
- a Service or a Port.
-
- If this is not specified, then the type of service-ref element
- that is injected or returned when a JNDI lookup is done is
- always a Service interface/class.
- </xsd:documentation>
- </xsd:annotation>
+ The service-ref-type element declares the type of the service-ref
+ element that is injected or returned when a JNDI lookup is done.
+ This must be either a fully qualified name of Service class or
+ the fully qualified name of service endpoint interface class.
+ This is only used with Jakarta XML Web Services runtime where
+ the corresponding @WebServiceRef annotation can be used to denote both
+ a Service or a Port.
+
+ If this is not specified, then the type of service-ref element
+ that is injected or returned when a JNDI lookup is done is
+ always a Service interface/class.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
-
<xsd:element name="wsdl-file"
- type="jakartaee:xsdAnyURIType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdAnyURIType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The wsdl-file element contains the URI location of a WSDL
- file. The location is relative to the root of the module.
-
- </xsd:documentation>
- </xsd:annotation>
+ The wsdl-file element contains the URI location of a WSDL
+ file. The location is relative to the root of the module.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="jaxrpc-mapping-file"
- type="jakartaee:pathType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The jaxrpc-mapping-file element contains the name of a file that
- describes the Jakarta XML RPC mapping between the Java interaces used by
- the application and the WSDL description in the wsdl-file. The
- file name is a relative path within the module file.
-
- This is not required when Jakarta Enterprise Web Services based
- runtime is used.
-
- </xsd:documentation>
- </xsd:annotation>
+ The jaxrpc-mapping-file element contains the name of a file that
+ describes the Jakarta XML RPC mapping between the Java interaces used by
+ the application and the WSDL description in the wsdl-file. The
+ file name is a relative path within the module file.
+
+ This is not required when Jakarta Enterprise Web Services based
+ runtime is used.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="service-qname"
- type="jakartaee:xsdQNameType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdQNameType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The service-qname element declares the specific WSDL service
- element that is being refered to. It is not specified if no
- wsdl-file is declared.
-
- </xsd:documentation>
- </xsd:annotation>
+ The service-qname element declares the specific WSDL service
+ element that is being refered to. It is not specified if no
+ wsdl-file is declared.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="port-component-ref"
- type="jakartaee:port-component-refType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:port-component-refType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The port-component-ref element declares a client dependency
- on the container for resolving a Service Endpoint Interface
- to a WSDL port. It optionally associates the Service Endpoint
- Interface with a particular port-component. This is only used
- by the container for a Service.getPort(Class) method call.
-
- </xsd:documentation>
- </xsd:annotation>
+ The port-component-ref element declares a client dependency
+ on the container for resolving a Service Endpoint Interface
+ to a WSDL port. It optionally associates the Service Endpoint
+ Interface with a particular port-component. This is only used
+ by the container for a Service.getPort(Class) method call.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:choice>
- <xsd:element name="handler"
- type="jakartaee:handlerType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ <xsd:element name="handler"
+ type="jakartaee:handlerType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- Declares the handler for a port-component. Handlers can
- access the init-param name/value pairs using the
- HandlerInfo interface. If port-name is not specified, the
- handler is assumed to be associated with all ports of the
- service.
+ Declares the handler for a port-component. Handlers can
+ access the init-param name/value pairs using the
+ HandlerInfo interface. If port-name is not specified, the
+ handler is assumed to be associated with all ports of the
+ service.
+
+ To be used with Jakarta XML RPC based runtime only.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="handler-chains"
+ type="jakartaee:handler-chainsType"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- To be used with Jakarta XML RPC based runtime only.
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- <xsd:element name="handler-chains"
- type="jakartaee:handler-chainsType"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
- To be used with Jakarta XML Web Services based runtime only.
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
+ To be used with Jakarta XML Web Services based runtime only.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
</xsd:choice>
-
<xsd:group ref="jakartaee:resourceGroup"/>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="port-component-refType">
<xsd:annotation>
<xsd:documentation>
- The port-component-ref element declares a client dependency
- on the container for resolving a Service Endpoint Interface
- to a WSDL port. It optionally associates the Service Endpoint
- Interface with a particular port-component. This is only used
- by the container for a Service.getPort(Class) method call.
-
+ The port-component-ref element declares a client dependency
+ on the container for resolving a Service Endpoint Interface
+ to a WSDL port. It optionally associates the Service Endpoint
+ Interface with a particular port-component. This is only used
+ by the container for a Service.getPort(Class) method call.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="service-endpoint-interface"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
- The service-endpoint-interface element defines a fully qualified
- Java class that represents the Service Endpoint Interface of a
- WSDL port.
-
- </xsd:documentation>
- </xsd:annotation>
+ The service-endpoint-interface element defines a fully qualified
+ Java class that represents the Service Endpoint Interface of a
+ WSDL port.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="enable-mtom"
type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
Used to enable or disable SOAP MTOM/XOP mechanism on the client
- side for a port-component.
-
- Not to be specified for Jakarta XML RPC runtime
+ side for a port-component.
+
+ Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="mtom-threshold"
type="jakartaee:xsdNonNegativeIntegerType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
When MTOM is enabled, binary data above this size in bytes
should be XOP encoded or sent as attachment. Default value is 0.
-
+
Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="addressing"
type="jakartaee:addressingType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
This specifies the WS-Addressing requirements for a Jakarta XML
web service. It corresponds to jakarta.xml.ws.soap.Addressing
annotation or its feature jakarta.xml.ws.soap.AddressingFeature.
-
+
See the addressingType for more information.
-
+
Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="respect-binding"
type="jakartaee:respect-bindingType"
- minOccurs="0" maxOccurs="1">
+ minOccurs="0"
+ maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
@@ -285,217 +288,213 @@
service feature. This is used to control whether a Jakarta XML Web
Services implementation must respect/honor the contents of the
wsdl:binding in the WSDL that is associated with the service.
-
+
Not to be specified for Jakarta XML RPC runtime
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="port-component-link"
- type="jakartaee:string"
- minOccurs="0" maxOccurs="1">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string"
+ minOccurs="0"
+ maxOccurs="1">
+ <xsd:annotation>
+ <xsd:documentation>
- The port-component-link element links a port-component-ref
- to a specific port-component required to be made available
- by a service reference.
-
- The value of a port-component-link must be the
- port-component-name of a port-component in the same module
- or another module in the same application unit. The syntax
- for specification follows the syntax defined for ejb-link
- in the EJB 2.0 specification.
-
- </xsd:documentation>
- </xsd:annotation>
+ The port-component-link element links a port-component-ref
+ to a specific port-component required to be made available
+ by a service reference.
+
+ The value of a port-component-link must be the
+ port-component-name of a port-component in the same module
+ or another module in the same application unit. The syntax
+ for specification follows the syntax defined for ejb-link
+ in the EJB 2.0 specification.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="handler-chainsType">
<xsd:annotation>
<xsd:documentation>
- The handler-chains element defines the handlerchains associated with this
- service or service endpoint.
-
+ The handler-chains element defines the handlerchains associated with this
+ service or service endpoint.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
- <xsd:element name="handler-chain"
+ <xsd:element name="handler-chain"
type="jakartaee:handler-chainType"
- minOccurs="0" maxOccurs="unbounded"/>
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
-
+
+
<!-- **************************************************** -->
<xsd:complexType name="handler-chainType">
<xsd:annotation>
<xsd:documentation>
- The handler-chain element defines the handlerchain.
- Handlerchain can be defined such that the handlers in the
- handlerchain operate,all ports of a service, on a specific
- port or on a list of protocol-bindings. The choice of elements
- service-name-pattern, port-name-pattern and protocol-bindings
- are used to specify whether the handlers in handler-chain are
- for a service, port or protocol binding. If none of these
- choices are specified with the handler-chain element then the
- handlers specified in the handler-chain will be applied on
- everything.
-
+ The handler-chain element defines the handlerchain.
+ Handlerchain can be defined such that the handlers in the
+ handlerchain operate,all ports of a service, on a specific
+ port or on a list of protocol-bindings. The choice of elements
+ service-name-pattern, port-name-pattern and protocol-bindings
+ are used to specify whether the handlers in handler-chain are
+ for a service, port or protocol binding. If none of these
+ choices are specified with the handler-chain element then the
+ handlers specified in the handler-chain will be applied on
+ everything.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
- <xsd:choice minOccurs="0" maxOccurs="1">
- <xsd:element name="service-name-pattern"
- type="jakartaee:qname-pattern" />
- <xsd:element name="port-name-pattern"
- type="jakartaee:qname-pattern" />
- <xsd:element name="protocol-bindings"
- type="jakartaee:protocol-bindingListType"/>
+ <xsd:choice minOccurs="0"
+ maxOccurs="1">
+ <xsd:element name="service-name-pattern"
+ type="jakartaee:qname-pattern"/>
+ <xsd:element name="port-name-pattern"
+ type="jakartaee:qname-pattern"/>
+ <xsd:element name="protocol-bindings"
+ type="jakartaee:protocol-bindingListType"/>
</xsd:choice>
-
- <xsd:element name="handler"
+ <xsd:element name="handler"
type="jakartaee:handlerType"
- minOccurs="1" maxOccurs="unbounded"/>
+ minOccurs="1"
+ maxOccurs="unbounded"/>
</xsd:sequence>
-
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="protocol-bindingListType">
- <xsd:annotation>
- <xsd:documentation>
- Defines the type used for specifying a list of
- protocol-bindingType(s). For e.g.
+ <xsd:annotation>
+ <xsd:documentation>
- ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:list itemType="jakartaee:protocol-bindingType"/>
+ Defines the type used for specifying a list of
+ protocol-bindingType(s). For e.g.
+
+ ##SOAP11_HTTP ##SOAP12_HTTP ##XML_HTTP
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:list itemType="jakartaee:protocol-bindingType"/>
</xsd:simpleType>
-
-<!-- **************************************************** -->
-
<xsd:simpleType name="protocol-bindingType">
- <xsd:annotation>
- <xsd:documentation>
- Defines the type used for specifying the URI for the
- protocol binding used by the port-component. For
- portability one could use one of the following tokens that
- alias the standard binding types:
-
- ##SOAP11_HTTP
- ##SOAP11_HTTP_MTOM
- ##SOAP12_HTTP
- ##SOAP12_HTTP_MTOM
- ##XML_HTTP
+ <xsd:annotation>
+ <xsd:documentation>
- Other specifications could define tokens that start with ##
- to alias new standard binding URIs that are introduced.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:union memberTypes="xsd:anyURI jakartaee:protocol-URIAliasType"/>
+ Defines the type used for specifying the URI for the
+ protocol binding used by the port-component. For
+ portability one could use one of the following tokens that
+ alias the standard binding types:
+
+ ##SOAP11_HTTP
+ ##SOAP11_HTTP_MTOM
+ ##SOAP12_HTTP
+ ##SOAP12_HTTP_MTOM
+ ##XML_HTTP
+
+ Other specifications could define tokens that start with ##
+ to alias new standard binding URIs that are introduced.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:union memberTypes="xsd:anyURI jakartaee:protocol-URIAliasType"/>
</xsd:simpleType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="protocol-URIAliasType">
- <xsd:annotation>
- <xsd:documentation>
- Defines the type that is used for specifying tokens that
- start with ## which are used to alias existing standard
- protocol bindings and support aliases for new standard
- binding URIs that are introduced in future specifications.
+ <xsd:annotation>
+ <xsd:documentation>
- The following tokens alias the standard protocol binding
- URIs:
-
- ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
- ##SOAP11_HTTP_MTOM =
- "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
- ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
- ##SOAP12_HTTP_MTOM =
- "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
- ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:restriction base="xsd:token">
- <xsd:pattern value="##.+"/>
- </xsd:restriction>
+ Defines the type that is used for specifying tokens that
+ start with ## which are used to alias existing standard
+ protocol bindings and support aliases for new standard
+ binding URIs that are introduced in future specifications.
+
+ The following tokens alias the standard protocol binding
+ URIs:
+
+ ##SOAP11_HTTP = "http://schemas.xmlsoap.org/wsdl/soap/http"
+ ##SOAP11_HTTP_MTOM =
+ "http://schemas.xmlsoap.org/wsdl/soap/http?mtom=true"
+ ##SOAP12_HTTP = "http://www.w3.org/2003/05/soap/bindings/HTTP/"
+ ##SOAP12_HTTP_MTOM =
+ "http://www.w3.org/2003/05/soap/bindings/HTTP/?mtom=true"
+ ##XML_HTTP = "http://www.w3.org/2004/08/wsdl/http"
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="##.+"/>
+ </xsd:restriction>
</xsd:simpleType>
-
-
-<!-- **************************************************** -->
<xsd:simpleType name="qname-pattern">
- <xsd:annotation>
- <xsd:documentation>
- This is used to specify the QName pattern in the
- attribute service-name-pattern and port-name-pattern in
- the handler-chain element
+ <xsd:annotation>
+ <xsd:documentation>
- For example, the various forms acceptable here for
- service-name-pattern attribute in handler-chain element
- are :
-
- Exact Name: service-name-pattern="ns1:EchoService"
-
- In this case, handlers specified in this
- handler-chain element will apply to all ports with
- this exact service name. The namespace prefix must
- have been declared in a namespace declaration
- attribute in either the start-tag of the element
- where the prefix is used or in an an ancestor
- element (i.e. an element in whose content the
- prefixed markup occurs)
-
-
- Pattern : service-name-pattern="ns1:EchoService*"
-
- In this case, handlers specified in this
- handler-chain element will apply to all ports whose
- Service names are like EchoService1, EchoServiceFoo
- etc. The namespace prefix must have been declared in
- a namespace declaration attribute in either the
- start-tag of the element where the prefix is used or
- in an an ancestor element (i.e. an element in whose
- content the prefixed markup occurs)
-
- Wild Card : service-name-pattern="*"
-
- In this case, handlers specified in this handler-chain
- element will apply to ports of all service names.
-
- The same can be applied to port-name attribute in
- handler-chain element.
-
- </xsd:documentation>
- </xsd:annotation>
-
- <xsd:restriction base="xsd:token">
- <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/>
- </xsd:restriction>
-
+ This is used to specify the QName pattern in the
+ attribute service-name-pattern and port-name-pattern in
+ the handler-chain element
+
+ For example, the various forms acceptable here for
+ service-name-pattern attribute in handler-chain element
+ are :
+
+ Exact Name: service-name-pattern="ns1:EchoService"
+
+ In this case, handlers specified in this
+ handler-chain element will apply to all ports with
+ this exact service name. The namespace prefix must
+ have been declared in a namespace declaration
+ attribute in either the start-tag of the element
+ where the prefix is used or in an an ancestor
+ element (i.e. an element in whose content the
+ prefixed markup occurs)
+
+
+ Pattern : service-name-pattern="ns1:EchoService*"
+
+ In this case, handlers specified in this
+ handler-chain element will apply to all ports whose
+ Service names are like EchoService1, EchoServiceFoo
+ etc. The namespace prefix must have been declared in
+ a namespace declaration attribute in either the
+ start-tag of the element where the prefix is used or
+ in an an ancestor element (i.e. an element in whose
+ content the prefixed markup occurs)
+
+ Wild Card : service-name-pattern="*"
+
+ In this case, handlers specified in this handler-chain
+ element will apply to ports of all service names.
+
+ The same can be applied to port-name attribute in
+ handler-chain element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="\*|([\i-[:]][\c-[:]]*:)?[\i-[:]][\c-[:]]*\*?"/>
+ </xsd:restriction>
</xsd:simpleType>
+
<!-- **************************************************** -->
<xsd:complexType name="addressingType">
@@ -505,38 +504,45 @@
This specifies the WS-Addressing requirements for a Jakarta XML web
service. It corresponds to jakarta.xml.ws.soap.Addressing annotation or its
feature jakarta.xml.ws.soap.AddressingFeature.
-
+
If the "enabled" element is "true", WS-Addressing is enabled.
It means that the endpoint supports WS-Addressing but does not require
its use. The default value for "enabled" is "true".
-
+
If the WS-Addressing is enabled and the "required" element is "true",
it means that the endpoint requires WS-Addressing. The default value
for "required" is "false".
-
+
If WS-Addressing is enabled, the "responses" element determines
if an endpoint requires the use of only anonymous responses,
or only non-anonymous responses, or all. The value of the "responses"
element must be one of the following:
-
+
ANONYMOUS
NON_ANONYMOUS
ALL
-
+
The default value for the "responses" is ALL.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
- <xsd:element name="enabled" type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1"/>
- <xsd:element name="required" type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1"/>
- <xsd:element name="responses" type="jakartaee:addressing-responsesType"
- minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="enabled"
+ type="jakartaee:true-falseType"
+ minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="required"
+ type="jakartaee:true-falseType"
+ minOccurs="0"
+ maxOccurs="1"/>
+ <xsd:element name="responses"
+ type="jakartaee:addressing-responsesType"
+ minOccurs="0"
+ maxOccurs="1"/>
</xsd:sequence>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="addressing-responsesType">
@@ -546,7 +552,7 @@
If WS-Addressing is enabled, this type determines if an endpoint
requires the use of only anonymous responses, or only non-anonymous
responses, or all.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -558,6 +564,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="respect-bindingType">
@@ -569,133 +576,139 @@
service feature. This is used to control whether a Jakarta XML
Web Services implementation must respect/honor the contents of the
wsdl:binding in the WSDL that is associated with the service.
-
+
If the "enabled" element is "true", wsdl:binding in the
associated WSDL, if any, must be respected/honored.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
- <xsd:element name="enabled" type="jakartaee:true-falseType"
- minOccurs="0" maxOccurs="1"/>
+ <xsd:element name="enabled"
+ type="jakartaee:true-falseType"
+ minOccurs="0"
+ maxOccurs="1"/>
</xsd:sequence>
-
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="handlerType">
<xsd:annotation>
<xsd:documentation>
- Declares the handler for a port-component, service-ref. Handlers can
+ Declares the handler for a port-component, service-ref. Handlers can
access the init-param name/value pairs using the HandlerInfo interface.
-
- Used in: port-component, service-ref
-
+
+ Used in: port-component, service-ref
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="handler-name"
- type="jakartaee:string">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
- Defines the name of the handler. The name must be unique within the
- module.
-
- </xsd:documentation>
- </xsd:annotation>
+ Defines the name of the handler. The name must be unique within the
+ module.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="handler-class"
- type="jakartaee:fully-qualified-classType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
- Defines a fully qualified class name for the handler implementation.
-
- </xsd:documentation>
- </xsd:annotation>
+ Defines a fully qualified class name for the handler implementation.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="init-param"
- type="jakartaee:param-valueType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:param-valueType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- Not to be specified for Jakarta XML Web Services runtime
-
- </xsd:documentation>
- </xsd:annotation>
+ Not to be specified for Jakarta XML Web Services runtime
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="soap-header"
- type="jakartaee:xsdQNameType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:xsdQNameType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- Defines the QName of a SOAP header that will be processed by the
- handler.
-
- Not to be specified for Jakarta XML Web Services runtime
-
- </xsd:documentation>
- </xsd:annotation>
+ Defines the QName of a SOAP header that will be processed by the
+ handler.
+
+ Not to be specified for Jakarta XML Web Services runtime
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="soap-role"
- type="jakartaee:string"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The soap-role element contains a SOAP actor definition that the
- Handler will play as a role.
-
- </xsd:documentation>
- </xsd:annotation>
+ The soap-role element contains a SOAP actor definition that the
+ Handler will play as a role.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="port-name"
- type="jakartaee:string"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The port-name element defines the WSDL port-name that a
- handler should be associated with. If port-name is not
+ The port-name element defines the WSDL port-name that a
+ handler should be associated with. If port-name is not
specified, the handler is assumed to be associated with
all ports of the service.
-
- Not to be specified for Jakarta XML Web Services runtime
-
- </xsd:documentation>
- </xsd:annotation>
+
+ Not to be specified for Jakarta XML Web Services runtime
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
<xsd:group name="service-refGroup">
<xsd:sequence>
<xsd:element name="service-ref"
- type="jakartaee:service-refType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:key name="service-ref_handler-name-key">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:service-refType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:key name="service-ref_handler-name-key">
+ <xsd:annotation>
+ <xsd:documentation>
- Defines the name of the handler. The name must be unique
- within the module.
-
- </xsd:documentation>
- </xsd:annotation>
- <xsd:selector xpath="jakartaee:handler"/>
- <xsd:field xpath="jakartaee:handler-name"/>
- </xsd:key>
+ Defines the name of the handler. The name must be unique
+ within the module.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:handler"/>
+ <xsd:field xpath="jakartaee:handler-name"/>
+ </xsd:key>
</xsd:element>
</xsd:sequence>
</xsd:group>
+
</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_metadata_handler_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_metadata_handler_3_0.xsd
new file mode 100644
index 0000000..5154222
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jakartaee_web_services_metadata_handler_3_0.xsd
@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Distribution License v. 1.0, which is available at
+ http://www.eclipse.org/org/documents/edl-v10.php.
+
+ SPDX-License-Identifier: BSD-3-Clause
+
+-->
+
+<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="3.0">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ This is the XML Schema for the Handler chain configuration descriptor.
+ The configuration file must be in the classpath within the JAR/WAR file.
+
+ All Handler chain configuration descriptors
+ should indicate the descriptor schema by using the Jakarta EE
+ namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <handler-chains xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/jakartaee_web_services_metadata_handler_3_0.xsd"
+ version="3.0">
+ ...
+ </handler-chains>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/jakartaee_web_services_metadata_handler_3_0.xsd
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:include schemaLocation="jakartaee_9.xsds"/>
+
+ <xsd:element name="handler-chains"
+ type="jakartaee:service-ref_handler-chainsType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The handler-chains element is the root element for defining
+ handlerchains.
+
+ The Jakarta Web Services Metadata
+ specification defines the @jakarta.jws.HandlerChain annotation
+ that refers to an XML descriptor conforming to this schema.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jobXML_2_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jobXML_2_0.xsd
new file mode 100644
index 0000000..1d5a1bd
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jobXML_2_0.xsd
@@ -0,0 +1,464 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright 2012, 2020 International Business Machines Corp. and others
+
+ See the NOTICE file distributed with this work for additional information
+ regarding copyright ownership. Licensed under the Apache License,
+ Version 2.0 (the "License"); you may not use this file except in compliance
+ with the License. You may obtain a copy of the License at
+
+ http://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing, software
+ distributed under the License is distributed on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ See the License for the specific language governing permissions and
+ limitations under the License.
+
+ SPDX-License-Identifier: Apache-2.0
+ -->
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jsl="https://jakarta.ee/xml/ns/jakartaee" version="2.0">
+ <xs:annotation>
+ <xs:documentation>
+ Job Specification Language (JSL) specifies a job,
+ its steps, and directs their execution.
+ JSL also can be referred to as "Job XML".
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:simpleType name="batchVersionType">
+ <xs:annotation>
+ <xs:documentation>
+
+ Defines a decimal type used for versioning documents
+ defined via this scheam. Intended to be identical
+ to the "dewey-versionType" dewey decimal restriction
+ type defined in
+ https://jakarta.ee/xml/ns/jakartaee/jakartaee_9.xsd
+ but without the need to include that schema definition
+ file.
+
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:restriction base="xs:token">
+ <xs:pattern value="\.?[0-9]+(\.[0-9]+)*"/>
+ </xs:restriction>
+ </xs:simpleType>
+
+ <xs:simpleType name="artifactRef">
+ <xs:annotation>
+ <xs:documentation>
+ This is a helper type. Though it is not otherwise
+ called out by this name
+ in the specification, it captures the fact
+ that the xs:string value refers
+ to a batch artifact, across numerous
+ other JSL type definitions.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:restriction base="xs:string" />
+ </xs:simpleType>
+
+ <xs:complexType name="Job">
+ <xs:annotation>
+ <xs:documentation>
+ The type of a job definition, whether concrete or
+ abstract. This is the type of the root element of any JSL document.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ The job-level properties, which are accessible
+ via the JobContext.getProperties() API in a batch artifact.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:element name="listeners" type="jsl:Listeners"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ Note that "listeners" sequence order in XML does
+ not imply order of execution by
+ the batch runtime, per the
+ specification.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="decision" type="jsl:Decision" />
+ <xs:element name="flow" type="jsl:Flow" />
+ <xs:element name="split" type="jsl:Split" />
+ <xs:element name="step" type="jsl:Step" />
+ </xs:choice>
+ </xs:sequence>
+ <xs:attribute name="version" use="required" type="jsl:batchVersionType" fixed="2.0" />
+ <xs:attribute name="id" use="required" type="xs:ID" />
+ <xs:attribute name="restartable" use="optional" type="xs:string" />
+ </xs:complexType>
+
+ <xs:element name="job" type="jsl:Job">
+ <xs:annotation>
+ <xs:documentation>
+ The definition of an job, whether concrete or
+ abstract. This is the
+ type of the root element of any JSL document.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:complexType name="Listener">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="Split">
+ <xs:sequence>
+ <xs:element name="flow" type="jsl:Flow" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:ID" />
+ <xs:attribute name="next" use="optional" type="xs:string" />
+ </xs:complexType>
+
+ <xs:complexType name="Flow">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:element name="decision" type="jsl:Decision" />
+ <xs:element name="flow" type="jsl:Flow" />
+ <xs:element name="split" type="jsl:Split" />
+ <xs:element name="step" type="jsl:Step" />
+ </xs:choice>
+ <xs:group ref="jsl:TransitionElements" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:ID" />
+ <xs:attribute name="next" use="optional" type="xs:string" />
+ </xs:complexType>
+
+ <xs:group name="TransitionElements">
+ <xs:annotation>
+ <xs:documentation>
+ This grouping provides allows for the reuse of the
+ 'end', 'fail', 'next', 'stop' element sequences which
+ may appear at the end of a 'step', 'flow', 'split' or 'decision'.
+ The term 'TransitionElements' does not formally appear in the spec, it is
+ a schema convenience.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice>
+ <xs:element name="end" type="jsl:End" />
+ <xs:element name="fail" type="jsl:Fail" />
+ <xs:element name="next" type="jsl:Next" />
+ <xs:element name="stop" type="jsl:Stop" />
+ </xs:choice>
+ </xs:group>
+
+ <xs:complexType name="Decision">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ <xs:group ref="jsl:TransitionElements" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:ID" />
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:attributeGroup name="TerminatingAttributes">
+ <xs:attribute name="on" use="required" type="xs:string" />
+ <xs:attribute name="exit-status" use="optional" type="xs:string" />
+ </xs:attributeGroup>
+
+ <xs:complexType name="Fail">
+ <xs:attributeGroup ref="jsl:TerminatingAttributes" />
+ </xs:complexType>
+
+ <xs:complexType name="End">
+ <xs:attributeGroup ref="jsl:TerminatingAttributes" />
+ </xs:complexType>
+
+ <xs:complexType name="Stop">
+ <xs:attributeGroup ref="jsl:TerminatingAttributes" />
+ <xs:attribute name="restart" use="optional" type="xs:string" />
+ </xs:complexType>
+
+ <xs:complexType name="Next">
+ <xs:attribute name="on" use="required" type="xs:string" />
+ <xs:attribute name="to" use="required" type="xs:string" />
+ </xs:complexType>
+
+ <xs:complexType name="CheckpointAlgorithm">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="ExceptionClassFilter">
+ <xs:sequence>
+ <xs:element name="include" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence />
+ <xs:attribute name="class" use="required" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ <xs:element name="exclude" minOccurs="0" maxOccurs="unbounded">
+ <xs:complexType>
+ <xs:sequence />
+ <xs:attribute name="class" use="required" type="xs:string" />
+ </xs:complexType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Step">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="listeners" type="jsl:Listeners"
+ minOccurs="0" maxOccurs="1">
+ <xs:annotation>
+ <xs:documentation>
+ Note that "listeners" sequence order in XML does
+ not imply order of execution by
+ the batch runtime, per the
+ specification.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element name="batchlet" type="jsl:Batchlet" />
+ <xs:element name="chunk" type="jsl:Chunk" />
+ </xs:choice>
+ <xs:element name="partition" type="jsl:Partition"
+ minOccurs="0" maxOccurs="1" />
+ <xs:group ref="jsl:TransitionElements" minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="id" use="required" type="xs:ID" />
+ <xs:attribute name="start-limit" use="optional" type="xs:string" />
+ <xs:attribute name="allow-start-if-complete" use="optional"
+ type="xs:string" />
+ <xs:attribute name="next" use="optional" type="xs:string" />
+ </xs:complexType>
+
+ <xs:complexType name="Batchlet">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="Chunk">
+ <xs:sequence>
+ <xs:element name="reader" type="jsl:ItemReader" />
+ <xs:element name="processor" type="jsl:ItemProcessor"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="writer" type="jsl:ItemWriter" />
+ <xs:element name="checkpoint-algorithm" type="jsl:CheckpointAlgorithm"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="skippable-exception-classes" type="jsl:ExceptionClassFilter"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="retryable-exception-classes" type="jsl:ExceptionClassFilter"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="no-rollback-exception-classes" type="jsl:ExceptionClassFilter"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="checkpoint-policy" use="optional"
+ type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Specifies the checkpoint policy that governs
+ commit behavior for this chunk.
+ Valid values are: "item" or
+ "custom". The "item" policy means the
+ chunk is checkpointed after a
+ specified number of items are
+ processed. The "custom" policy means
+ the chunk is checkpointed
+ according to a checkpoint algorithm
+ implementation. Specifying
+ "custom" requires that the
+ checkpoint-algorithm element is also
+ specified. It is an optional
+ attribute. The default policy is
+ "item". However, we chose not to define
+ a schema-specified default for this attribute.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="item-count" use="optional" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Specifies the number of items to process per chunk
+ when using the item
+ checkpoint policy. It must be valid XML integer.
+ It is an optional
+ attribute. The default is 10. The item-count
+ attribute is ignored
+ for "custom" checkpoint policy. However, to
+ make it easier for implementations to support JSL inheritance
+ we
+ abstain from defining a schema-specified default for this
+ attribute.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="time-limit" use="optional" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Specifies the amount of time in seconds before
+ taking a checkpoint for the
+ item checkpoint policy. It must be valid
+ XML integer. It is an
+ optional attribute. The default is 0, which
+ means no limit. However, to
+ make it easier for implementations to
+ support JSL inheritance
+ we abstain from defining a schema-specified
+ default for this attribute.
+ When a value greater than zero is
+ specified, a checkpoint is taken when
+ time-limit is reached or
+ item-count items have been processed,
+ whichever comes first. The
+ time-limit attribute is ignored for
+ "custom" checkpoint policy.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="skip-limit" use="optional" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Specifies the number of exceptions a step will
+ skip if any configured
+ skippable exceptions are thrown by chunk
+ processing. It must be a
+ valid XML integer value. It is an optional
+ attribute. The default
+ is no limit.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="retry-limit" use="optional" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ Specifies the number of times a step will retry if
+ any configured retryable
+ exceptions are thrown by chunk processing.
+ It must be a valid XML
+ integer value. It is an optional attribute.
+ The default is no
+ limit.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ <xs:complexType name="ItemReader">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="ItemProcessor">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="ItemWriter">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="Property">
+ <xs:attribute name="name" type="xs:string" use="required" />
+ <xs:attribute name="value" type="xs:string" use="required" />
+ </xs:complexType>
+
+ <xs:complexType name="Properties">
+ <xs:sequence>
+ <xs:element name="property" type="jsl:Property" maxOccurs="unbounded" minOccurs="0" />
+ </xs:sequence>
+ <xs:attribute name="partition" use="optional" type="xs:string" />
+ </xs:complexType>
+
+ <xs:complexType name="Listeners">
+ <xs:sequence>
+ <xs:element name="listener" type="jsl:Listener" maxOccurs="unbounded" minOccurs="0" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="Partition">
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="1">
+ <xs:element name="mapper" type="jsl:PartitionMapper" />
+ <xs:element name="plan" type="jsl:PartitionPlan" />
+ </xs:choice>
+ <xs:element name="collector" type="jsl:Collector"
+ minOccurs="0" maxOccurs="1" />
+ <xs:element name="analyzer" type="jsl:Analyzer" minOccurs="0"
+ maxOccurs="1" />
+ <xs:element name="reducer" type="jsl:PartitionReducer"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:complexType name="PartitionPlan">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="unbounded" />
+ </xs:sequence>
+ <xs:attribute name="partitions" use="optional" type="xs:string" />
+ <xs:attribute name="threads" use="optional" type="xs:string" />
+ </xs:complexType>
+
+ <xs:complexType name="PartitionMapper">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="Collector">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="Analyzer">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+ <xs:complexType name="PartitionReducer">
+ <xs:sequence>
+ <xs:element name="properties" type="jsl:Properties"
+ minOccurs="0" maxOccurs="1" />
+ </xs:sequence>
+ <xs:attribute name="ref" use="required" type="jsl:artifactRef" />
+ </xs:complexType>
+
+</xs:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jsp_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jsp_3_0.xsd
index 788a607..bb059b0 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jsp_3_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/jsp_3_0.xsd
@@ -1,33 +1,28 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="3.0">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="3.0">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
@@ -38,226 +33,237 @@
types. The JSP 3.0 schema contains all the special
structures and datatypes that are necessary to use JSP files
from a web application.
-
- The contents of this schema is used by the web-common_3_1.xsd
+
+ The contents of this schema is used by the web-common_5_0.xsd
file to define JSP specific content.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="jakartaee_9.xsd"/>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="jsp-configType">
<xsd:annotation>
<xsd:documentation>
- The jsp-configType is used to provide global configuration
- information for the JSP files in a web application. It has
- two subelements, taglib and jsp-property-group.
-
+ The jsp-configType is used to provide global configuration
+ information for the JSP files in a web application. It has
+ two subelements, taglib and jsp-property-group.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="taglib"
- type="jakartaee:taglibType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:taglibType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
<xsd:element name="jsp-property-group"
- type="jakartaee:jsp-property-groupType"
- minOccurs="0"
- maxOccurs="unbounded"/>
+ type="jakartaee:jsp-property-groupType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="jsp-fileType">
<xsd:annotation>
<xsd:documentation>
- The jsp-file element contains the full path to a JSP file
- within the web application beginning with a `/'.
-
+ The jsp-file element contains the full path to a JSP file
+ within the web application beginning with a `/'.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:pathType"/>
</xsd:simpleContent>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="jsp-property-groupType">
<xsd:annotation>
<xsd:documentation>
- The jsp-property-groupType is used to group a number of
- files so they can be given global property information.
- All files so described are deemed to be JSP files. The
- following additional properties can be described:
-
- - Control whether EL is ignored.
- - Control whether scripting elements are invalid.
- - Indicate pageEncoding information.
- - Indicate that a resource is a JSP document (XML).
- - Prelude and Coda automatic includes.
- - Control whether the character sequence #{ is allowed
- when used as a String literal.
- - Control whether template text containing only
- whitespaces must be removed from the response output.
- - Indicate the default contentType information.
- - Indicate the default buffering model for JspWriter
- - Control whether error should be raised for the use of
- undeclared namespaces in a JSP page.
-
+ The jsp-property-groupType is used to group a number of
+ files so they can be given global property information.
+ All files so described are deemed to be JSP files. The
+ following additional properties can be described:
+
+ - Control whether EL is ignored.
+ - Control whether scripting elements are invalid.
+ - Indicate pageEncoding information.
+ - Indicate that a resource is a JSP document (XML).
+ - Prelude and Coda automatic includes.
+ - Control whether the character sequence #{ is allowed
+ when used as a String literal.
+ - Control whether template text containing only
+ whitespaces must be removed from the response output.
+ - Indicate the default contentType information.
+ - Indicate the default buffering model for JspWriter
+ - Control whether error should be raised for the use of
+ undeclared namespaces in a JSP page.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="url-pattern"
- type="jakartaee:url-patternType"
- maxOccurs="unbounded"/>
+ type="jakartaee:url-patternType"
+ maxOccurs="unbounded"/>
<xsd:element name="el-ignored"
- type="jakartaee:true-falseType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:true-falseType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- Can be used to easily set the isELIgnored
- property of a group of JSP pages. By default, the
- EL evaluation is enabled for Web Applications using
- a Servlet 2.4 or greater web.xml, and disabled
- otherwise.
-
- </xsd:documentation>
- </xsd:annotation>
+ Can be used to easily set the isELIgnored
+ property of a group of JSP pages. By default, the
+ EL evaluation is enabled for Web Applications using
+ a Servlet 2.4 or greater web.xml, and disabled
+ otherwise.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="page-encoding"
- type="jakartaee:string"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The valid values of page-encoding are those of the
- pageEncoding page directive. It is a
- translation-time error to name different encodings
- in the pageEncoding attribute of the page directive
- of a JSP page and in a JSP configuration element
- matching the page. It is also a translation-time
- error to name different encodings in the prolog
- or text declaration of a document in XML syntax and
- in a JSP configuration element matching the document.
- It is legal to name the same encoding through
- mulitple mechanisms.
-
- </xsd:documentation>
- </xsd:annotation>
+ The valid values of page-encoding are those of the
+ pageEncoding page directive. It is a
+ translation-time error to name different encodings
+ in the pageEncoding attribute of the page directive
+ of a JSP page and in a JSP configuration element
+ matching the page. It is also a translation-time
+ error to name different encodings in the prolog
+ or text declaration of a document in XML syntax and
+ in a JSP configuration element matching the document.
+ It is legal to name the same encoding through
+ mulitple mechanisms.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="scripting-invalid"
- type="jakartaee:true-falseType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:true-falseType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- Can be used to easily disable scripting in a
- group of JSP pages. By default, scripting is
- enabled.
-
- </xsd:documentation>
- </xsd:annotation>
+ Can be used to easily disable scripting in a
+ group of JSP pages. By default, scripting is
+ enabled.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="is-xml"
- type="jakartaee:true-falseType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:true-falseType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- If true, denotes that the group of resources
- that match the URL pattern are JSP documents,
- and thus must be interpreted as XML documents.
- If false, the resources are assumed to not
- be JSP documents, unless there is another
- property group that indicates otherwise.
-
- </xsd:documentation>
- </xsd:annotation>
+ If true, denotes that the group of resources
+ that match the URL pattern are JSP documents,
+ and thus must be interpreted as XML documents.
+ If false, the resources are assumed to not
+ be JSP documents, unless there is another
+ property group that indicates otherwise.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="include-prelude"
- type="jakartaee:pathType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The include-prelude element is a context-relative
- path that must correspond to an element in the
- Web Application. When the element is present,
- the given path will be automatically included (as
- in an include directive) at the beginning of each
- JSP page in this jsp-property-group.
-
- </xsd:documentation>
- </xsd:annotation>
+ The include-prelude element is a context-relative
+ path that must correspond to an element in the
+ Web Application. When the element is present,
+ the given path will be automatically included (as
+ in an include directive) at the beginning of each
+ JSP page in this jsp-property-group.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="include-coda"
- type="jakartaee:pathType"
- minOccurs="0"
- maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
- The include-coda element is a context-relative
- path that must correspond to an element in the
- Web Application. When the element is present,
- the given path will be automatically included (as
- in an include directive) at the end of each
- JSP page in this jsp-property-group.
-
- </xsd:documentation>
- </xsd:annotation>
+ The include-coda element is a context-relative
+ path that must correspond to an element in the
+ Web Application. When the element is present,
+ the given path will be automatically included (as
+ in an include directive) at the end of each
+ JSP page in this jsp-property-group.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="deferred-syntax-allowed-as-literal"
- type="jakartaee:true-falseType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:true-falseType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- The character sequence #{ is reserved for EL expressions.
- Consequently, a translation error occurs if the #{
- character sequence is used as a String literal, unless
- this element is enabled (true). Disabled (false) by
- default.
-
- </xsd:documentation>
- </xsd:annotation>
+ The character sequence #{ is reserved for EL expressions.
+ Consequently, a translation error occurs if the #{
+ character sequence is used as a String literal, unless
+ this element is enabled (true). Disabled (false) by
+ default.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="trim-directive-whitespaces"
- type="jakartaee:true-falseType"
- minOccurs="0">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:true-falseType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
- Indicates that template text containing only whitespaces
- must be removed from the response output. It has no
- effect on JSP documents (XML syntax). Disabled (false)
- by default.
-
- </xsd:documentation>
- </xsd:annotation>
+ Indicates that template text containing only whitespaces
+ must be removed from the response output. It has no
+ effect on JSP documents (XML syntax). Disabled (false)
+ by default.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="default-content-type"
type="jakartaee:string"
@@ -269,7 +275,7 @@
contentType page directive. It specifies the default
response contentType if the page directive does not include
a contentType attribute.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -283,7 +289,7 @@
buffer page directive. It specifies if buffering should be
used for the output to response, and if so, the size of the
buffer to use.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -298,62 +304,62 @@
set to true, then an error must be raised during the translation
time when an undeclared tag is used in a JSP page. Disabled
(false) by default.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
- <!-- **************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="taglibType">
<xsd:annotation>
<xsd:documentation>
- The taglibType defines the syntax for declaring in
- the deployment descriptor that a tag library is
- available to the application. This can be done
- to override implicit map entries from TLD files and
- from the container.
-
+ The taglibType defines the syntax for declaring in
+ the deployment descriptor that a tag library is
+ available to the application. This can be done
+ to override implicit map entries from TLD files and
+ from the container.
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="taglib-uri"
- type="jakartaee:string">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
- A taglib-uri element describes a URI identifying a
- tag library used in the web application. The body
- of the taglib-uri element may be either an
- absolute URI specification, or a relative URI.
- There should be no entries in web.xml with the
- same taglib-uri value.
-
- </xsd:documentation>
- </xsd:annotation>
+ A taglib-uri element describes a URI identifying a
+ tag library used in the web application. The body
+ of the taglib-uri element may be either an
+ absolute URI specification, or a relative URI.
+ There should be no entries in web.xml with the
+ same taglib-uri value.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="taglib-location"
- type="jakartaee:pathType">
- <xsd:annotation>
- <xsd:documentation>
+ type="jakartaee:pathType">
+ <xsd:annotation>
+ <xsd:documentation>
- the taglib-location element contains the location
- (as a resource relative to the root of the web
- application) where to find the Tag Library
- Description file for the tag library.
-
- </xsd:documentation>
- </xsd:annotation>
+ the taglib-location element contains the location
+ (as a resource relative to the root of the web
+ application) where to find the Tag Library
+ Description file for the tag library.
+
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/orm_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/orm_3_0.xsd
new file mode 100644
index 0000000..233d98f
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/orm_3_0.xsd
@@ -0,0 +1,2324 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2008, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0 which is available at
+ http://www.eclipse.org/legal/epl-2.0,
+ or the Eclipse Distribution License v. 1.0 which is available at
+ http://www.eclipse.org/org/documents/edl-v10.php.
+
+ SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+-->
+
+<!-- Jakarta Persistence API object/relational mapping file schema -->
+<xsd:schema targetNamespace="https://jakarta.ee/xml/ns/persistence/orm"
+ xmlns:orm="https://jakarta.ee/xml/ns/persistence/orm"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="3.0">
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+
+ This is the XML Schema for the persistence object/relational
+ mapping file.
+ The file may be named "META-INF/orm.xml" in the persistence
+ archive or it may be named some other name which would be
+ used to locate the file as resource on the classpath.
+
+ Object/relational mapping files must indicate the object/relational
+ mapping file schema by using the persistence namespace:
+
+ https://jakarta.ee/xml/ns/persistence/orm
+
+ and indicate the version of the schema by
+ using the version element as shown below:
+
+ <entity-mappings xmlns="https://jakarta.ee/xml/ns/persistence/orm"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence/orm
+ https://jakarta.ee/xml/ns/persistence/orm/orm_3_0.xsd"
+ version="3.0">
+ ...
+ </entity-mappings>
+
+
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:complexType name="emptyType"/>
+
+ <xsd:simpleType name="versionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="entity-mappings">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The entity-mappings element is the root element of a mapping
+ file. It contains the following four types of elements:
+
+ 1. The persistence-unit-metadata element contains metadata
+ for the entire persistence unit. It is undefined if this element
+ occurs in multiple mapping files within the same persistence unit.
+
+ 2. The package, schema, catalog and access elements apply to all of
+ the entity, mapped-superclass and embeddable elements defined in
+ the same file in which they occur.
+
+ 3. The sequence-generator, table-generator, converter, named-query,
+ named-native-query, named-stored-procedure-query, and
+ sql-result-set-mapping elements are global to the persistence
+ unit. It is undefined to have more than one sequence-generator
+ or table-generator of the same name in the same or different
+ mapping files in a persistence unit. It is undefined to have
+ more than one named-query, named-native-query, sql-result-set-mapping,
+ or named-stored-procedure-query of the same name in the same
+ or different mapping files in a persistence unit. It is also
+ undefined to have more than one converter for the same target
+ type in the same or different mapping files in a persistence unit.
+
+ 4. The entity, mapped-superclass and embeddable elements each define
+ the mapping information for a managed persistent class. The mapping
+ information contained in these elements may be complete or it may
+ be partial.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="persistence-unit-metadata"
+ type="orm:persistence-unit-metadata"
+ minOccurs="0"/>
+ <xsd:element name="package" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="schema" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="catalog" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="access" type="orm:access-type"
+ minOccurs="0"/>
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="table-generator" type="orm:table-generator"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-query" type="orm:named-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-native-query" type="orm:named-native-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-stored-procedure-query"
+ type="orm:named-stored-procedure-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sql-result-set-mapping"
+ type="orm:sql-result-set-mapping"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="mapped-superclass" type="orm:mapped-superclass"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="entity" type="orm:entity"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embeddable" type="orm:embeddable"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="converter" type="orm:converter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="orm:versionType"
+ fixed="3.0" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="persistence-unit-metadata">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Metadata that applies to the persistence unit and not just to
+ the mapping file in which it is contained.
+
+ If the xml-mapping-metadata-complete element is specified,
+ the complete set of mapping metadata for the persistence unit
+ is contained in the XML mapping files for the persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="xml-mapping-metadata-complete" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="persistence-unit-defaults"
+ type="orm:persistence-unit-defaults"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="persistence-unit-defaults">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ These defaults are applied to the persistence unit as a whole
+ unless they are overridden by local annotation or XML
+ element settings.
+
+ schema - Used as the schema for all tables, secondary tables, join
+ tables, collection tables, sequence generators, and table
+ generators that apply to the persistence unit
+ catalog - Used as the catalog for all tables, secondary tables, join
+ tables, collection tables, sequence generators, and table
+ generators that apply to the persistence unit
+ delimited-identifiers - Used to treat database identifiers as
+ delimited identifiers.
+ access - Used as the access type for all managed classes in
+ the persistence unit
+ cascade-persist - Adds cascade-persist to the set of cascade options
+ in all entity relationships of the persistence unit
+ entity-listeners - List of default entity listeners to be invoked
+ on each entity in the persistence unit.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="schema" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="catalog" type="xsd:string"
+ minOccurs="0"/>
+ <xsd:element name="delimited-identifiers" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="access" type="orm:access-type"
+ minOccurs="0"/>
+ <xsd:element name="cascade-persist" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="entity">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for an entity. Is allowed to be
+ sparsely populated and used in conjunction with the annotations.
+ Alternatively, the metadata-complete attribute can be used to
+ indicate that no annotations on the entity class (and its fields
+ or properties) are to be processed. If this is the case then
+ the defaulting rules for the entity and its subelements will
+ be recursively applied.
+
+ @Target(TYPE) @Retention(RUNTIME)
+ public @interface Entity {
+ String name() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="table" type="orm:table"
+ minOccurs="0"/>
+ <xsd:element name="secondary-table" type="orm:secondary-table"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:sequence>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="primary-key-foreign-key"
+ type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
+ <xsd:element name="inheritance" type="orm:inheritance" minOccurs="0"/>
+ <xsd:element name="discriminator-value" type="orm:discriminator-value"
+ minOccurs="0"/>
+ <xsd:element name="discriminator-column"
+ type="orm:discriminator-column"
+ minOccurs="0"/>
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
+ minOccurs="0"/>
+ <xsd:element name="table-generator" type="orm:table-generator"
+ minOccurs="0"/>
+ <xsd:element name="named-query" type="orm:named-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-native-query" type="orm:named-native-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-stored-procedure-query"
+ type="orm:named-stored-procedure-query"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="sql-result-set-mapping"
+ type="orm:sql-result-set-mapping"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="exclude-default-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="exclude-superclass-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
+ minOccurs="0"/>
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
+ <xsd:element name="post-persist" type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
+ <xsd:element name="attribute-override" type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="association-override"
+ type="orm:association-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="convert" type="orm:convert"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="named-entity-graph" type="orm:named-entity-graph"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="cacheable" type="xsd:boolean"/>
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="access-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element determines how the persistence provider accesses the
+ state of an entity or embedded object.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="PROPERTY"/>
+ <xsd:enumeration value="FIELD"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="association-override">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface AssociationOverride {
+ String name();
+ JoinColumn[] joinColumns() default{};
+ JoinTable joinTable() default @JoinTable;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="foreign-key" type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="join-table" type="orm:join-table"
+ minOccurs="0"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="attribute-override">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface AttributeOverride {
+ String name();
+ Column column();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="column" type="orm:column"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="attributes">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This element contains the entity field or property mappings.
+ It may be sparsely populated to include only a subset of the
+ fields or properties. If metadata-complete for the entity is true
+ then the remainder of the attributes will be defaulted according
+ to the default rules.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="id" type="orm:id"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embedded-id" type="orm:embedded-id"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="basic" type="orm:basic"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="version" type="orm:version"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-one" type="orm:many-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-many" type="orm:one-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-one" type="orm:one-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-many" type="orm:many-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="element-collection" type="orm:element-collection"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embedded" type="orm:embedded"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="transient" type="orm:transient"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="basic">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Basic {
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="lob" type="orm:lob" minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
+ <xsd:element name="enumerated" type="orm:enumerated" minOccurs="0"/>
+ <xsd:element name="convert" type="orm:convert" minOccurs="0"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="cascade-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum CascadeType { ALL, PERSIST, MERGE, REMOVE, REFRESH, DETACH};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="cascade-all" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-persist" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-merge" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-remove" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-refresh" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="cascade-detach" type="orm:emptyType"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="collection-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface CollectionTable {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ JoinColumn[] joinColumns() default {};
+ UniqueConstraint[] uniqueConstraints() default {};
+ Index[] indexes() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="foreign-key" type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="index" type="orm:index"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Column {
+ String name() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int"/>
+ <xsd:attribute name="precision" type="xsd:int"/>
+ <xsd:attribute name="scale" type="xsd:int"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="column-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface ColumnResult {
+ String name();
+ Class type() default void.class;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="class" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="constraint-mode">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum ConstraintMode {CONSTRAINT, NO_CONSTRAINT, PROVIDER_DEFAULT};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="CONSTRAINT"/>
+ <xsd:enumeration value="NO_CONSTRAINT"/>
+ <xsd:enumeration value="PROVIDER_DEFAULT"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+
+ <xsd:complexType name="constructor-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface ConstructorResult {
+ Class targetClass();
+ ColumnResult[] columns();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column-result"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="target-class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="convert">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Convert {
+ Class converter() default void.class;
+ String attributeName() default "";
+ boolean disableConversion() default false;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="converter" type="xsd:string"/>
+ <xsd:attribute name="attribute-name" type="xsd:string"/>
+ <xsd:attribute name="disable-conversion" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="converter">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Converter {
+ boolean autoApply() default false;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="auto-apply" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="discriminator-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface DiscriminatorColumn {
+ String name() default "DTYPE";
+ DiscriminatorType discriminatorType() default STRING;
+ String columnDefinition() default "";
+ int length() default 31;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="discriminator-type" type="orm:discriminator-type"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="discriminator-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum DiscriminatorType { STRING, CHAR, INTEGER };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="STRING"/>
+ <xsd:enumeration value="CHAR"/>
+ <xsd:enumeration value="INTEGER"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="discriminator-value">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface DiscriminatorValue {
+ String value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="element-collection">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ElementCollection {
+ Class targetClass() default void.class;
+ FetchType fetch() default LAZY;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="order-column" type="orm:order-column"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-class" type="orm:map-key-class"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="map-key-enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-attribute-override"
+ type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-convert" type="orm:convert"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key-column"
+ type="orm:map-key-column"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-join-column"
+ type="orm:map-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-foreign-key"
+ type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:element name="lob"
+ type="orm:lob"
+ minOccurs="0"/>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="attribute-override"
+ type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="association-override"
+ type="orm:association-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="convert" type="orm:convert"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:element name="collection-table" type="orm:collection-table"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-class" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+</xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="embeddable">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for embeddable objects. Is
+ allowed to be sparsely populated and used in conjunction with
+ the annotations. Alternatively, the metadata-complete attribute
+ can be used to indicate that no annotations are to be processed
+ in the class. If this is the case then the defaulting rules will
+ be recursively applied.
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Embeddable {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="attributes" type="orm:embeddable-attributes"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="embeddable-attributes">
+ <xsd:sequence>
+ <xsd:element name="basic" type="orm:basic"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-one" type="orm:many-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-many" type="orm:one-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="one-to-one" type="orm:one-to-one"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="many-to-many" type="orm:many-to-many"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="element-collection" type="orm:element-collection"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="embedded" type="orm:embedded"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="transient" type="orm:transient"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:complexType name="embedded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Embedded {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="attribute-override" type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="association-override"
+ type="orm:association-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="convert" type="orm:convert"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="embedded-id">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface EmbeddedId {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="attribute-override" type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="entity-listener">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines an entity listener to be invoked at lifecycle events
+ for the entities that list this listener.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
+ <xsd:element name="post-persist" type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="entity-listeners">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface EntityListeners {
+ Class[] value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="entity-listener" type="orm:entity-listener"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="entity-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface EntityResult {
+ Class entityClass();
+ FieldResult[] fields() default {};
+ String discriminatorColumn() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="field-result" type="orm:field-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="entity-class" type="xsd:string" use="required"/>
+ <xsd:attribute name="discriminator-column" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="enum-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum EnumType {
+ ORDINAL,
+ STRING
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ORDINAL"/>
+ <xsd:enumeration value="STRING"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="enumerated">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Enumerated {
+ EnumType value() default ORDINAL;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="orm:enum-type"/>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="fetch-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum FetchType { LAZY, EAGER };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="LAZY"/>
+ <xsd:enumeration value="EAGER"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="field-result">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface FieldResult {
+ String name();
+ String column();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="column" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="foreign-key">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface ForeignKey {
+ String name() default "";
+ ConstraintMode value() default CONSTRAINT;
+ String foreign-key-definition() default "";
+
+ Note that the elements that embed the use of the annotation
+ default this use as @ForeignKey(PROVIDER_DEFAULT).
+
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="constraint-mode" type="orm:constraint-mode"/>
+ <xsd:attribute name="foreign-key-definition" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="generated-value">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface GeneratedValue {
+ GenerationType strategy() default AUTO;
+ String generator() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="strategy" type="orm:generation-type"/>
+ <xsd:attribute name="generator" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="generation-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum GenerationType { TABLE, SEQUENCE, IDENTITY, AUTO };
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="TABLE"/>
+ <xsd:enumeration value="SEQUENCE"/>
+ <xsd:enumeration value="IDENTITY"/>
+ <xsd:enumeration value="AUTO"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="id">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Id {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column"
+ minOccurs="0"/>
+ <xsd:element name="generated-value" type="orm:generated-value"
+ minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="table-generator" type="orm:table-generator"
+ minOccurs="0"/>
+ <xsd:element name="sequence-generator" type="orm:sequence-generator"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="id-class">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface IdClass {
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="index">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface Index {
+ String name() default "";
+ String columnList();
+ boolean unique() default false;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="column-list" type="xsd:string" use="required"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="inheritance">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Inheritance {
+ InheritanceType strategy() default SINGLE_TABLE;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="strategy" type="orm:inheritance-type"/>
+ </xsd:complexType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="inheritance-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum InheritanceType
+ { SINGLE_TABLE, JOINED, TABLE_PER_CLASS};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="SINGLE_TABLE"/>
+ <xsd:enumeration value="JOINED"/>
+ <xsd:enumeration value="TABLE_PER_CLASS"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface JoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ boolean unique() default false;
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ ForeignKey foreignKey() default @ForeignKey();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="join-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface JoinTable {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ JoinColumn[] joinColumns() default {};
+ JoinColumn[] inverseJoinColumns() default {};
+ UniqueConstraint[] uniqueConstraints() default {};
+ Index[] indexes() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="foreign-key" type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="inverse-join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="inverse-foreign-key" type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="index" type="orm:index"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="lob">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Lob {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="lock-mode-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum LockModeType { READ, WRITE, OPTIMISTIC, OPTIMISTIC_FORCE_INCREMENT, PESSIMISTIC_READ, PESSIMISTIC_WRITE, PESSIMISTIC_FORCE_INCREMENT, NONE};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="READ"/>
+ <xsd:enumeration value="WRITE"/>
+ <xsd:enumeration value="OPTIMISTIC"/>
+ <xsd:enumeration value="OPTIMISTIC_FORCE_INCREMENT"/>
+ <xsd:enumeration value="PESSIMISTIC_READ"/>
+ <xsd:enumeration value="PESSIMISTIC_WRITE"/>
+ <xsd:enumeration value="PESSIMISTIC_FORCE_INCREMENT"/>
+ <xsd:enumeration value="NONE"/>
+
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+<xsd:complexType name="many-to-many">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ManyToMany {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default LAZY;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="order-column" type="orm:order-column"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-class" type="orm:map-key-class"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="map-key-enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-attribute-override"
+ type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-convert" type="orm:convert"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key-column" type="orm:map-key-column"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-join-column"
+ type="orm:map-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-foreign-key"
+ type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:element name="join-table" type="orm:join-table"
+ minOccurs="0"/>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="many-to-one">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface ManyToOne {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="foreign-key" type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="join-table" type="orm:join-table"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="maps-id" type="xsd:string"/>
+ <xsd:attribute name="id" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="map-key">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKey {
+ String name() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="map-key-class">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKeyClass {
+ Class value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="map-key-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKeyColumn {
+ String name() default "";
+ boolean unique() default false;
+ boolean nullable() default false;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ int length() default 255;
+ int precision() default 0; // decimal precision
+ int scale() default 0; // decimal scale
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="length" type="xsd:int"/>
+ <xsd:attribute name="precision" type="xsd:int"/>
+ <xsd:attribute name="scale" type="xsd:int"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="map-key-join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface MapKeyJoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ boolean unique() default false;
+ boolean nullable() default false;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ String table() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string"/>
+ <xsd:attribute name="unique" type="xsd:boolean"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="mapped-superclass">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the settings and mappings for a mapped superclass. Is
+ allowed to be sparsely populated and used in conjunction with
+ the annotations. Alternatively, the metadata-complete attribute
+ can be used to indicate that no annotations are to be processed
+ If this is the case then the defaulting rules will be recursively
+ applied.
+
+ @Target(TYPE) @Retention(RUNTIME)
+ public @interface MappedSuperclass{}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="id-class" type="orm:id-class" minOccurs="0"/>
+ <xsd:element name="exclude-default-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="exclude-superclass-listeners" type="orm:emptyType"
+ minOccurs="0"/>
+ <xsd:element name="entity-listeners" type="orm:entity-listeners"
+ minOccurs="0"/>
+ <xsd:element name="pre-persist" type="orm:pre-persist" minOccurs="0"/>
+ <xsd:element name="post-persist" type="orm:post-persist"
+ minOccurs="0"/>
+ <xsd:element name="pre-remove" type="orm:pre-remove" minOccurs="0"/>
+ <xsd:element name="post-remove" type="orm:post-remove" minOccurs="0"/>
+ <xsd:element name="pre-update" type="orm:pre-update" minOccurs="0"/>
+ <xsd:element name="post-update" type="orm:post-update" minOccurs="0"/>
+ <xsd:element name="post-load" type="orm:post-load" minOccurs="0"/>
+ <xsd:element name="attributes" type="orm:attributes" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="metadata-complete" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="named-attribute-node">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface NamedAttributeNode {
+ String value();
+ String subgraph() default "";
+ String keySubgraph() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="subgraph" type="xsd:string"/>
+ <xsd:attribute name="key-subgraph" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="named-entity-graph">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedEntityGraph {
+ String name() default "";
+ NamedAttributeNode[] attributeNodes() default {};
+ boolean includeAllAttributes() default false;
+ NamedSubgraph[] subgraphs() default {};
+ NamedSubGraph[] subclassSubgraphs() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="named-attribute-node"
+ type="orm:named-attribute-node"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="subgraph"
+ type="orm:named-subgraph"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="subclass-subgraph"
+ type="orm:named-subgraph"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="include-all-attributes" type="xsd:boolean"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="named-native-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedNativeQuery {
+ String name();
+ String query();
+ QueryHint[] hints() default {};
+ Class resultClass() default void.class;
+ String resultSetMapping() default ""; //named SqlResultSetMapping
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="query" type="xsd:string"/>
+ <xsd:element name="hint" type="orm:query-hint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="result-class" type="xsd:string"/>
+ <xsd:attribute name="result-set-mapping" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="named-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedQuery {
+ String name();
+ String query();
+ LockModeType lockMode() default NONE;
+ QueryHint[] hints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="query" type="xsd:string"/>
+ <xsd:element name="lock-mode" type="orm:lock-mode-type" minOccurs="0"/>
+ <xsd:element name="hint" type="orm:query-hint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+</xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="named-stored-procedure-query">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface NamedStoredProcedureQuery {
+ String name();
+ String procedureName();
+ StoredProcedureParameter[] parameters() default {};
+ Class[] resultClasses() default {};
+ String[] resultSetMappings() default{};
+ QueryHint[] hints() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="parameter"
+ type="orm:stored-procedure-parameter"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="result-class" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="result-set-mapping" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="hint" type="orm:query-hint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="procedure-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="named-subgraph">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface NamedSubgraph {
+ String name();
+ Class type() default void.class;
+ NamedAttributeNode[] attributeNodes();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="named-attribute-node"
+ type="orm:named-attribute-node"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="class" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+<xsd:complexType name="one-to-many">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OneToMany {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default LAZY;
+ String mappedBy() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="order-by" type="orm:order-by"
+ minOccurs="0"/>
+ <xsd:element name="order-column" type="orm:order-column"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key" type="orm:map-key"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-class" type="orm:map-key-class"
+ minOccurs="0"/>
+ <xsd:choice>
+ <xsd:element name="map-key-temporal"
+ type="orm:temporal"
+ minOccurs="0"/>
+ <xsd:element name="map-key-enumerated"
+ type="orm:enumerated"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-attribute-override"
+ type="orm:attribute-override"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-convert" type="orm:convert"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="map-key-column" type="orm:map-key-column"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="map-key-join-column"
+ type="orm:map-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="map-key-foreign-key"
+ type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:choice>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:choice>
+ <xsd:element name="join-table" type="orm:join-table"
+ minOccurs="0"/>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="foreign-key" type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="one-to-one">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OneToOne {
+ Class targetEntity() default void.class;
+ CascadeType[] cascade() default {};
+ FetchType fetch() default EAGER;
+ boolean optional() default true;
+ String mappedBy() default "";
+ boolean orphanRemoval() default false;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="primary-key-foreign-key"
+ type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="join-column" type="orm:join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="foreign-key" type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="join-table" type="orm:join-table"
+ minOccurs="0"/>
+ </xsd:choice>
+ <xsd:element name="cascade" type="orm:cascade-type"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="target-entity" type="xsd:string"/>
+ <xsd:attribute name="fetch" type="orm:fetch-type"/>
+ <xsd:attribute name="optional" type="xsd:boolean"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ <xsd:attribute name="mapped-by" type="xsd:string"/>
+ <xsd:attribute name="orphan-removal" type="xsd:boolean"/>
+ <xsd:attribute name="maps-id" type="xsd:string"/>
+ <xsd:attribute name="id" type="xsd:boolean"/>
+</xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="order-by">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OrderBy {
+ String value() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:string"/>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="order-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface OrderColumn {
+ String name() default "";
+ boolean nullable() default true;
+ boolean insertable() default true;
+ boolean updatable() default true;
+ String columnDefinition() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="nullable" type="xsd:boolean"/>
+ <xsd:attribute name="insertable" type="xsd:boolean"/>
+ <xsd:attribute name="updatable" type="xsd:boolean"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="parameter-mode">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum ParameterMode { IN, INOUT, OUT, REF_CURSOR};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="IN"/>
+ <xsd:enumeration value="INOUT"/>
+ <xsd:enumeration value="OUT"/>
+ <xsd:enumeration value="REF_CURSOR"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="post-load">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostLoad {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="post-persist">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostPersist {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="post-remove">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostRemove {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="post-update">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PostUpdate {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="pre-persist">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PrePersist {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="pre-remove">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PreRemove {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="pre-update">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD}) @Retention(RUNTIME)
+ public @interface PreUpdate {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="method-name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="primary-key-join-column">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface PrimaryKeyJoinColumn {
+ String name() default "";
+ String referencedColumnName() default "";
+ String columnDefinition() default "";
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="referenced-column-name" type="xsd:string"/>
+ <xsd:attribute name="column-definition" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="query-hint">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface QueryHint {
+ String name();
+ String value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="value" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="secondary-table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface SecondaryTable {
+ String name();
+ String catalog() default "";
+ String schema() default "";
+ PrimaryKeyJoinColumn[] pkJoinColumns() default {};
+ UniqueConstraint[] uniqueConstraints() default {};
+ Index[] indexes() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:sequence>
+ <xsd:element name="primary-key-join-column"
+ type="orm:primary-key-join-column"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="primary-key-foreign-key"
+ type="orm:foreign-key"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="index" type="orm:index"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="sequence-generator">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface SequenceGenerator {
+ String name();
+ String sequenceName() default "";
+ String catalog() default "";
+ String schema() default "";
+ int initialValue() default 1;
+ int allocationSize() default 50;
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="sequence-name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ <xsd:attribute name="initial-value" type="xsd:int"/>
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="sql-result-set-mapping">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface SqlResultSetMapping {
+ String name();
+ EntityResult[] entities() default {};
+ ConstructorResult[] classes() default{};
+ ColumnResult[] columns() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="entity-result" type="orm:entity-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="constructor-result" type="orm:constructor-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="column-result" type="orm:column-result"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="stored-procedure-parameter">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface StoredProcedureParameter {
+ String name() default "";
+ ParameterMode mode() default ParameterMode.IN;
+ Class type();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string"
+ minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="class" type="xsd:string" use="required"/>
+ <xsd:attribute name="mode" type="orm:parameter-mode"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="table">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE}) @Retention(RUNTIME)
+ public @interface Table {
+ String name() default "";
+ String catalog() default "";
+ String schema() default "";
+ UniqueConstraint[] uniqueConstraints() default {};
+ Index[] indexes() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="index" type="orm:index"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="table-generator">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({TYPE, METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface TableGenerator {
+ String name();
+ String table() default "";
+ String catalog() default "";
+ String schema() default "";
+ String pkColumnName() default "";
+ String valueColumnName() default "";
+ String pkColumnValue() default "";
+ int initialValue() default 0;
+ int allocationSize() default 50;
+ UniqueConstraint[] uniqueConstraints() default {};
+ Indexes[] indexes() default {};
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description" type="xsd:string" minOccurs="0"/>
+ <xsd:element name="unique-constraint" type="orm:unique-constraint"
+ minOccurs="0" maxOccurs="unbounded"/>
+ <xsd:element name="index" type="orm:index"
+ minOccurs="0" maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="table" type="xsd:string"/>
+ <xsd:attribute name="catalog" type="xsd:string"/>
+ <xsd:attribute name="schema" type="xsd:string"/>
+ <xsd:attribute name="pk-column-name" type="xsd:string"/>
+ <xsd:attribute name="value-column-name" type="xsd:string"/>
+ <xsd:attribute name="pk-column-value" type="xsd:string"/>
+ <xsd:attribute name="initial-value" type="xsd:int"/>
+ <xsd:attribute name="allocation-size" type="xsd:int"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="temporal">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Temporal {
+ TemporalType value();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="orm:temporal-type"/>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="temporal-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum TemporalType {
+ DATE, // java.sql.Date
+ TIME, // java.sql.Time
+ TIMESTAMP // java.sql.Timestamp
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="DATE"/>
+ <xsd:enumeration value="TIME"/>
+ <xsd:enumeration value="TIMESTAMP"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="transient">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Transient {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="unique-constraint">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({}) @Retention(RUNTIME)
+ public @interface UniqueConstraint {
+ String name() default "";
+ String[] columnNames();
+ }
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column-name" type="xsd:string"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string"/>
+ </xsd:complexType>
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="version">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ @Target({METHOD, FIELD}) @Retention(RUNTIME)
+ public @interface Version {}
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="column" type="orm:column" minOccurs="0"/>
+ <xsd:element name="temporal" type="orm:temporal" minOccurs="0"/>
+ </xsd:sequence>
+ <xsd:attribute name="name" type="xsd:string" use="required"/>
+ <xsd:attribute name="access" type="orm:access-type"/>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/permissions_9.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/permissions_9.xsd
index 14686ed..23c247f 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/permissions_9.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/permissions_9.xsd
@@ -1,151 +1,151 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2013, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- elementFormDefault="qualified"
- attributeFormDefault="unqualified"
- version="9">
-
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="9">
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the XML Schema for the application or module declared permissions 9.
- The declared permissions file must be named "META-INF/permissions.xml" in the
- application's ear file, or in a module's META-INF/permissions.xml if
- the module is deployed standalone. All declared permissions must indicate
- the declared permissions schema by using the Jakarta EE namespace:
-
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and indicate the version of the schema by
- using the version element as shown below:
-
- <permissions xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
- https://jakarta.ee/xml/ns/jakartaee/permissions_9.xsd"
- version="9">
- ...
- </permisssions>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/permissions_9.xsd
-
- ]]>
+ This is the XML Schema for the application or module declared permissions 9.
+ The declared permissions file must be named "META-INF/permissions.xml" in the
+ application's ear file, or in a module's META-INF/permissions.xml if
+ the module is deployed standalone. All declared permissions must indicate
+ the declared permissions schema by using the Jakarta EE namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and indicate the version of the schema by
+ using the version element as shown below:
+
+ <permissions xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/permissions_9.xsd"
+ version="9">
+ ...
+ </permisssions>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/permissions_9.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="jakartaee_9.xsd"/>
- <!-- **************************************************** -->
+<!-- **************************************************** -->
<xsd:element name="permissions">
-
<xsd:annotation>
<xsd:documentation>
- The permissions element is the root element in a
- declared permissions file. The declared permissions file
+ The permissions element is the root element in a
+ declared permissions file. The declared permissions file
declares the code based permissions granted to classes and libraries
packaged in the application archive, or in a module if the module is
- deployed standalone.
-
+ deployed standalone.
+
</xsd:documentation>
</xsd:annotation>
+<!-- **************************************************** -->
<xsd:complexType>
-
<xsd:sequence>
-
- <xsd:element name="permission" maxOccurs="unbounded"
+ <xsd:element name="permission"
+ maxOccurs="unbounded"
minOccurs="0">
-
-
<xsd:annotation>
<xsd:documentation>
- Each permission element declares a permission. If no permission
- elements are declared, the application or module needs no special
- permissions, and the Jakarta EE product may deploy it with no
- permissions beyond those necessary for the operation of the
- container.
+ Each permission element declares a permission. If no permission
+ elements are declared, the application or module needs no special
+ permissions, and the Jakarta EE product may deploy it with no
+ permissions beyond those necessary for the operation of the
+ container.
+
For details on the definition of the 'name' and 'actions'
elements, refer to the Java API documentation for the class
java.security.Permission, and its derived classes.
-
+
</xsd:documentation>
</xsd:annotation>
+<!-- **************************************************** -->
+
<xsd:complexType>
<xsd:sequence>
- <xsd:element type="jakartaee:fully-qualified-classType" name="class-name"/>
- <xsd:element type="jakartaee:string" name="name"
- minOccurs="0"/>
- <xsd:element type="jakartaee:string" name="actions"
- minOccurs="0"/>
+ <xsd:element type="jakartaee:fully-qualified-classType"
+ name="class-name"/>
+ <xsd:element type="jakartaee:string"
+ name="name"
+ minOccurs="0"/>
+ <xsd:element type="jakartaee:string"
+ name="actions"
+ minOccurs="0"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
-
</xsd:sequence>
-
<xsd:attribute name="version"
- type="jakartaee:dewey-versionType"
- fixed="9"
- use="required">
+ type="jakartaee:dewey-versionType"
+ fixed="9"
+ use="required">
<xsd:annotation>
- <xsd:documentation>
+ <xsd:documentation>
- The required value for the version is 9.
-
- </xsd:documentation>
+ The required value for the version is 9.
+
+ </xsd:documentation>
</xsd:annotation>
-
</xsd:attribute>
-
</xsd:complexType>
-
-
</xsd:element>
</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/persistence_2_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/persistence_2_0.xsd
new file mode 100644
index 0000000..5d690ab
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/persistence_2_0.xsd
@@ -0,0 +1,354 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- persistence.xml schema -->
+<xsd:schema targetNamespace="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:persistence="http://java.sun.com/xml/ns/persistence"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="2.0">
+
+ <xsd:annotation>
+ <xsd:documentation>
+ @(#)persistence_2_0.xsd 1.0 October 1 2009
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Copyright (c) 2008, 2009 Sun Microsystems. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0
+ which accompanies this distribution.
+ The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html
+ and the Eclipse Distribution License is available at
+ http://www.eclipse.org/org/documents/edl-v10.php.
+
+ Contributors:
+ Linda DeMichiel - Java Persistence 2.0, Version 2.0 (October 1, 2009)
+ Specification available from http://jcp.org/en/jsr/detail?id=317
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+
+ This is the XML Schema for the persistence configuration file.
+ The file must be named "META-INF/persistence.xml" in the
+ persistence archive.
+
+ Persistence configuration files must indicate
+ the persistence schema by using the persistence namespace:
+
+ http://java.sun.com/xml/ns/persistence
+
+ and indicate the version of the schema by
+ using the version element as shown below:
+
+ <persistence xmlns="http://java.sun.com/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
+ http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd"
+ version="2.0">
+ ...
+ </persistence>
+
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:simpleType name="versionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="persistence">
+ <xsd:complexType>
+ <xsd:sequence>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="persistence-unit"
+ minOccurs="1" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Configuration of a persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="description" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Description of this persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="provider" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Provider class that supplies EntityManagers for this
+ persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="jta-data-source" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The container-specific name of the JTA datasource to use.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="non-jta-data-source" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The container-specific name of a non-JTA datasource to use.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="mapping-file" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ File containing mapping information. Loaded as a resource
+ by the persistence provider.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="jar-file" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Jar file that is to be scanned for managed classes.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="class" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Managed class to be included in the persistence unit and
+ to scan for annotations. It should be annotated
+ with either @Entity, @Embeddable or @MappedSuperclass.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="exclude-unlisted-classes" type="xsd:boolean"
+ default="true" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ When set to true then only listed classes and jars will
+ be scanned for persistent classes, otherwise the
+ enclosing jar or directory will also be scanned.
+ Not applicable to Java SE persistence units.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="shared-cache-mode"
+ type="persistence:persistence-unit-caching-type"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines whether caching is enabled for the
+ persistence unit if caching is supported by the
+ persistence provider. When set to ALL, all entities
+ will be cached. When set to NONE, no entities will
+ be cached. When set to ENABLE_SELECTIVE, only entities
+ specified as cacheable will be cached. When set to
+ DISABLE_SELECTIVE, entities specified as not cacheable
+ will not be cached. When not specified or when set to
+ UNSPECIFIED, provider defaults may apply.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="validation-mode"
+ type="persistence:persistence-unit-validation-mode-type"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The validation mode to be used for the persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="properties" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ A list of standard and vendor-specific properties
+ and hints.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="property"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A name-value pair.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string"
+ use="required"/>
+ <xsd:attribute name="value" type="xsd:string"
+ use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ </xsd:sequence>
+
+ <!-- **************************************************** -->
+
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Name used in code to reference this persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+
+ <!-- **************************************************** -->
+
+ <xsd:attribute name="transaction-type"
+ type="persistence:persistence-unit-transaction-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Type of transactions used by EntityManagers from this
+ persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="persistence:versionType"
+ fixed="2.0" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="persistence-unit-transaction-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum PersistenceUnitTransactionType {JTA, RESOURCE_LOCAL};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="JTA"/>
+ <xsd:enumeration value="RESOURCE_LOCAL"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="persistence-unit-caching-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum SharedCacheMode { ALL, NONE, ENABLE_SELECTIVE, DISABLE_SELECTIVE, UNSPECIFIED};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL"/>
+ <xsd:enumeration value="NONE"/>
+ <xsd:enumeration value="ENABLE_SELECTIVE"/>
+ <xsd:enumeration value="DISABLE_SELECTIVE"/>
+ <xsd:enumeration value="UNSPECIFIED"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="persistence-unit-validation-mode-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum ValidationMode { AUTO, CALLBACK, NONE};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="AUTO"/>
+ <xsd:enumeration value="CALLBACK"/>
+ <xsd:enumeration value="NONE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/persistence_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/persistence_3_0.xsd
new file mode 100644
index 0000000..e2a2943
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/persistence_3_0.xsd
@@ -0,0 +1,342 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ Copyright (c) 2008, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0 which is available at
+ http://www.eclipse.org/legal/epl-2.0,
+ or the Eclipse Distribution License v. 1.0 which is available at
+ http://www.eclipse.org/org/documents/edl-v10.php.
+
+ SPDX-License-Identifier: EPL-2.0 OR BSD-3-Clause
+
+-->
+
+<!-- persistence.xml schema -->
+<xsd:schema targetNamespace="https://jakarta.ee/xml/ns/persistence"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ xmlns:persistence="https://jakarta.ee/xml/ns/persistence"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="3.0">
+
+ <xsd:annotation>
+ <xsd:documentation><![CDATA[
+
+ This is the XML Schema for the persistence configuration file.
+ The file must be named "META-INF/persistence.xml" in the
+ persistence archive.
+
+ Persistence configuration files must indicate
+ the persistence schema by using the persistence namespace:
+
+ https://jakarta.ee/xml/ns/persistence
+
+ and indicate the version of the schema by
+ using the version element as shown below:
+
+ <persistence xmlns="https://jakarta.ee/xml/ns/persistence"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/persistence
+ https://jakarta.ee/xml/ns/persistence/persistence_3_0.xsd"
+ version="3.0">
+ ...
+ </persistence>
+
+ ]]></xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:simpleType name="versionType">
+ <xsd:restriction base="xsd:token">
+ <xsd:pattern value="[0-9]+(\.[0-9]+)*"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="persistence">
+ <xsd:complexType>
+ <xsd:sequence>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="persistence-unit"
+ minOccurs="1" maxOccurs="unbounded">
+ <xsd:complexType>
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Configuration of a persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="description" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Description of this persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="provider" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Provider class that supplies EntityManagers for this
+ persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="jta-data-source" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The container-specific name of the JTA datasource to use.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="non-jta-data-source" type="xsd:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The container-specific name of a non-JTA datasource to use.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="mapping-file" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ File containing mapping information. Loaded as a resource
+ by the persistence provider.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="jar-file" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Jar file that is to be scanned for managed classes.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="class" type="xsd:string"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Managed class to be included in the persistence unit and
+ to scan for annotations. It should be annotated
+ with either @Entity, @Embeddable or @MappedSuperclass.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="exclude-unlisted-classes" type="xsd:boolean"
+ default="true" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ When set to true then only listed classes and jars will
+ be scanned for persistent classes, otherwise the
+ enclosing jar or directory will also be scanned.
+ Not applicable to Java SE persistence units.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="shared-cache-mode"
+ type="persistence:persistence-unit-caching-type"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines whether caching is enabled for the
+ persistence unit if caching is supported by the
+ persistence provider. When set to ALL, all entities
+ will be cached. When set to NONE, no entities will
+ be cached. When set to ENABLE_SELECTIVE, only entities
+ specified as cacheable will be cached. When set to
+ DISABLE_SELECTIVE, entities specified as not cacheable
+ will not be cached. When not specified or when set to
+ UNSPECIFIED, provider defaults may apply.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="validation-mode"
+ type="persistence:persistence-unit-validation-mode-type"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The validation mode to be used for the persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+
+
+ <!-- **************************************************** -->
+
+ <xsd:element name="properties" minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ A list of standard and vendor-specific properties
+ and hints.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:sequence>
+ <xsd:element name="property"
+ minOccurs="0" maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ A name-value pair.
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:complexType>
+ <xsd:attribute name="name" type="xsd:string"
+ use="required"/>
+ <xsd:attribute name="value" type="xsd:string"
+ use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+ </xsd:element>
+
+ </xsd:sequence>
+
+ <!-- **************************************************** -->
+
+ <xsd:attribute name="name" type="xsd:string" use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Name used in code to reference this persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+
+ <!-- **************************************************** -->
+
+ <xsd:attribute name="transaction-type"
+ type="persistence:persistence-unit-transaction-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Type of transactions used by EntityManagers from this
+ persistence unit.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+
+ </xsd:complexType>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="version" type="persistence:versionType"
+ fixed="3.0" use="required"/>
+ </xsd:complexType>
+ </xsd:element>
+
+ <!-- **************************************************** -->
+
+ <xsd:simpleType name="persistence-unit-transaction-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum PersistenceUnitTransactionType {JTA, RESOURCE_LOCAL};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="JTA"/>
+ <xsd:enumeration value="RESOURCE_LOCAL"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="persistence-unit-caching-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum SharedCacheMode { ALL, NONE, ENABLE_SELECTIVE, DISABLE_SELECTIVE, UNSPECIFIED};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="ALL"/>
+ <xsd:enumeration value="NONE"/>
+ <xsd:enumeration value="ENABLE_SELECTIVE"/>
+ <xsd:enumeration value="DISABLE_SELECTIVE"/>
+ <xsd:enumeration value="UNSPECIFIED"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+<!-- **************************************************** -->
+
+ <xsd:simpleType name="persistence-unit-validation-mode-type">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ public enum ValidationMode { AUTO, CALLBACK, NONE};
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:restriction base="xsd:token">
+ <xsd:enumeration value="AUTO"/>
+ <xsd:enumeration value="CALLBACK"/>
+ <xsd:enumeration value="NONE"/>
+ </xsd:restriction>
+ </xsd:simpleType>
+
+</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/validation-configuration-3.0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/validation-configuration-3.0.xsd
new file mode 100644
index 0000000..4bbd9bd
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/validation-configuration-3.0.xsd
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Jakarta Bean Validation API
+ ~
+ ~ License: Apache License, Version 2.0
+ ~ See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
+ -->
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="qualified"
+ targetNamespace="https://jakarta.ee/xml/ns/validation/configuration"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:config="https://jakarta.ee/xml/ns/validation/configuration"
+ version="3.0">
+
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+ This is the XML Schema for the Jakarta Bean Validation configuration file.
+ The configuration file must be named "META-INF/validation.xml".
+
+ Jakarta Bean Validation configuration files must indicate the Jakarta Bean Validation
+ XML schema by using the validation namespace:
+
+ https://jakarta.ee/xml/ns/validation/configuration
+
+ and indicate the version of the schema by using the version attribute
+ as shown below:
+
+ <validation-config
+ xmlns="https://jakarta.ee/xml/ns/validation/configuration"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ https://jakarta.ee/xml/ns/validation/configuration
+ https://jakarta.ee/xml/ns/validation/validation-configuration-3.0.xsd"
+ version="3.0">
+ [...]
+ </validation-config>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="validation-config" type="config:validation-configType"/>
+ <xs:complexType name="validation-configType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="default-provider" minOccurs="0"/>
+ <xs:element type="xs:string" name="message-interpolator" minOccurs="0"/>
+ <xs:element type="xs:string" name="traversable-resolver" minOccurs="0"/>
+ <xs:element type="xs:string" name="constraint-validator-factory" minOccurs="0"/>
+ <xs:element type="xs:string" name="parameter-name-provider" minOccurs="0"/>
+ <xs:element type="xs:string" name="clock-provider" minOccurs="0"/>
+ <xs:element type="xs:string" name="value-extractor" maxOccurs="unbounded"
+ minOccurs="0"/>
+ <xs:element type="config:executable-validationType" name="executable-validation"
+ minOccurs="0"/>
+ <xs:element type="xs:string" name="constraint-mapping" maxOccurs="unbounded"
+ minOccurs="0"/>
+ <xs:element type="config:propertyType" name="property" maxOccurs="unbounded"
+ minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="version" type="config:versionType" fixed="3.0" use="required"/>
+ </xs:complexType>
+
+ <xs:complexType name="executable-validationType">
+ <xs:sequence>
+ <xs:element type="config:default-validated-executable-typesType"
+ name="default-validated-executable-types" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="enabled" use="optional" type="xs:boolean" default="true"/>
+ </xs:complexType>
+ <xs:complexType name="default-validated-executable-typesType">
+ <xs:sequence>
+ <xs:element name="executable-type" maxOccurs="unbounded" minOccurs="1">
+ <xs:simpleType>
+ <xs:restriction base="xs:string">
+ <xs:enumeration value="NONE"/>
+ <xs:enumeration value="CONSTRUCTORS"/>
+ <xs:enumeration value="NON_GETTER_METHODS"/>
+ <xs:enumeration value="GETTER_METHODS"/>
+ <xs:enumeration value="ALL"/>
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:element>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="propertyType">
+ <xs:simpleContent>
+ <xs:extension base="xs:string">
+ <xs:attribute name="name" use="required" type="xs:string"/>
+ </xs:extension>
+ </xs:simpleContent>
+ </xs:complexType>
+ <xs:simpleType name="versionType">
+ <xs:restriction base="xs:token">
+ <xs:pattern value="[0-9]+(\.[0-9]+)*" />
+ </xs:restriction>
+ </xs:simpleType>
+</xs:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/validation-mapping-3.0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/validation-mapping-3.0.xsd
new file mode 100644
index 0000000..7a2c133
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/validation-mapping-3.0.xsd
@@ -0,0 +1,309 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ ~ Jakarta Bean Validation API
+ ~
+ ~ License: Apache License, Version 2.0
+ ~ See the license.txt file in the root directory or <http://www.apache.org/licenses/LICENSE-2.0>.
+ -->
+<xs:schema attributeFormDefault="unqualified"
+ elementFormDefault="qualified"
+ targetNamespace="https://jakarta.ee/xml/ns/validation/mapping"
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:map="https://jakarta.ee/xml/ns/validation/mapping"
+ version="3.0">
+
+ <xs:annotation>
+ <xs:documentation><![CDATA[
+ This is the XML Schema for Jakarta Bean Validation constraint mapping files.
+
+ Jakarta Bean Validation constraint mapping files must indicate the Jakarta Bean Validation
+ XML schema by using the constraint mapping namespace:
+
+ https://jakarta.ee/xml/ns/validation/mapping
+
+ and indicate the version of the schema by using the version attribute
+ as shown below:
+
+ <constraint-mappings
+ xmlns="https://jakarta.ee/xml/ns/validation/mapping"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="
+ https://jakarta.ee/xml/ns/validation/mapping
+ https://jakarta.ee/xml/ns/validation/validation-mapping-3.0.xsd"
+ version="3.0">
+ ...
+ </constraint-mappings>
+ ]]>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:element name="constraint-mappings" type="map:constraint-mappingsType"/>
+
+ <xs:complexType name="payloadType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="value" maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="groupsType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="value" maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="groupSequenceType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="value" maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="groupConversionType">
+ <xs:attribute type="xs:string" name="from" use="optional"/>
+ <xs:attribute type="xs:string" name="to" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="constraint-mappingsType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="default-package" minOccurs="0"/>
+ <xs:element type="map:beanType"
+ name="bean"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ <xs:element type="map:constraint-definitionType"
+ name="constraint-definition"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="version" type="map:versionType" fixed="3.0" use="required"/>
+ </xs:complexType>
+ <xs:simpleType name="versionType">
+ <xs:restriction base="xs:token">
+ <xs:pattern value="[0-9]+(\.[0-9]+)*"/>
+ </xs:restriction>
+ </xs:simpleType>
+ <xs:complexType name="validated-byType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="value" maxOccurs="unbounded" minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute type="xs:boolean" name="include-existing-validators" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="constraintType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="message" minOccurs="0"/>
+ <xs:element type="map:groupsType"
+ name="groups"
+ minOccurs="0"/>
+ <xs:element type="map:payloadType"
+ name="payload"
+ minOccurs="0"/>
+ <xs:element type="map:elementType"
+ name="element"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="annotation" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="elementType" mixed="true">
+ <xs:sequence>
+ <xs:element type="xs:string" name="value" maxOccurs="unbounded" minOccurs="0"/>
+ <xs:element type="map:annotationType"
+ name="annotation"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="name" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="containerElementTypeType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="valid" minOccurs="0" fixed=""/>
+ <xs:element type="map:groupConversionType"
+ name="convert-group"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:containerElementTypeType"
+ name="container-element-type"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ <xs:element type="map:constraintType"
+ name="constraint"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute name="type-argument-index" use="optional">
+ <xs:simpleType>
+ <xs:restriction base="xs:int">
+ <xs:minInclusive value="0" />
+ </xs:restriction>
+ </xs:simpleType>
+ </xs:attribute>
+ </xs:complexType>
+ <xs:complexType name="classType">
+ <xs:sequence>
+ <xs:element type="map:groupSequenceType"
+ name="group-sequence"
+ minOccurs="0"/>
+ <xs:element type="map:constraintType"
+ name="constraint"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ </xs:sequence>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="beanType">
+ <xs:sequence>
+ <xs:element type="map:classType"
+ name="class"
+ minOccurs="0">
+ </xs:element>
+ <xs:element type="map:fieldType"
+ name="field"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:getterType"
+ name="getter"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:constructorType"
+ name="constructor"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:methodType"
+ name="method"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="class" use="required"/>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"
+ default="true"/>
+ </xs:complexType>
+ <xs:complexType name="annotationType">
+ <xs:sequence>
+ <xs:element type="map:elementType"
+ name="element"
+ maxOccurs="unbounded"
+ minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+ <xs:complexType name="getterType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="valid" minOccurs="0" fixed=""/>
+ <xs:element type="map:groupConversionType"
+ name="convert-group"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:containerElementTypeType"
+ name="container-element-type"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:constraintType"
+ name="constraint"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="name" use="required"/>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="methodType">
+ <xs:sequence>
+ <xs:element type="map:parameterType"
+ name="parameter"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:crossParameterType"
+ name="cross-parameter"
+ minOccurs="0"
+ maxOccurs="1"/>
+ <xs:element type="map:returnValueType"
+ name="return-value"
+ minOccurs="0"
+ maxOccurs="1"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="name" use="required"/>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="constructorType">
+ <xs:sequence>
+ <xs:element type="map:parameterType"
+ name="parameter"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:crossParameterType"
+ name="cross-parameter"
+ minOccurs="0"
+ maxOccurs="1"/>
+ <xs:element type="map:returnValueType"
+ name="return-value"
+ minOccurs="0"
+ maxOccurs="1"/>
+ </xs:sequence>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="parameterType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="valid" minOccurs="0" fixed=""/>
+ <xs:element type="map:groupConversionType"
+ name="convert-group"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:containerElementTypeType"
+ name="container-element-type"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:constraintType"
+ name="constraint"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="type" use="required"/>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="returnValueType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="valid" minOccurs="0" fixed=""/>
+ <xs:element type="map:groupConversionType"
+ name="convert-group"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:containerElementTypeType"
+ name="container-element-type"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:constraintType"
+ name="constraint"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="crossParameterType">
+ <xs:sequence>
+ <xs:element type="map:constraintType"
+ name="constraint"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+ <xs:complexType name="constraint-definitionType">
+ <xs:sequence>
+ <xs:element type="map:validated-byType"
+ name="validated-by"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="annotation" use="required"/>
+ </xs:complexType>
+ <xs:complexType name="fieldType">
+ <xs:sequence>
+ <xs:element type="xs:string" name="valid" minOccurs="0" fixed=""/>
+ <xs:element type="map:groupConversionType"
+ name="convert-group"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:containerElementTypeType"
+ name="container-element-type"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xs:element type="map:constraintType"
+ name="constraint"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ </xs:sequence>
+ <xs:attribute type="xs:string" name="name" use="required"/>
+ <xs:attribute type="xs:boolean" name="ignore-annotations" use="optional"/>
+ </xs:complexType>
+</xs:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-app_5_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-app_5_0.xsd
index edf1ae8..55d11db 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-app_5_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-app_5_0.xsd
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
@@ -24,58 +6,82 @@
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="5.0">
-
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the XML Schema for the Servlet 5.0 deployment descriptor.
- The deployment descriptor must be named "WEB-INF/web.xml" in the
- web application's war file. All Servlet deployment descriptors
- must indicate the web application schema by using the Jakarta EE
- namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and by indicating the version of the schema by
- using the version element as shown below:
-
- <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="..."
- version="5.0">
- ...
- </web-app>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd
-
- ]]>
+ This is the XML Schema for the Servlet 5.0 deployment descriptor.
+ The deployment descriptor must be named "WEB-INF/web.xml" in the
+ web application's war file. All Servlet deployment descriptors
+ must indicate the web application schema by using the Jakarta EE
+ namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="..."
+ version="5.0">
+ ...
+ </web-app>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="web-common_5_0.xsd"/>
- <!-- **************************************************** -->
- <xsd:element name="web-app" type="jakartaee:web-appType">
+<!-- **************************************************** -->
+
+ <xsd:element name="web-app"
+ type="jakartaee:web-appType">
<xsd:annotation>
<xsd:documentation>
@@ -93,36 +99,33 @@
of the element distributable is redundant and the container
treats that case exactly in the same way when there is only
one distributable.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:unique name="web-common-servlet-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The servlet element contains the name of a servlet.
The name must be unique within the web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:servlet"/>
- <xsd:field xpath="jakartaee:servlet-name"/>
+ <xsd:field xpath="jakartaee:servlet-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-filter-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The filter element contains the name of a filter.
The name must be unique within the web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:filter"/>
- <xsd:field xpath="jakartaee:filter-name"/>
+ <xsd:field xpath="jakartaee:filter-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-ejb-local-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -133,15 +136,14 @@
application's environment and is relative to the
java:comp/env context. The name must be unique within
the web application.
-
+
It is recommended that name is prefixed with "ejb/".
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:ejb-local-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-ejb-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -151,15 +153,14 @@
reference is an entry in the web application's environment
and is relative to the java:comp/env context.
The name must be unique within the web application.
-
+
It is recommended that name is prefixed with "ejb/".
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:ejb-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-resource-env-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -169,13 +170,12 @@
environment entry name used in the web application code.
The name is a JNDI name relative to the java:comp/env
context and must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:resource-env-ref"/>
- <xsd:field xpath="jakartaee:resource-env-ref-name"/>
+ <xsd:field xpath="jakartaee:resource-env-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-message-destination-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -185,14 +185,12 @@
environment entry name used in the web application code.
The name is a JNDI name relative to the java:comp/env
context and must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:message-destination-ref"/>
- <xsd:field xpath="jakartaee:message-destination-ref-name"/>
+ <xsd:field xpath="jakartaee:message-destination-ref-name"/>
</xsd:unique>
-
-
<xsd:unique name="web-common-res-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -201,13 +199,12 @@
resource manager connection factory reference. The name
is a JNDI name relative to the java:comp/env context.
The name must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:resource-ref"/>
- <xsd:field xpath="jakartaee:res-ref-name"/>
+ <xsd:field xpath="jakartaee:res-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-env-entry-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -216,27 +213,24 @@
application's environment entry. The name is a JNDI
name relative to the java:comp/env context. The name
must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:selector xpath="jakartaee:env-entry"/>
- <xsd:field xpath="jakartaee:env-entry-name"/>
+ <xsd:field xpath="jakartaee:env-entry-name"/>
</xsd:unique>
-
<xsd:key name="web-common-role-name-key">
<xsd:annotation>
<xsd:documentation>
A role-name-key is specified to allow the references
from the security-role-refs.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:security-role"/>
- <xsd:field xpath="jakartaee:role-name"/>
+ <xsd:field xpath="jakartaee:role-name"/>
</xsd:key>
-
<xsd:keyref name="web-common-role-name-references"
refer="jakartaee:web-common-role-name-key">
<xsd:annotation>
@@ -244,14 +238,15 @@
The keyref indicates the references from
security-role-ref to a specified role-name.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:servlet/jakartaee:security-role-ref"/>
- <xsd:field xpath="jakartaee:role-link"/>
+ <xsd:field xpath="jakartaee:role-link"/>
</xsd:keyref>
</xsd:element>
+
<!-- **************************************************** -->
<xsd:complexType name="web-appType">
@@ -261,7 +256,8 @@
type="jakartaee:string"
minOccurs="0"/>
<xsd:group ref="jakartaee:web-commonType"/>
- <xsd:element name="default-context-path" type="jakartaee:string">
+ <xsd:element name="default-context-path"
+ type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
@@ -269,35 +265,38 @@
of the web application. An empty value for this element must cause
the web application to be deployed at the root for the container.
Otherwise, the default context path must start with
- a “/“ character but not end with a “/“ character.
+ a "/" character but not end with a "/" character.
Servlet containers may provide vendor specific configuration
options that allows specifying a value that overrides the value
specified here.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
- <xsd:element name="request-character-encoding" type="jakartaee:string">
+ <xsd:element name="request-character-encoding"
+ type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
When specified, this element provides a default request
character encoding of the web application.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
- <xsd:element name="response-character-encoding" type="jakartaee:string">
+ <xsd:element name="response-character-encoding"
+ type="jakartaee:string">
<xsd:annotation>
<xsd:documentation>
When specified, this element provides a default response
character encoding of the web application.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
- <xsd:element name="deny-uncovered-http-methods" type="jakartaee:emptyType">
+ <xsd:element name="deny-uncovered-http-methods"
+ type="jakartaee:emptyType">
<xsd:annotation>
<xsd:documentation>
@@ -306,7 +305,7 @@
security-constrant, this element causes all HTTP methods that
are NOT covered (by a security constraint) at the url-pattern
to be denied.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -316,6 +315,7 @@
<xsd:attributeGroup ref="jakartaee:web-common-attributes"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="absoluteOrderingType">
@@ -323,7 +323,7 @@
<xsd:documentation>
Please see section 8.2.2 of the specification for details.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-common_5_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-common_5_0.xsd
index 9ee344d..ee12bea 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-common_5_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-common_5_0.xsd
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
@@ -24,58 +6,78 @@
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="5.0">
-
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the common XML Schema for the Servlet 5.0 deployment descriptor.
- This file is in turn used by web.xml and web-fragment.xml
- web application's war file. All Servlet deployment descriptors
- must indicate the web common schema by using the Jakarta EE
- namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and by indicating the version of the schema by
- using the version element as shown below:
-
- <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="..."
- version="5.0">
- ...
- </web-app>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/web-common_5_0.xsd
-
- ]]>
+ This is the common XML Schema for the Servlet 5.0 deployment descriptor.
+ This file is in turn used by web.xml and web-fragment.xml
+ web application's war file. All Servlet deployment descriptors
+ must indicate the web common schema by using the Jakarta EE
+ namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="..."
+ version="5.0">
+ ...
+ </web-app>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/web-common_5_0.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
-
-<!-- **************************************************** -->
-
<xsd:include schemaLocation="jakartaee_9.xsd"/>
- <xsd:include schemaLocation="jsp_3_0.xsd"/>
-<!-- **************************************************** -->
+ <xsd:include schemaLocation="jsp_3_0.xsd"/>
<xsd:group name="web-commonType">
<xsd:choice>
@@ -90,11 +92,10 @@
The context-param element contains the declaration
of a web application's servlet context
initialization parameters.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="filter"
type="jakartaee:filterType"/>
<xsd:element name="filter-mapping"
@@ -129,15 +130,12 @@
</xsd:choice>
</xsd:group>
-<!-- **************************************************** -->
-
<xsd:attributeGroup name="web-common-attributes">
<xsd:attribute name="version"
type="jakartaee:web-app-versionType"
use="required"/>
<xsd:attribute name="id"
type="xsd:ID"/>
-
<xsd:attribute name="metadata-complete"
type="xsd:boolean">
<xsd:annotation>
@@ -150,22 +148,23 @@
files available to this module and packaged with
this application should be examined for annotations
that specify deployment information.
-
+
If metadata-complete is set to "true", the deployment
tool must ignore any annotations that specify deployment
information, which might be present in the class files
of the application.
-
+
If metadata-complete is not specified or is set to
"false", the deployment tool must examine the class
files of the application for annotations, as
specified by the specifications.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:attribute>
</xsd:attributeGroup>
+
<!-- **************************************************** -->
<xsd:complexType name="auth-constraintType">
@@ -184,10 +183,9 @@
to the portion of the web application described by the
containing security-constraint. The container matches
role names case sensitively when determining access.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -202,6 +200,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="auth-methodType">
@@ -215,17 +214,17 @@
using the configured mechanism. Legal values are "BASIC",
"DIGEST", "FORM", "CLIENT-CERT", or a vendor-specific
authentication scheme.
-
+
Used in: login-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string"/>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="dispatcherType">
@@ -234,7 +233,7 @@
The dispatcher has five legal values: FORWARD, REQUEST,
INCLUDE, ASYNC, and ERROR.
-
+
A value of FORWARD means the Filter will be applied under
RequestDispatcher.forward() calls.
A value of REQUEST means the Filter will be applied under
@@ -245,14 +244,13 @@
calls dispatched from an AsyncContext.
A value of ERROR means the Filter will be applied under the
error page mechanism.
-
+
The absence of any dispatcher elements in a filter-mapping
indicates a default of applying filters only under ordinary
client calls to the path or servlet.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
<xsd:enumeration value="FORWARD"/>
@@ -264,6 +262,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="error-codeType">
@@ -271,12 +270,11 @@
<xsd:documentation>
The error-code contains an HTTP error code, ex: 404
-
+
Used in: error-page
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:xsdPositiveIntegerType">
<xsd:pattern value="\d{3}"/>
@@ -286,6 +284,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="error-pageType">
@@ -295,22 +294,21 @@
The error-pageType contains a mapping between an error code
or exception type to the path of a resource in the web
application.
-
+
Error-page declarations using the exception-type element in
the deployment descriptor must be unique up to the class name of
the exception-type. Similarly, error-page declarations using the
error-code element must be unique in the deployment descriptor
up to the status code.
-
+
If an error-page element in the deployment descriptor does not
contain an exception-type or an error-code element, the error
page is a default error page.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:choice minOccurs="0"
maxOccurs="1">
@@ -323,12 +321,11 @@
The exception-type contains a fully qualified class
name of a Java exception type.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
-
<xsd:element name="location"
type="jakartaee:war-pathType">
<xsd:annotation>
@@ -338,7 +335,7 @@
resource in the web application relative to the root of
the web application. The value of the location must have
a leading `/'.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -347,6 +344,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="filterType">
@@ -359,12 +357,11 @@
filter-name value to reference. Filters can access the
initialization parameters declared in the deployment
descriptor at runtime via the FilterConfig interface.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="filter-name"
@@ -377,14 +374,13 @@
<xsd:documentation>
The fully qualified classname of the filter.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="async-supported"
type="jakartaee:true-falseType"
minOccurs="0"/>
-
<xsd:element name="init-param"
type="jakartaee:param-valueType"
minOccurs="0"
@@ -394,7 +390,7 @@
The init-param element contains a name/value pair as
an initialization param of a servlet filter
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -403,6 +399,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="filter-mappingType">
@@ -424,10 +421,9 @@
filter-name value must be the value of the filter-name
sub-elements of one of the filter declarations in the
deployment descriptor.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="filter-name"
type="jakartaee:filter-nameType"/>
@@ -447,13 +443,16 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="nonEmptyStringType">
<xsd:annotation>
<xsd:documentation>
+
This type defines a string which contains at least one
character.
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -463,6 +462,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="filter-nameType">
@@ -473,17 +473,17 @@
by using filter-nameType. This name is used to map the
filter. Each filter name is unique within the web
application.
-
+
Used in: filter, filter-mapping
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:extension base="jakartaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="form-login-configType">
@@ -493,14 +493,12 @@
The form-login-configType specifies the login and error
pages that should be used in form based login. If form based
authentication is not used, these elements are ignored.
-
+
Used in: login-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
-
<xsd:element name="form-login-page"
type="jakartaee:war-pathType">
<xsd:annotation>
@@ -510,11 +508,10 @@
app where the page that can be used for login can be
found. The path begins with a leading / and is interpreted
relative to the root of the WAR.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="form-error-page"
type="jakartaee:war-pathType">
<xsd:annotation>
@@ -525,48 +522,39 @@
when login is not successful can be found.
The path begins with a leading / and is interpreted
relative to the root of the WAR.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="http-methodType">
<xsd:annotation>
-
<xsd:documentation>
A HTTP method type as defined in HTTP 1.1 section 2.2.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:restriction base="xsd:token">
- <xsd:pattern value="[!-~-[\(\)<>@,;:"/\[\]?=\{\}\\\p{Z}]]+"/>
+ <xsd:pattern value="[!-~-[\(\)<>@,;:"/\[\]?=\{\}\\\p{Z}]]+"/>
</xsd:restriction>
-
</xsd:simpleType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="load-on-startupType">
<xsd:union memberTypes="jakartaee:null-charType xsd:integer"/>
</xsd:simpleType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="null-charType">
<xsd:restriction base="xsd:string">
<xsd:enumeration value=""/>
</xsd:restriction>
</xsd:simpleType>
+
<!-- **************************************************** -->
<xsd:complexType name="login-configType">
@@ -577,12 +565,11 @@
method that should be used, the realm name that should be
used for this application, and the attributes that are
needed by the form login mechanism.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="auth-method"
type="jakartaee:auth-methodType"
@@ -595,7 +582,7 @@
The realm name element specifies the realm name to
use in HTTP Basic authorization.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -607,6 +594,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="mime-mappingType">
@@ -615,22 +603,20 @@
The mime-mappingType defines a mapping between an extension
and a mime type.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:annotation>
<xsd:documentation>
The extension element contains a string describing an
extension. example: "txt"
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:element name="extension"
type="jakartaee:string"/>
<xsd:element name="mime-type"
@@ -640,6 +626,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="mime-typeType">
@@ -647,15 +634,14 @@
<xsd:documentation>
The mime-typeType is used to indicate a defined mime type.
-
+
Example:
"text/plain"
-
+
Used in: mime-mapping
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
<xsd:pattern value="[^\p{Cc}^\s]+/[^\p{Cc}^\s]+"/>
@@ -663,6 +649,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="security-constraintType">
@@ -672,12 +659,11 @@
The security-constraintType is used to associate
security constraints with one or more web resource
collections
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="display-name"
type="jakartaee:display-nameType"
@@ -697,6 +683,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="servletType">
@@ -708,12 +695,11 @@
servlet. If a jsp-file is specified and the load-on-startup
element is present, then the JSP should be precompiled and
loaded.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="servlet-name"
@@ -727,16 +713,13 @@
The servlet-class element contains the fully
qualified class name of the servlet.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="jsp-file"
type="jakartaee:jsp-fileType"/>
-
</xsd:choice>
-
<xsd:element name="init-param"
type="jakartaee:param-valueType"
minOccurs="0"
@@ -763,7 +746,7 @@
before servlets marked with higher integers. The
container may choose the order of loading of
servlets with the same load-on-start-up value.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -789,6 +772,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="servlet-mappingType">
@@ -797,12 +781,11 @@
The servlet-mappingType defines a mapping between a
servlet and a url pattern.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="servlet-name"
type="jakartaee:servlet-nameType"/>
@@ -811,7 +794,8 @@
minOccurs="1"
maxOccurs="unbounded"/>
</xsd:sequence>
- <xsd:attribute name="id" type="xsd:ID"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
</xsd:complexType>
@@ -824,15 +808,15 @@
The servlet-name element contains the canonical name of the
servlet. Each servlet name is unique within the web
application.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:extension base="jakartaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="session-configType">
@@ -841,12 +825,11 @@
The session-configType defines the session parameters
for this web application.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="session-timeout"
type="jakartaee:xsdIntegerType"
@@ -862,7 +845,7 @@
the default behaviour of sessions is never to time
out. If this element is not specified, the container
must set its default timeout period.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -874,7 +857,7 @@
The cookie-config element defines the configuration of the
session tracking cookies created by this web application.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -887,7 +870,7 @@
The tracking-mode element defines the tracking modes
for sessions created by this web application
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -896,6 +879,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="cookie-configType">
@@ -904,12 +888,11 @@
The cookie-configType defines the configuration for the
session tracking cookies of this web application.
-
+
Used in: session-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="name"
type="jakartaee:cookie-nameType"
@@ -920,7 +903,7 @@
The name that will be assigned to any session tracking
cookies created by this web application.
The default is JSESSIONID
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -932,7 +915,7 @@
The domain name that will be assigned to any session tracking
cookies created by this web application.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -944,7 +927,7 @@
The path that will be assigned to any session tracking
cookies created by this web application.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -956,7 +939,7 @@
The comment that will be assigned to any session tracking
cookies created by this web application.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -968,7 +951,7 @@
Specifies whether any session tracking cookies created
by this web application will be marked as HttpOnly
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -985,7 +968,7 @@
initiated the corresponding session.
When false, the session cookie should only be marked secure
if the request that initiated the session was secure.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -998,7 +981,7 @@
The lifetime (in seconds) that will be assigned to any
session tracking cookies created by this web application.
Default is -1
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1007,6 +990,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="cookie-nameType">
@@ -1016,17 +1000,17 @@
The name that will be assigned to any session tracking
cookies created by this web application.
The default is JSESSIONID
-
+
Used in: cookie-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:extension base="jakartaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="cookie-domainType">
@@ -1035,17 +1019,17 @@
The domain name that will be assigned to any session tracking
cookies created by this web application.
-
+
Used in: cookie-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:extension base="jakartaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="cookie-pathType">
@@ -1054,17 +1038,17 @@
The path that will be assigned to any session tracking
cookies created by this web application.
-
+
Used in: cookie-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:extension base="jakartaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="cookie-commentType">
@@ -1073,17 +1057,17 @@
The comment that will be assigned to any session tracking
cookies created by this web application.
-
+
Used in: cookie-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:extension base="jakartaee:nonEmptyStringType"/>
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="tracking-modeType">
@@ -1092,12 +1076,11 @@
The tracking modes for sessions created by this web
application
-
+
Used in: session-config
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
<xsd:enumeration value="COOKIE"/>
@@ -1107,6 +1090,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="transport-guaranteeType">
@@ -1125,12 +1109,11 @@
transmission. In most cases, the presence of the INTEGRAL or
CONFIDENTIAL flag will indicate that the use of SSL is
required.
-
+
Used in: user-data-constraint
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
<xsd:enumeration value="NONE"/>
@@ -1140,6 +1123,7 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="user-data-constraintType">
@@ -1149,12 +1133,11 @@
The user-data-constraintType is used to indicate how
data communicated between the client and container should be
protected.
-
+
Used in: security-constraint
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="description"
type="jakartaee:descriptionType"
@@ -1167,7 +1150,8 @@
type="xsd:ID"/>
</xsd:complexType>
-<!-- ************************************************** -->
+
+<!-- **************************************************** -->
<xsd:complexType name="war-pathType">
<xsd:annotation>
@@ -1176,7 +1160,7 @@
The elements that use this type designate a path starting
with a "/" and interpreted relative to the root of a WAR
file.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -1186,8 +1170,6 @@
</xsd:simpleContent>
</xsd:complexType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="web-app-versionType">
<xsd:annotation>
<xsd:documentation>
@@ -1195,7 +1177,7 @@
This type contains the recognized versions of
web-application supported. It is used to designate the
version of the web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
@@ -1203,6 +1185,7 @@
</xsd:restriction>
</xsd:simpleType>
+
<!-- **************************************************** -->
<xsd:complexType name="web-resource-collectionType">
@@ -1218,12 +1201,11 @@
except those identified in the collection.
http-method-omission and http-method elements are never
mixed in the same collection.
-
+
Used in: security-constraint
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="web-resource-name"
type="jakartaee:string">
@@ -1232,7 +1214,7 @@
The web-resource-name contains the name of this web
resource collection.
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1251,8 +1233,10 @@
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
+
Each http-method names an HTTP method to which the
constraint applies.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1262,8 +1246,10 @@
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
+
Each http-method-omission names an HTTP method to
which the constraint does not apply.
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1273,6 +1259,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="welcome-file-listType">
@@ -1281,12 +1268,11 @@
The welcome-file-list contains an ordered list of welcome
files elements.
-
+
Used in: web-app
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="welcome-file"
type="xsd:string"
@@ -1296,7 +1282,7 @@
The welcome-file element contains file name to use
as a default welcome file, such as index.html
-
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1305,39 +1291,34 @@
type="xsd:ID"/>
</xsd:complexType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="localeType">
<xsd:annotation>
<xsd:documentation>
The localeType defines valid locale defined by ISO-639-1
and ISO-3166.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:restriction base="xsd:string">
<xsd:pattern value="[a-z]{2}(_|-)?([\p{L}\-\p{Nd}]{2})?"/>
</xsd:restriction>
</xsd:simpleType>
-<!-- **************************************************** -->
-
<xsd:simpleType name="encodingType">
<xsd:annotation>
<xsd:documentation>
The encodingType defines IANA character sets.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:restriction base="xsd:string">
<xsd:pattern value="[^\s]+"/>
</xsd:restriction>
</xsd:simpleType>
+
<!-- **************************************************** -->
<xsd:complexType name="locale-encoding-mapping-listType">
@@ -1346,10 +1327,9 @@
The locale-encoding-mapping-list contains one or more
locale-encoding-mapping(s).
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="locale-encoding-mapping"
type="jakartaee:locale-encoding-mappingType"
@@ -1359,6 +1339,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="locale-encoding-mappingType">
@@ -1369,10 +1350,9 @@
encoding name. The locale name must be either "Language-code",
such as "ja", defined by ISO-639 or "Language-code_Country-code",
such as "ja_JP". "Country code" is defined by ISO-3166.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="locale"
type="jakartaee:localeType"/>
@@ -1383,6 +1363,7 @@
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="ordering-othersType">
@@ -1394,13 +1375,14 @@
of this application resource relative to other application
configuration resources.
See section 8.2.2 of the specification for details.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="multipart-configType">
@@ -1409,7 +1391,7 @@
This element specifies configuration information related to the
handling of multipart/form-data requests.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -1419,7 +1401,9 @@
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
+
The directory location where uploaded files will be stored
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1429,7 +1413,9 @@
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
+
The maximum size limit of uploaded files
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1439,7 +1425,9 @@
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
+
The maximum size limit of multipart/form-data requests
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -1449,8 +1437,10 @@
maxOccurs="1">
<xsd:annotation>
<xsd:documentation>
+
The size threshold after which an uploaded file will be
written to disk
+
</xsd:documentation>
</xsd:annotation>
</xsd:element>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facelettaglibrary_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facelettaglibrary_3_0.xsd
index c4bf3c0..8231deb 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facelettaglibrary_3_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facelettaglibrary_3_0.xsd
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
@@ -28,13 +10,28 @@
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>The XML Schema for the Tag Libraries in the Jakarta Server Faces
Standard Facelets View Declaration Language (Facelets VDL)
(Version 3.0).</p>
@@ -44,7 +41,7 @@
<facelet-taglib xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibary_2_3.xsd"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibary_3_0.xsd"
version="3.0">
...
@@ -55,7 +52,7 @@
version of the schema using xsi:schemaLocation attribute
for jakartaee namespace with the following location:</p>
- <p>https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibary_2_3.xsd</p>
+ <p>https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibary_3_0.xsd</p>
]]>
</xsd:documentation>
@@ -68,44 +65,60 @@
type="jakartaee:facelet-taglibType">
<xsd:unique name="facelet-taglib-tagname-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
tag-names must be unique within a document.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:tag"/>
<xsd:field xpath="jakartaee:tag-name"/>
</xsd:unique>
<xsd:unique name="faces-config-behavior-ID-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Behavior IDs must be unique within a document.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:behavior"/>
<xsd:field xpath="jakartaee:behavior-id"/>
</xsd:unique>
<xsd:unique name="faces-config-converter-ID-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Converter IDs must be unique within a document.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:converter"/>
<xsd:field xpath="jakartaee:converter-id"/>
</xsd:unique>
<xsd:unique name="faces-config-validator-ID-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Validator IDs must be unique within a document.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:validator"/>
<xsd:field xpath="jakartaee:validator-id"/>
@@ -117,11 +130,15 @@
<xsd:complexType name="facelet-taglibType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
The top level XML element in a facelet tag library XML file.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -131,14 +148,20 @@
<xsd:sequence>
<xsd:element name="namespace"
type="jakartaee:string"/>
- <xsd:element minOccurs="0" maxOccurs="1" name="short-name"
+ <xsd:element minOccurs="0"
+ maxOccurs="1"
+ name="short-name"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
- An advisory short name for usages of tags from this tag library.
-
- </p>]]></xsd:documentation>
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
+ An advisory short name for usages of tags from this tag library.
+
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element minOccurs="0"
@@ -171,12 +194,16 @@
<xsd:complexType name="facelet-taglib-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Extension element for facelet-taglib. It may contain
implementation specific content.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##any"
@@ -193,14 +220,15 @@
<xsd:complexType name="facelet-taglib-tagType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>If the tag library XML
file contains individual tag declarations rather than pointing
to a library-class or a declaring a composite-library name, the
individual tags are enclosed in tag elements.</p>
-
- ]]></xsd:documentation>
+
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -236,30 +264,34 @@
<xsd:complexType name="facelet-taglib-tag-attributeType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
<p>The attribute element defines an attribute for the nesting
tag. The attribute element may have several subelements
defining:</p>
<dl>
-
- <dt>description</dt><dd><p> a description of the attribute
- </p></dd>
-
- <dt>name</dt><dd><p> the name of the attribute
- </p></dd>
- <dt>required</dt><dd><p> whether the attribute is required or
+ <dt>description</dt><dd><p> a description of the attribute
+ </p></dd>
+
+ <dt>name</dt><dd><p> the name of the attribute
+ </p></dd>
+
+ <dt>required</dt><dd><p> whether the attribute is required or
optional
- </p></dd>
-
- <dt>type</dt><dd><p> the type of the attribute
- </p></dd>
-
+ </p></dd>
+
+ <dt>type</dt><dd><p> the type of the attribute
+ </p></dd>
+
</dl>
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -269,15 +301,16 @@
type="jakartaee:generic-booleanType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>Defines if the nesting attribute is required or
optional.</p>
<p>If not present then the default is "false", i.e
the attribute is optional.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
@@ -285,61 +318,67 @@
type="jakartaee:fully-qualified-classType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Defines the Java type of the attributes
value. If this element is omitted, the
expected type is assumed to be
"java.lang.Object".</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="method-signature"
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Defines the method signature for a MethodExpression-
enabled attribute. The syntax of the method-signature
element is as follows (taken from the function-signature
EBNF in web-jsptaglibrary_2_1.xsd):</p>
-
-<code>
-
-<p>MethodSignature ::= ReturnType S MethodName S? '(' S? Parameters? S? ')'</p>
-
-<p>ReturnType ::= Type</p>
-
-<p>MethodName ::= Identifier</p>
-
-<p>Parameters ::= Parameter | ( Parameter S? ',' S? Parameters )</p>
-
-<p>Parameter ::= Type</p>
-
-</code>
-
-<p>Where:</p>
-
-<ul>
-
- <li><p><code>Type</code> is a basic type or a fully qualified
- Java class name (including package name), as per the 'Type'
- production in the Java Language Specification, Second Edition,
- Chapter 18.</p></li>
-
- <li><p><code>Identifier</code> is a Java identifier, as per the
- 'Identifier' production in the Java Language Specification,
- Second Edition, Chapter 18.</p></li>
-
-</ul>
-
-<p>Example:</p>
-
-<p><code>java.lang.String nickName( java.lang.String, int )</code></p>
-
-]]></xsd:documentation>
+
+ <code>
+
+ <p>MethodSignature ::= ReturnType S MethodName S? '(' S? Parameters? S? ')'</p>
+
+ <p>ReturnType ::= Type</p>
+
+ <p>MethodName ::= Identifier</p>
+
+ <p>Parameters ::= Parameter | ( Parameter S? ',' S? Parameters )</p>
+
+ <p>Parameter ::= Type</p>
+
+ </code>
+
+ <p>Where:</p>
+
+ <ul>
+
+ <li><p><code>Type</code> is a basic type or a fully qualified
+ Java class name (including package name), as per the 'Type'
+ production in the Java Language Specification, Second Edition,
+ Chapter 18.</p></li>
+
+ <li><p><code>Identifier</code> is a Java identifier, as per the
+ 'Identifier' production in the Java Language Specification,
+ Second Edition, Chapter 18.</p></li>
+
+ </ul>
+
+ <p>Example:</p>
+
+ <p><code>java.lang.String nickName( java.lang.String, int )</code></p>
+
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
@@ -353,12 +392,16 @@
<xsd:complexType name="facelet-taglib-tag-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Extension element for tag It may contain
implementation specific content.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##any"
@@ -375,14 +418,18 @@
<xsd:complexType name="facelet-taglib-functionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
If the tag library XML file contains individual function
declarations rather than pointing to a library-class or a
declaring a composite-library name, the individual functions are
enclosed in function elements.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -400,12 +447,16 @@
<xsd:complexType name="facelet-taglib-tag-behaviorType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Within a tag element, the behavior element encapsulates
information specific to a Faces Behavior.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -429,12 +480,16 @@
<xsd:complexType name="facelet-taglib-tag-behavior-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Extension element for behavior. It may contain
implementation specific content.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##any"
@@ -451,31 +506,26 @@
<xsd:complexType name="facelet-taglib-tag-componentType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p><span class="changed_modified_2_2
- changed_modified_2_3">Within</span> a tag element, the component
- element encapsulates information specific to a Faces UIComponent.</p>
-
-<div class="changed_added_2_2 changed_deleted_2_3">
-
-<p>As of 3.0 of the specification, this requirement is no longer
-present: This element must have exactly one of
-<code><component-type></code>, <code><resource-id></code>,
-or <code><handler-class></code> among its child elements.</p>
-
-</div>
-
- ]]></xsd:documentation>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p><span class="changed_modified_2_2
+ changed_modified_2_3">Within</span> a tag element, the component
+ element encapsulates information specific to a Faces UIComponent.</p>
+
+ <div class="changed_added_2_2 changed_deleted_2_3">
+
+ <p>As of 3.0 of the specification, this requirement is no longer
+ present: This element must have exactly one of
+ <code><component-type></code>, <code><resource-id></code>,
+ or <code><handler-class></code> among its child elements.</p>
+
+ </div>
+
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
- <!-- Add to component-type the following
-
- minOccurs="0"
- maxOccurs="1"
- -->
<xsd:element name="component-type"
type="jakartaee:string"/>
<xsd:element minOccurs="0"
@@ -490,17 +540,18 @@
maxOccurs="1"
name="resource-id"
type="jakartaee:string">
- <xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">A valid resource identifier
- as specified in the spec prose document section
- 2.6.1.3. For example:</p>
-
- <p><code><resource-id>myCC/ccName.xhtml</resource-id></code></p>
-
- ]]></xsd:documentation>
- </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">A valid resource identifier
+ as specified in the spec prose document section
+ 2.6.1.3. For example:</p>
+
+ <p><code><resource-id>myCC/ccName.xhtml</resource-id></code></p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="component-extension"
type="jakartaee:facelet-taglib-tag-component-extensionType"
@@ -509,16 +560,21 @@
</xsd:sequence>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="facelet-taglib-tag-component-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Extension element for component It may contain
implementation specific content.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##any"
@@ -535,12 +591,16 @@
<xsd:complexType name="facelet-taglib-tag-converterType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Within a tag element, the converter element encapsulates
information specific to a Faces Converter.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -564,12 +624,16 @@
<xsd:complexType name="facelet-taglib-tag-converter-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Extension element for converter It may contain
implementation specific content.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##any"
@@ -586,12 +650,16 @@
<xsd:complexType name="facelet-taglib-tag-validatorType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Within a tag element, the validator element encapsulates
information specific to a Faces Validator.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -615,12 +683,16 @@
<xsd:complexType name="facelet-taglib-tag-validator-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
Extension element for validator It may contain
implementation specific content.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any namespace="##any"
@@ -634,12 +706,16 @@
<xsd:simpleType name="facelet-taglib-versionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
This type contains the recognized versions of
facelet-taglib supported.
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="3.0"/>
@@ -651,14 +727,18 @@
<xsd:complexType name="facelet-taglib-canonical-nameType">
<xsd:annotation>
- <xsd:documentation><![CDATA[<p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p>
+
<p>Defines the canonical name of a tag or attribute being
defined.</p>
<p>The name must conform to the lexical rules for an NCName</p>
- </p>]]></xsd:documentation>
+ </p>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="xsd:NCName">
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facesconfig_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facesconfig_3_0.xsd
index c0d5598..9ea679c 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facesconfig_3_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-facesconfig_3_0.xsd
@@ -1,40 +1,35 @@
-<?xml version="1.0" encoding="utf-8" ?>
-<!--
-
- Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
+<?xml version="1.0" encoding="UTF-8"?>
<xsd:schema xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
- attributeFormDefault="unqualified"
- elementFormDefault="qualified"
- targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
- version="3.0"
+ attributeFormDefault="unqualified"
+ elementFormDefault="qualified"
+ targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ version="3.0"
xmlns:xsd="http://www.w3.org/2001/XMLSchema">
- <xsd:include schemaLocation="jakartaee_9.xsd" />
+ <xsd:include schemaLocation="jakartaee_9.xsd"/>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
<p>The XML Schema for the Jakarta Server Faces Application
Configuration File (Version 3.0).</p>
@@ -50,7 +45,7 @@
<pre><faces-config xmlns="https://jakarta.ee/xml/ns/jakartaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="..."
- version="2.2">
+ version="3.0">
...
</faces-config></pre>
@@ -70,66 +65,72 @@
<xsd:element name="faces-config"
type="jakartaee:faces-configType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>The "faces-config" element is the root of the configuration
information hierarchy, and contains nested elements for all
of the other configuration settings.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:unique name="faces-config-behavior-ID-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>Behavior IDs must be unique within a document.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:behavior"/>
<xsd:field xpath="jakartaee:behavior-id"/>
</xsd:unique>
<xsd:unique name="faces-config-converter-ID-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>Converter IDs must be unique within a document.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:converter"/>
<xsd:field xpath="jakartaee:converter-id"/>
</xsd:unique>
<xsd:unique name="faces-config-converter-for-class-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>'converter-for-class' element values must be unique
within a document.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:converter"/>
<xsd:field xpath="jakartaee:converter-for-class"/>
</xsd:unique>
<xsd:unique name="faces-config-validator-ID-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Validator IDs must be unique within a document.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p> Validator IDs must be unique within a document.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:validator"/>
<xsd:field xpath="jakartaee:validator-id"/>
</xsd:unique>
<xsd:unique name="faces-config-managed-bean-name-uniqueness">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Managed bean names must be unique within a document.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p> Managed bean names must be unique within a document.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:managed-bean"/>
<xsd:field xpath="jakartaee:managed-bean-name"/>
@@ -141,13 +142,14 @@
<xsd:complexType name="faces-configType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "faces-config" element is the root of the configuration
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "faces-config" element is the root of the configuration
information hierarchy, and contains nested elements for all
of the other configuration settings.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
@@ -157,8 +159,7 @@
type="jakartaee:faces-config-orderingType"/>
<xsd:element name="absolute-ordering"
type="jakartaee:faces-config-absoluteOrderingType"
- minOccurs="0"
- />
+ minOccurs="0"/>
<xsd:element name="factory"
type="jakartaee:faces-config-factoryType"/>
<xsd:element name="component"
@@ -171,13 +172,12 @@
type="jakartaee:faces-config-flow-definitionType"/>
<xsd:element name="name"
type="jakartaee:java-identifierType"
- minOccurs="0"
- >
+ minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> <span class="changed_modified_2_2">The</span> "name" element
- within the top level "faces-config"
+ <xsd:documentation>
+ <![CDATA[
+ <p> <span class="changed_modified_2_2">The</span> "name" element
+ within the top level "faces-config"
element declares the name of this application
configuration resource. Such names are used
in the document ordering scheme specified in section
@@ -189,7 +189,8 @@
element is not specified, the runtime must take the empty string
as its value.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="navigation-rule"
@@ -217,7 +218,7 @@
type="xsd:boolean"
use="optional">
<xsd:annotation>
- <xsd:documentation><![CDATA[
+ <xsd:documentation>
The metadata-complete attribute defines whether this
JavaServer Faces application is complete, or whether
@@ -249,7 +250,7 @@
runtime annotations such as @ResourceDependency or
@ListenerFor.
- ]]></xsd:documentation>
+ </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="id"
@@ -264,12 +265,13 @@
<xsd:complexType name="faces-config-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for faces-config. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for faces-config. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -286,21 +288,20 @@
<xsd:complexType name="faces-config-orderingType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Please see section JSF.11.4.6 for the specification of this element.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p> Please see section JSF.11.4.6 for the specification of this element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="after"
type="jakartaee:faces-config-ordering-orderingType"
- minOccurs="0"
- />
+ minOccurs="0"/>
<xsd:element name="before"
type="jakartaee:faces-config-ordering-orderingType"
- minOccurs="0"
- />
+ minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
@@ -311,15 +312,16 @@
<xsd:complexType name="faces-config-ordering-orderingType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> This element contains a sequence of "id" elements, each of which
+ <xsd:documentation>
+ <![CDATA[
+ <p> This element contains a sequence of "id" elements, each of which
refers to an application configuration resource by the "id"
declared on its faces-config element. This element can also contain
a single "others" element which specifies that this document comes
before or after other documents within the application.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
@@ -328,8 +330,7 @@
maxOccurs="unbounded"/>
<xsd:element name="others"
type="jakartaee:faces-config-ordering-othersType"
- minOccurs="0"
- />
+ minOccurs="0"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
@@ -340,15 +341,16 @@
<xsd:complexType name="faces-config-ordering-othersType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> This element indicates that the ordering sub-element in which
+ <xsd:documentation>
+ <![CDATA[
+ <p> This element indicates that the ordering sub-element in which
it was placed should take special action regarding the ordering
of this application resource relative to other
application configuration resources. See section JSF.11.4.6
for the complete specification.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:attribute name="id"
type="xsd:ID"/>
@@ -359,12 +361,13 @@
<xsd:complexType name="faces-config-absoluteOrderingType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Only relevant if this is placed within the /WEB-INF/faces-config.xml.
+ <xsd:documentation>
+ <![CDATA[
+ <p> Only relevant if this is placed within the /WEB-INF/faces-config.xml.
Please see section JSF.11.4.6 for the specification for details.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
@@ -374,8 +377,7 @@
maxOccurs="unbounded"/>
<xsd:element name="others"
type="jakartaee:faces-config-ordering-othersType"
- minOccurs="0"
- />
+ minOccurs="0"/>
</xsd:choice>
<xsd:attribute name="id"
type="xsd:ID"/>
@@ -386,65 +388,69 @@
<xsd:complexType name="faces-config-applicationType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "application" element provides a mechanism to define the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "application" element provides a mechanism to define the
various per-application-singleton implementation artifacts for
a particular web application that is utilizing
JavaServer Faces. For nested elements that are not specified,
the Jakarta Server Faces implementation must provide a suitable
default.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
<xsd:element name="action-listener"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "action-listener" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "action-listener" element contains the fully
qualified class name of the concrete
ActionListener implementation class that will be
called during the Invoke Application phase of the
request processing lifecycle.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-render-kit-id"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "default-render-kit-id" element allows the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "default-render-kit-id" element allows the
application to define a renderkit to be used other
than the standard one.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="message-bundle"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The base name of a resource bundle representing
+ <xsd:documentation>
+ <![CDATA[
+ <p> The base name of a resource bundle representing
the message resources for this application. See
the JavaDocs for the "java.util.ResourceBundle"
class for more information on the syntax of
resource bundle names.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="navigation-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "navigation-handler" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "navigation-handler" element contains the
fully qualified class name of the concrete
NavigationHandler implementation class that will
be called during the Invoke Application phase
@@ -452,15 +458,16 @@
default ActionListener (provided by the Jakarta Server
Faces implementation) is used.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="view-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "view-handler" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "view-handler" element contains the fully
qualified class name of the concrete ViewHandler
implementation class that will be called during
the Restore View and Render Response phases of the
@@ -468,15 +475,16 @@
implementation must provide a default
implementation of this class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="state-manager"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "state-manager" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "state-manager" element contains the fully
qualified class name of the concrete StateManager
implementation class that will be called during
the Restore View and Render Response phases of the
@@ -484,57 +492,61 @@
implementation must provide a default
implementation of this class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="el-resolver"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "el-resolver" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "el-resolver" element contains the fully
qualified class name of the concrete
jakarta.el.ELResolver implementation class
that will be used during the processing of
EL expressions.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property-resolver"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "property-resolver" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "property-resolver" element contains the fully
qualified class name of the concrete
PropertyResolver implementation class that will
be used during the processing of value binding
expressions.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="variable-resolver"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "variable-resolver" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "variable-resolver" element contains the fully
qualified class name of the concrete
VariableResolver implementation class that will
be used during the processing of value binding
expressions.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "resource-handler" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "resource-handler" element contains the
fully qualified class name of the concrete
ResourceHandler implementation class that
will be used during rendering and decoding
@@ -543,49 +555,53 @@
other application singletons will be
honored.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="resource-library-contracts"
type="jakartaee:faces-config-application-resource-library-contractsType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">The "resource-library-contracts" element
- specifies the mappings between views in the application and resource
- library contracts that, if present in the application, must be made
- available for use as templates of the specified views.
- </p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The "resource-library-contracts" element
+ specifies the mappings between views in the application and resource
+ library contracts that, if present in the application, must be made
+ available for use as templates of the specified views.
+ </p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="search-expression-handler"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_3">The "search-expression-handler"
- element contains the fully qualified class name of the
- concrete jakarta.faces.component.search.SearchExpressionHandler
- implementation class that will be used for processing of a
- search expression.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_3">The "search-expression-handler"
+ element contains the fully qualified class name of the
+ concrete jakarta.faces.component.search.SearchExpressionHandler
+ implementation class that will be used for processing of a
+ search expression.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="search-keyword-resolver"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_3"> The "search-keyword-resolver"
- element contains the fully qualified class name of the
- concrete jakarta.faces.component.search.SearchKeywordResolver
- implementation class that will be used during the processing
- of a search expression keyword.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_3"> The "search-keyword-resolver"
+ element contains the fully qualified class name of the
+ concrete jakarta.faces.component.search.SearchKeywordResolver
+ implementation class that will be used during the processing
+ of a search expression keyword.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="system-event-listener"
@@ -612,9 +628,9 @@
<xsd:complexType name="faces-config-application-resource-bundleType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The resource-bundle element inside the application element
+ <xsd:documentation>
+ <![CDATA[
+ <p> The resource-bundle element inside the application element
references a java.util.ResourceBundle instance by name
using the var element. ResourceBundles referenced in this
manner may be returned by a call to
@@ -622,31 +638,34 @@
FacesContext for this request and the value of the var
element below.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="base-name"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The fully qualified class name of the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The fully qualified class name of the
java.util.ResourceBundle instance.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="var"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The name by which this ResourceBundle instance
+ <xsd:documentation>
+ <![CDATA[
+ <p> The name by which this ResourceBundle instance
is retrieved by a call to
Application.getResourceBundle().</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
@@ -654,32 +673,36 @@
type="xsd:ID"/>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-application-resource-library-contractsType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">The "resource-library-contracts" element
- specifies the mappings between views in the application and resource
- library contracts that, if present in the application, must be made
- available for use as templates of the specified views.
- </p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The "resource-library-contracts" element
+ specifies the mappings between views in the application and resource
+ library contracts that, if present in the application, must be made
+ available for use as templates of the specified views.
+ </p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="contract-mapping"
type="jakartaee:faces-config-application-resource-library-contracts-contract-mappingType"
-
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p classes="changed_added_2_2">Declare a mapping between a collection
- of views in the application and the list of contracts (if present in the application)
- that may be used as a source for templates and resources for those views.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p classes="changed_added_2_2">Declare a mapping between a collection
+ of views in the application and the list of contracts (if present in the application)
+ that may be used as a source for templates and resources for those views.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
@@ -687,17 +710,21 @@
type="xsd:ID"/>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-application-resource-library-contracts-contract-mappingType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">The "contract-mapping" element
- specifies the mappings between a collection of views in the application and resource
- library contracts that, if present in the application, must be made
- available for use as templates of the specified views.
- </p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The "contract-mapping" element
+ specifies the mappings between a collection of views in the application and resource
+ library contracts that, if present in the application, must be made
+ available for use as templates of the specified views.
+ </p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -705,47 +732,50 @@
type="jakartaee:url-patternType"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">The "url-pattern" element
- specifies the collection of views in this application that
- are allowed to use the corresponding contracts.
- </p>
-
- ]]></xsd:documentation>
- </xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The "url-pattern" element
+ specifies the collection of views in this application that
+ are allowed to use the corresponding contracts.
+ </p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
-
<xsd:element name="contracts"
type="jakartaee:string"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">The "contracts" element
- is a comma separated list of resource library contracts that,
- if available to the application, may be used by the views
- matched by the corresponding "url-pattern"
- </p>
-
- ]]></xsd:documentation>
- </xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The "contracts" element
+ is a comma separated list of resource library contracts that,
+ if available to the application, may be used by the views
+ matched by the corresponding "url-pattern"
+ </p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="faces-config-application-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for application. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for application. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -762,230 +792,248 @@
<xsd:complexType name="faces-config-factoryType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "factory" element provides a mechanism to define the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "factory" element provides a mechanism to define the
various Factories that comprise parts of the implementation
of JavaServer Faces. For nested elements that are not
specified, the Jakarta Server Faces implementation must provide a
suitable default.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:choice minOccurs="0"
maxOccurs="unbounded">
<xsd:element name="application-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "application-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "application-factory" element contains the
fully qualified class name of the concrete
ApplicationFactory implementation class that will
be called when
FactoryFinder.getFactory(APPLICATION_FACTORY) is
called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="exception-handler-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "exception-handler-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "exception-handler-factory" element contains the
fully qualified class name of the concrete
ExceptionHandlerFactory implementation class that will
be called when
FactoryFinder.getFactory(EXCEPTION_HANDLER_FACTORY)
is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="external-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "external-context-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "external-context-factory" element contains the
fully qualified class name of the concrete
ExternalContextFactory implementation class that will
be called when
FactoryFinder.getFactory(EXTERNAL_CONTEXT_FACTORY)
is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="faces-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "faces-context-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "faces-context-factory" element contains the
fully qualified class name of the concrete
FacesContextFactory implementation class that will
be called when
FactoryFinder.getFactory(FACES_CONTEXT_FACTORY)
is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facelet-cache-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "facelet-cache-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "facelet-cache-factory" element contains the
fully qualified class name of the concrete
FaceletCacheFactory implementation class that will
be called when
FactoryFinder.getFactory(FACELET_CACHE_FACTORY)
is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="partial-view-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "partial-view-context-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "partial-view-context-factory" element contains the
fully qualified class name of the concrete
PartialViewContextFactory implementation class that will
be called when FactoryFinder.getFactory
(FactoryFinder.PARTIAL_VIEW_CONTEXT_FACTORY) is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="lifecycle-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "lifecycle-factory" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "lifecycle-factory" element contains the fully
qualified class name of the concrete LifecycleFactory
implementation class that will be called when
FactoryFinder.getFactory(LIFECYCLE_FACTORY) is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="view-declaration-language-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "view-declaration-language-factory" element contains
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "view-declaration-language-factory" element contains
the fully qualified class name of the concrete
ViewDeclarationLanguageFactory
implementation class that will be called when
FactoryFinder.getFactory(VIEW_DECLARATION_FACTORY) is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="tag-handler-delegate-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "tag-handler-delegate-factory" element contains
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "tag-handler-delegate-factory" element contains
the fully qualified class name of the concrete
ViewDeclarationLanguageFactory
implementation class that will be called when
FactoryFinder.getFactory(TAG_HANDLER_DELEGATE_FACTORY) is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="render-kit-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "render-kit-factory" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "render-kit-factory" element contains the fully
qualified class name of the concrete RenderKitFactory
implementation class that will be called when
FactoryFinder.getFactory(RENDER_KIT_FACTORY) is
called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="visit-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "visit-context-factory" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "visit-context-factory" element contains the fully
qualified class name of the concrete VisitContextFactory
implementation class that will be called when
FactoryFinder.getFactory(VISIT_CONTEXT_FACTORY) is
called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="flash-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2"> The "flash-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2"> The "flash-factory" element contains the
fully qualified class name of the concrete
FaceletFactory implementation class that will
be called when
FactoryFinder.getFactory(FLASH_FACTORY) is
called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="flow-handler-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "flow-handler-factory" element contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "flow-handler-factory" element contains the
fully qualified class name of the concrete
FlowHandlerFactory implementation class that will
be called when
FactoryFinder.getFactory(FLOW_HANDLER_FACTORY) is
called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="client-window-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
- <p class="changed_added_2_3"> The "client-window-factory" element contains the fully
- qualified class name of the concrete ClientWindowFactory implementation class that
- will be called when FactoryFinder.getFactory(CLIENT_WINDOW_FACTORY) is called.</p>
- ]]></xsd:documentation>
- </xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_3"> The "client-window-factory" element contains the fully
+ qualified class name of the concrete ClientWindowFactory implementation class that
+ will be called when FactoryFinder.getFactory(CLIENT_WINDOW_FACTORY) is called.</p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="search-expression-context-factory"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_3"> The
- "search-expression-context-factory" element contains the
- fully qualified class name of the concrete
- SearchExpressionContextFactory implementation class that will
- be called when
- FactoryFinder.getFactory(SEARCH_EXPRESSION_CONTEXT_FACTORY)
- is called.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_3"> The
+ "search-expression-context-factory" element contains the
+ fully qualified class name of the concrete
+ SearchExpressionContextFactory implementation class that will
+ be called when
+ FactoryFinder.getFactory(SEARCH_EXPRESSION_CONTEXT_FACTORY)
+ is called.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="factory-extension"
@@ -1002,12 +1050,13 @@
<xsd:complexType name="faces-config-factory-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for factory. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for factory. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -1024,41 +1073,44 @@
<xsd:complexType name="faces-config-attributeType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "attribute" element represents a named, typed, value
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "attribute" element represents a named, typed, value
associated with the parent UIComponent via the generic
attributes mechanism.</p>
<p>Attribute names must be unique within the scope of the parent
(or related) component.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="attribute-name"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "attribute-name" element represents the name under
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "attribute-name" element represents the name under
which the corresponding value will be stored, in the
generic attributes of the UIComponent we are related
to.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "attribute-class" element represents the Java type
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "attribute-class" element represents the Java type
of the value associated with this attribute name.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-value"
@@ -1081,12 +1133,13 @@
<xsd:complexType name="faces-config-attribute-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for attribute. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for attribute. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -1103,9 +1156,9 @@
<xsd:complexType name="faces-config-componentType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "component" element represents a concrete UIComponent
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "component" element represents a concrete UIComponent
implementation class that should be registered under the
specified type identifier, along with its associated
properties and attributes. Component types must be unique
@@ -1117,32 +1170,35 @@
the component class that may be exposed for manipulation
via tools.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="component-type"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "component-type" element represents the name under
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "component-type" element represents the name under
which the corresponding UIComponent class should be
registered.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="component-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "component-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "component-class" element represents the fully
qualified class name of a concrete UIComponent
implementation class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facet"
@@ -1171,12 +1227,13 @@
<xsd:complexType name="faces-config-component-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for component. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for component. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -1193,22 +1250,23 @@
<xsd:complexType name="faces-config-default-localeType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "default-locale" element declares the default locale
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "default-locale" element declares the default locale
for this application instance.</p>
-
+
<p class="modified_added_2_3">
- To facilitate BCP 47 this element first needs to be parsed by the
- Locale.forLanguageTag method. If it does not return a Locale with
- a language the old specification below needs to take effect.
+ To facilitate BCP 47 this element first needs to be parsed by the
+ Locale.forLanguageTag method. If it does not return a Locale with
+ a language the old specification below needs to take effect.
</p>
<p>It must be specified as :language:[_:country:[_:variant:]]
without the colons, for example "ja_JP_SJIS". The
separators between the segments may be '-' or '_'.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-localeType">
@@ -1223,15 +1281,16 @@
<xsd:complexType name="faces-config-default-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "default-value" contains the value for the property or
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "default-value" contains the value for the property or
attribute in which this element resides. This value differs
from the "suggested-value" in that the property or attribute
must take the value, whereas in "suggested-value" taking the
value is optional.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
@@ -1243,13 +1302,14 @@
<xsd:simpleType name="faces-config-el-expressionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> EL expressions present within a faces config file
+ <xsd:documentation>
+ <![CDATA[
+ <p> EL expressions present within a faces config file
must start with the character sequence of '#{' and
end with '}'.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="#\{.*\}"/>
@@ -1261,25 +1321,27 @@
<xsd:complexType name="faces-config-facetType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Define the name and other design-time information for a facet
+ <xsd:documentation>
+ <![CDATA[
+ <p> Define the name and other design-time information for a facet
that is associated with a renderer or a component.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="facet-name"
type="jakartaee:java-identifierType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "facet-name" element represents the facet name
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "facet-name" element represents the facet name
under which a UIComponent will be added to its parent.
It must be of type "Identifier".</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facet-extension"
@@ -1296,12 +1358,13 @@
<xsd:complexType name="faces-config-facet-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for facet. It may contain implementation
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for facet. It may contain implementation
specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -1318,14 +1381,14 @@
<xsd:complexType name="faces-config-from-view-idType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p><span class="changed_modified_2_2">The</span>
- value of from-view-id must contain one of the following
+ <xsd:documentation>
+ <![CDATA[
+ <p><span class="changed_modified_2_2">The</span>
+ value of from-view-id must contain one of the following
values:</p>
<ul>
-
+
<li><p>The exact match for a view identifier that is recognized
by the the ViewHandler implementation being used (such as
"/index.jsp" if you are using the default ViewHandler).</p></li>
@@ -1333,19 +1396,20 @@
<li><p class="changed_added_2_2">The exact match of a flow node id
in the current flow, or a flow id of another flow.</p></li>
- <li><p> A proper prefix of a view identifier, plus a trailing
- "*" character. This pattern indicates that all view
- identifiers that match the portion of the pattern up to the
- asterisk will match the surrounding rule. When more than one
- match exists, the match with the longest pattern is selected.
- </p></li>
+ <li><p> A proper prefix of a view identifier, plus a trailing
+ "*" character. This pattern indicates that all view
+ identifiers that match the portion of the pattern up to the
+ asterisk will match the surrounding rule. When more than one
+ match exists, the match with the longest pattern is selected.
+ </p></li>
<li><p>An "*" character, which means that this pattern applies
to all view identifiers. </p></li>
-
- </ul>
- ]]></xsd:documentation>
+ </ul>
+
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string">
@@ -1360,16 +1424,17 @@
<xsd:complexType name="faces-config-from-actionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "from-action" element contains an action reference
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "from-action" element contains an action reference
expression that must have been executed (by the default
ActionListener for handling application level events)
in order to select the navigation rule. If not specified,
this rule will be relevant no matter which action reference
was executed (or if no action reference was executed).</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
@@ -1384,8 +1449,8 @@
<xsd:complexType name="faces-config-ifType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>The "if" element defines a condition that must resolve
to true in order for the navigation case on which it is
defined to be matched, with the existing match criteria
@@ -1397,19 +1462,19 @@
present, the navigation handler will match a null outcome
and use the condition return value to determine if the
case should be considered a match.</p>
-
-<div class="changed_added_2_2">
-
-<p>When used in a <code><switch></code> within a flow, if the
-expresion returns <code>true</code>, the
-<code><from-outcome></code> sibling element's outcome is used as
-the id of the node in the flow graph to which control must be
-passed.</p>
-
-</div>
+ <div class="changed_added_2_2">
- ]]></xsd:documentation>
+ <p>When used in a <code><switch></code> within a flow, if the
+ expresion returns <code>true</code>, the
+ <code><from-outcome></code> sibling element's outcome is used as
+ the id of the node in the flow graph to which control must be
+ passed.</p>
+
+ </div>
+
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
@@ -1419,22 +1484,21 @@
</xsd:simpleContent>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p class="changed_added_2_2"></p>
-
-<div class="changed_added_2_2">
-
-
-
-</div>
+ <div class="changed_added_2_2">
- ]]></xsd:documentation>
+ </div>
+
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
@@ -1449,9 +1513,9 @@
<xsd:complexType name="faces-config-converterType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "converter" element represents a concrete Converter
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "converter" element represents a concrete Converter
implementation class that should be registered under the
specified converter identifier. Converter identifiers must
be unique within the entire web application.</p>
@@ -1466,7 +1530,8 @@
more completely describe their components to tools and users.
These elements have no required runtime semantics.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -1474,38 +1539,41 @@
<xsd:element name="converter-id"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "converter-id" element represents the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "converter-id" element represents the
identifier under which the corresponding
Converter class should be registered.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="converter-for-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "converter-for-class" element represents the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "converter-for-class" element represents the
fully qualified class name for which a Converter
class will be registered.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:choice>
<xsd:element name="converter-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "converter-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "converter-class" element represents the fully
qualified class name of a concrete Converter
implementation class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute"
@@ -1513,16 +1581,17 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Nested "attribute" elements identify generic
+ <xsd:documentation>
+ <![CDATA[
+ <p> Nested "attribute" elements identify generic
attributes that may be configured on the
corresponding UIComponent in order to affect the
operation of the Converter. This attribute is
primarily for design-time tools and is not
specified to have any meaning at runtime.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property"
@@ -1530,16 +1599,17 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Nested "property" elements identify JavaBeans
+ <xsd:documentation>
+ <![CDATA[
+ <p> Nested "property" elements identify JavaBeans
properties of the Converter implementation class
that may be configured to affect the operation of
the Converter. This attribute is primarily for
design-time tools and is not specified to have
any meaning at runtime.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="converter-extension"
@@ -1556,12 +1626,13 @@
<xsd:complexType name="faces-config-converter-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for converter. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for converter. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -1578,13 +1649,14 @@
<xsd:complexType name="faces-config-lifecycleType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "lifecycle" element provides a mechanism to specify
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "lifecycle" element provides a mechanism to specify
modifications to the behaviour of the default Lifecycle
implementation for this web application.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="phase-listener"
@@ -1592,14 +1664,15 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "phase-listener" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "phase-listener" element contains the fully
qualified class name of the concrete PhaseListener
implementation class that will be registered on
the Lifecycle.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="lifecycle-extension"
@@ -1616,12 +1689,13 @@
<xsd:complexType name="faces-config-lifecycle-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for lifecycle. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for lifecycle. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -1635,12 +1709,13 @@
<xsd:simpleType name="faces-config-localeType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The localeType defines valid locale defined by ISO-639-1
+ <xsd:documentation>
+ <![CDATA[
+ <p> The localeType defines valid locale defined by ISO-639-1
and ISO-3166.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:string">
<xsd:pattern value="([a-z]{2})[_|\-]?([\p{L}]{2})?[_|\-]?(\w+)?"/>
@@ -1652,12 +1727,13 @@
<xsd:complexType name="faces-config-locale-configType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "locale-config" element allows the app developer to
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "locale-config" element allows the app developer to
declare the supported locales for this application.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="default-locale"
@@ -1677,14 +1753,15 @@
<xsd:complexType name="faces-config-default-validatorsType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "default-validators" element allows the app developer to
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "default-validators" element allows the app developer to
register a set of validators, referenced by identifier, that
are automatically assigned to any EditableValueHolder component
in the application, unless overridden or disabled locally.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="validator-id"
@@ -1692,12 +1769,13 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "validator-id" element represents the identifier
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "validator-id" element represents the identifier
of a registered validator.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
@@ -1710,9 +1788,9 @@
<xsd:complexType name="faces-config-managed-beanType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "managed-bean" element represents a JavaBean, of a
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "managed-bean" element represents a JavaBean, of a
particular class, that will be dynamically instantiated
at runtime (by the default VariableResolver implementation)
if it is referenced as the first element of a value binding
@@ -1723,29 +1801,31 @@
initialize the contents of settable JavaBeans properties of
the created instance.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="managed-bean-name"
type="jakartaee:java-identifierType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "managed-bean-name" element represents the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "managed-bean-name" element represents the
attribute name under which a managed bean will
be searched for, as well as stored (unless the
"managed-bean-scope" value is "none").</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="managed-bean-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "managed-bean-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "managed-bean-class" element represents the fully
qualified class name of the Java class that will be
used`to instantiate a new instance if creation of the
specified`managed bean is requested.</p>
@@ -1755,20 +1835,22 @@
zero-arguments constructor, and zero or more public
property setters.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="managed-bean-scope"
type="jakartaee:faces-config-managed-bean-scopeOrNoneType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "managed-bean-scope" element represents the scope
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "managed-bean-scope" element represents the scope
into which a newly created instance of the specified
managed bean will be stored (unless the value is
"none").</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
@@ -1790,9 +1872,9 @@
type="xsd:boolean"
use="optional">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> This attribute is only considered when associated with
+ <xsd:documentation>
+ <![CDATA[
+ <p> This attribute is only considered when associated with
an application-scoped managed bean. If the value of the eager
attribute is true the runtime must instantiate this class
and store the instance within the application scope when the
@@ -1802,63 +1884,59 @@
instantiation and scoped storage of the managed bean
will occur.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:attribute>
<xsd:attribute name="id"
type="xsd:ID"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="faces-config-flow-definitionType">
<xsd:annotation>
<xsd:documentation>
-<![CDATA[
-
+ <![CDATA[
<p class="changed_added_2_2">Top level element for a flow
definition.</p>
-
-<div class="changed_added_2_2">
-
-<p>If there is no <code><start-node></code> element declared, it
-is assumed to be <code><flowName>.xhtml</code>.</p>
-
-</div>
-
-]]>
-</xsd:documentation>
+
+ <div class="changed_added_2_2">
+
+ <p>If there is no <code><start-node></code> element declared, it
+ is assumed to be <code><flowName>.xhtml</code>.</p>
+
+ </div>
+
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="start-node"
type="jakartaee:java-identifierType"
- minOccurs="0"
- >
+ minOccurs="0">
<xsd:annotation>
<xsd:documentation>
-
- <![CDATA[
-
-<p class="changed_added_2_2">Declare the id of the starting node in the
-flow graph. The start node may be any of the node types mentioned in
-the class javadocs for <code><a target="_"
-href="javax/faces/flow/FlowHandler.html">FlowHandler</a></code>.</p>
-
-]]>
-
-
+ <![CDATA[
+ <p class="changed_added_2_2">Declare the id of the starting node in the
+ flow graph. The start node may be any of the node types mentioned in
+ the class javadocs for <code><a target="_"
+ href="jakarta/faces/flow/FlowHandler.html">FlowHandler</a></code>.</p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="view"
type="jakartaee:faces-config-flow-definition-viewType"
minOccurs="0"
- maxOccurs="unbounded" />
+ maxOccurs="unbounded"/>
<xsd:element name="switch"
type="jakartaee:faces-config-flow-definition-switchType"
minOccurs="0"
- maxOccurs="unbounded" />
+ maxOccurs="unbounded"/>
<xsd:element name="flow-return"
type="jakartaee:faces-config-flow-definition-flow-returnType"
minOccurs="0"
@@ -1877,79 +1955,72 @@
maxOccurs="unbounded"/>
<xsd:element name="initializer"
type="jakartaee:faces-config-flow-definition-initializerType"
- minOccurs="0"
- />
+ minOccurs="0"/>
<xsd:element name="finalizer"
type="jakartaee:faces-config-flow-definition-finalizerType"
- minOccurs="0"
- />
+ minOccurs="0"/>
<xsd:element name="inbound-parameter"
type="jakartaee:faces-config-flow-definition-inbound-parameterType"
minOccurs="0"
maxOccurs="unbounded"/>
-
</xsd:sequence>
<xsd:attribute name="id"
- type="xsd:ID" use="required">
- <xsd:annotation>
- <xsd:documentation>
-
- <![CDATA[
-
- <p class="changed_added_2_2">The id of this flow. The id
- must be unique within the Application configuration Resource
- file in which this flow is defined. The value of this attribute,
- combined with the value of the <faces-config><name> element
- must globally identify the flow within the application.<p> ]]>
-
-
- </xsd:documentation>
- </xsd:annotation>
-
- </xsd:attribute>
- </xsd:complexType>
-
- <xsd:complexType name="faces-config-flow-definition-faces-method-callType">
+ type="xsd:ID"
+ use="required">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
-
- <p class="changed_added_2_2">Invoke a method, passing parameters if necessary.
- The return from the method is used as the outcome for where to go next in the
- flow. If the method is a void method, the default outcome is used.<p> ]]>
-
-
+ <![CDATA[
+ <p class="changed_added_2_2">The id of this flow. The id
+ must be unique within the Application configuration Resource
+ file in which this flow is defined. The value of this attribute,
+ combined with the value of the <faces-config><name> element
+ must globally identify the flow within the application.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
- <xsd:sequence>
- <xsd:element name="method"
- type="jakartaee:faces-config-flow-definition-faces-method-call-methodType"
-
- />
- <xsd:element name="default-outcome"
- type="jakartaee:string"
-
- />
- <xsd:element name="parameter"
- type="jakartaee:faces-config-flow-definition-flow-call-parameterType"
- minOccurs="0" maxOccurs="unbounded">
- <xsd:annotation>
- <xsd:documentation>
-
- <![CDATA[
-
- <p class="changed_added_2_2">A parameter to pass when calling the method
- identified in the "method" element that is a sibling of this element.<p>
-
- ]]>
-
- </xsd:documentation>
- </xsd:annotation>
- </xsd:element>
- </xsd:sequence>
+ </xsd:attribute>
</xsd:complexType>
-
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="faces-config-flow-definition-faces-method-callType">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">Invoke a method, passing parameters if necessary.
+ The return from the method is used as the outcome for where to go next in the
+ flow. If the method is a void method, the default outcome is used.<p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="method"
+ type="jakartaee:faces-config-flow-definition-faces-method-call-methodType"/>
+ <xsd:element name="default-outcome"
+ type="jakartaee:string"/>
+ <xsd:element name="parameter"
+ type="jakartaee:faces-config-flow-definition-flow-call-parameterType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">A parameter to pass when calling the method
+ identified in the "method" element that is a sibling of this element.<p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-faces-method-call-methodType">
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-el-expressionType">
@@ -1957,69 +2028,65 @@
type="xsd:ID"/>
</xsd:extension>
</xsd:simpleContent>
-
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-flow-call-parameterType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
- <p class="changed_added_2_2">A parameter to pass when calling the method
- identified in the "method" element that is a sibling of this element.<p>
-
-]]>
-
+ <p class="changed_added_2_2">A parameter to pass when calling the method
+ identified in the "method" element that is a sibling of this element.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="class"
type="jakartaee:string"
- minOccurs="0"
- >
+ minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2"> The optional "class" element within a "parameter" element
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2"> The optional "class" element within a "parameter" element
will be interpreted as the fully qualified class name for the type
of the "value" element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value"
- type="jakartaee:faces-config-flow-definition-parameter-valueType"
-
- >
+ type="jakartaee:faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2"> The "value" element within an "parameter"
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2"> The "value" element within an "parameter"
must be a literal string or an EL Expression whose "get" will be called when the "method"
associated with this element is invoked.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
-
</xsd:element>
</xsd:sequence>
</xsd:complexType>
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-viewType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
-<p class="changed_added_2_2">Define a view node in a flow graph.</p>
-
-<p>This element must contain exactly one
-<code><vdl-document></code> element.</p>
-
-]]>
-
+ <p class="changed_added_2_2">Define a view node in a flow graph.</p>
+
+ <p>This element must contain exactly one
+ <code><vdl-document></code> element.</p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -2027,11 +2094,12 @@
type="jakartaee:pathType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[
- <p class="changed_added_2_2 changed_modified_2_3">
- Define the path to the vdl-document for the enclosing view.
- <p>
-]]>
+ <![CDATA[
+ <p class="changed_added_2_2 changed_modified_2_3">
+ Define the path to the vdl-document for the enclosing view.
+ <p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -2039,40 +2107,39 @@
<xsd:attribute name="id"
type="xsd:ID"
use="required">
- <xsd:annotation>
- <xsd:documentation>
-<![CDATA[
-
- <p class="changed_added_2_2">The id of this view. It must be
- unique within the flow.</p>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The id of this view. It must be
+ unique within the flow.</p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:attribute>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-switchType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
-<p class="changed_added_2_2">Define a switch node in a flow graph.</p>
-
-<div class="changed_added_2_2">
-
-<p>This element must contain one or more
-<code><case></code> elements. When control passes to the
-<code><switch></code> node, each of the cases must be considered
-in order and control must past to the <code><from-outcome></code>
-of the first one whose <code><if></code> expression evaluates to
-<code>true</code>.</p>
-
-</div>
-
-]]>
-
+ <p class="changed_added_2_2">Define a switch node in a flow graph.</p>
+
+ <div class="changed_added_2_2">
+
+ <p>This element must contain one or more
+ <code><case></code> elements. When control passes to the
+ <code><switch></code> node, each of the cases must be considered
+ in order and control must past to the <code><from-outcome></code>
+ of the first one whose <code><if></code> expression evaluates to
+ <code>true</code>.</p>
+
+ </div>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -2082,33 +2149,26 @@
maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
-
- <![CDATA[
-
- <p class="changed_added_2_2">Defines a case that must be
- considered in the list of cases in the
- <code><switch></code>.</p>
-
-]]>
-
+ <![CDATA[
+ <p class="changed_added_2_2">Defines a case that must be
+ considered in the list of cases in the
+ <code><switch></code>.</p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-outcome"
type="jakartaee:string"
- minOccurs="0"
- >
+ minOccurs="0">
<xsd:annotation>
<xsd:documentation>
-
- <![CDATA[
-
- <p class="changed_added_2_2">Defines the default case that will
- be taken if none of the other cases in the
- <code><switch></code> are taken.</p>
-
-]]>
-
+ <![CDATA[
+ <p class="changed_added_2_2">Defines the default case that will
+ be taken if none of the other cases in the
+ <code><switch></code> are taken.</p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -2116,28 +2176,30 @@
<xsd:attribute name="id"
type="xsd:ID"
use="required">
- <xsd:annotation>
- <xsd:documentation>
-<![CDATA[
-
- <p class="changed_added_2_2">The id of this switch. It must be
- unique within the flow.</p>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The id of this switch. It must be
+ unique within the flow.</p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:attribute>
</xsd:complexType>
-
+
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-switch-caseType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">Defines a case that will
- be considered in the <code><switch></code>.</p>
-
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">Defines a case that will
+ be considered in the <code><switch></code>.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -2145,21 +2207,22 @@
type="jakartaee:faces-config-ifType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">If this EL expression evaluates to
- <code>true</code>, the corresponding <code>from-outcome</code> will
- be the outcome taken by the enclosing <code><switch></code></p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">If this EL expression evaluates to
+ <code>true</code>, the corresponding <code>from-outcome</code> will
+ be the outcome taken by the enclosing <code><switch></code></p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="from-outcome"
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>The "from-outcome" element contains a logical outcome
string returned by the execution of an application
action method selected via an "actionRef" property
@@ -2172,13 +2235,11 @@
for any outcome value, with the assumption that the
condition specified in the "if" element ultimately
determines if this rule is a match.</p>
-
-<p class="changed_added_2_2">If used in a faces flow, this element
-represents the node id to which control will be passed.</p>
-
-
-]]>
+ <p class="changed_added_2_2">If used in a faces flow, this element
+ represents the node id to which control will be passed.</p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -2187,182 +2248,164 @@
type="xsd:ID">
</xsd:attribute>
</xsd:complexType>
-
+
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-flow-returnType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
-<p class="changed_added_2_2">Define a return node in a flow graph.</p>
-
-<div class="changed_added_2_2">
-
-<p>This element must contain exactly one <code><from-outcome></code> element.</p>
-</div>
-
-]]>
-
+ <p class="changed_added_2_2">Define a return node in a flow graph.</p>
+
+ <div class="changed_added_2_2">
+
+ <p>This element must contain exactly one <code><from-outcome></code> element.</p>
+ </div>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="from-outcome"
- type="jakartaee:string"
- >
+ type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
-<p class="changed_added_2_2">This element
-represents the node id to which control will be passed.</p>
-
-
-]]>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">This element
+ represents the node id to which control will be passed.</p>
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
-
<xsd:attribute name="id"
type="xsd:ID"
use="required">
- <xsd:annotation>
- <xsd:documentation>
-<![CDATA[
-
- <p class="changed_added_2_2">The id of this flow-return.</p>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The id of this flow-return.</p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:attribute>
-
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-flow-callType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
-<p class="changed_added_2_2">Define a call node in a flow graph.</p>
-
-<div class="changed_added_2_2">
-
-<p>This element must contain exactly one <code><flow-reference></code> element,
-which must contain exactly one <code><flow-id></code> element.</p>
-</div>
-
-]]>
-
+ <p class="changed_added_2_2">Define a call node in a flow graph.</p>
+
+ <div class="changed_added_2_2">
+
+ <p>This element must contain exactly one <code><flow-reference></code> element,
+ which must contain exactly one <code><flow-id></code> element.</p>
+ </div>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
-
<xsd:sequence>
<xsd:element name="flow-reference"
- type="jakartaee:faces-config-flow-definition-flow-call-flow-referenceType"
- >
+ type="jakartaee:faces-config-flow-definition-flow-call-flow-referenceType">
<xsd:annotation>
<xsd:documentation>
-
- <![CDATA[
-
- <p class="changed_added_2_2">The flow id of the called flow.<p>
-
-]]>
-
+ <![CDATA[
+ <p class="changed_added_2_2">The flow id of the called flow.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="outbound-parameter"
type="jakartaee:faces-config-flow-definition-flow-call-outbound-parameterType"
- minOccurs="0" maxOccurs="unbounded">
+ minOccurs="0"
+ maxOccurs="unbounded">
<xsd:annotation>
<xsd:documentation>
-
- <![CDATA[
-
- <p class="changed_added_2_2">A parameter to pass when calling the flow
- identified in the "flow-reference" element that is a sibling of this element.<p>
-
-]]>
-
+ <![CDATA[
+ <p class="changed_added_2_2">A parameter to pass when calling the flow
+ identified in the "flow-reference" element that is a sibling of this element.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
-
<xsd:attribute name="id"
type="xsd:ID"
use="required">
- <xsd:annotation>
- <xsd:documentation>
-<![CDATA[
-
- <p class="changed_added_2_2">The id of this flow-return.</p>
-
- ]]>
- </xsd:documentation>
- </xsd:annotation>
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The id of this flow-return.</p>
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:attribute>
-
</xsd:complexType>
-
+
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-flow-call-flow-referenceType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
-<p class="changed_added_2_2">Identifiy the called flow.</p>
-
-<div class="changed_added_2_2">
-
-</div>
-]]>
-
+ <p class="changed_added_2_2">Identifiy the called flow.</p>
+
+ <div class="changed_added_2_2">
+
+ </div>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="flow-document-id"
type="jakartaee:java-identifierType"
- minOccurs="0"
- >
+ minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p>The document id of the called flow.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p>The document id of the called flow.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
-
<xsd:element name="flow-id"
- type="jakartaee:java-identifierType"
- >
+ type="jakartaee:java-identifierType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p>The id of the called flow.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p>The id of the called flow.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
-
</xsd:sequence>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-initializerType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
- <p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is entered.<p>
-
-]]>
-
+ <p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is entered.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2373,16 +2416,16 @@
</xsd:simpleContent>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-finalizerType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
- <p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is exited.<p>
-
-]]>
-
+ <p class="changed_added_2_2">A <code>MethodExpression</code> that will be invoked when the flow is exited.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
@@ -2393,111 +2436,107 @@
</xsd:simpleContent>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-inbound-parameterType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
- <p class="changed_added_2_2">A named parameter whose value will be populated
- with a correspondingly named parameter within an "outbound-parameter" element.<p>
-
-]]>
-
+ <p class="changed_added_2_2">A named parameter whose value will be populated
+ with a correspondingly named parameter within an "outbound-parameter" element.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
- type="jakartaee:java-identifierType"
-
- >
+ type="jakartaee:java-identifierType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2"> The "name" element within an "inbound-parameter"
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2"> The "name" element within an "inbound-parameter"
element declares the name of this parameter
to be passed into a flow. There must be
a sibling "value" element in the same parent as this element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value"
- type="jakartaee:faces-config-flow-definition-parameter-valueType"
-
- >
+ type="jakartaee:faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2"> The "value" element within an "inbound-parameter"
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2"> The "value" element within an "inbound-parameter"
must be an EL Expression whose value will be set with the correspondingly
named "outbound-parameter" when this flow is entered, if such a
parameter exists.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
-
</xsd:element>
</xsd:sequence>
</xsd:complexType>
+
+<!-- **************************************************** -->
+
<xsd:complexType name="faces-config-flow-definition-flow-call-outbound-parameterType">
<xsd:annotation>
<xsd:documentation>
-
<![CDATA[
-
- <p class="changed_added_2_2">A named parameter whose value will be
- passed to a correspondingly named parameter within an "inbound-parameter" element
- on the target flow.<p>
-
-]]>
-
+ <p class="changed_added_2_2">A named parameter whose value will be
+ passed to a correspondingly named parameter within an "inbound-parameter" element
+ on the target flow.<p>
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
- type="jakartaee:java-identifierType"
-
- >
+ type="jakartaee:java-identifierType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2"> The "name" element within an "outbound-parameter" element
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2"> The "name" element within an "outbound-parameter" element
declares the name of this parameter to be passed out of a flow. There must be
a sibling "value" element in the same parent as this element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value"
- type="jakartaee:faces-config-flow-definition-parameter-valueType"
-
- >
+ type="jakartaee:faces-config-flow-definition-parameter-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2"> The "value" element within an "outbound-parameter"
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2"> The "value" element within an "outbound-parameter"
must be a literal string or an EL Expression whose "get" will be called when the "flow-call"
containing this element is traversed to go to a new flow.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
-
</xsd:element>
</xsd:sequence>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="faces-config-managed-bean-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for managed-bean. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for managed-bean. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -2515,9 +2554,10 @@
<xsd:complexType name="faces-config-managed-bean-scopeOrNoneType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
-
- <p> Defines the legal values for the <managed-bean-scope>
+ <![CDATA[
+ [
+
+ <p> Defines the legal values for the <managed-bean-scope>
element's body content, which includes all of the scopes
normally used in a web application, plus the "none" value
indicating that a created bean should not be stored into
@@ -2540,43 +2580,46 @@
<xsd:complexType name="faces-config-managed-propertyType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "managed-property" element represents an individual
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "managed-property" element represents an individual
property of a managed bean that will be configured to the
specified value (or value set) if the corresponding
managed bean is automatically created.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="property-name"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "property-name" element represents the JavaBeans
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "property-name" element represents the JavaBeans
property name under which the corresponding value may
be stored.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property-class"
type="jakartaee:java-typeType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "property-class" element represents the Java type
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "property-class" element represents the Java type
of the value associated with this property name.
If not specified, it can be inferred from existing
classes; however, this element should be specified
if the configuration file is going to be the source
for generating the corresponding classes.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
@@ -2599,25 +2642,27 @@
<xsd:complexType name="faces-config-map-entryType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "map-entry" element reprsents a single key-entry pair
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "map-entry" element reprsents a single key-entry pair
that will be added to the computed value of a managed
property of type java.util.Map.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="key"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "key" element is the String representation of a
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "key" element is the String representation of a
map key that will be stored in a managed property of
type java.util.Map.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:choice>
@@ -2636,28 +2681,30 @@
<xsd:complexType name="faces-config-map-entriesType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "map-entries' element represents a set of key-entry pairs
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "map-entries' element represents a set of key-entry pairs
that will be added to the computed value of a managed property
of type java.util.Map. In addition, the Java class types
of the key and entry values may be optionally declared.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="key-class"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "key-class" element defines the Java type to which
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "key-class" element defines the Java type to which
each "key" element in a set of "map-entry" elements
will be converted to. If omitted, "java.lang.String"
is assumed.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="value-class"
@@ -2677,15 +2724,16 @@
<xsd:complexType name="faces-config-navigation-caseType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> <span class="changed_modified_2_2">The</span>
- "navigation-case" element describes a particular
+ <xsd:documentation>
+ <![CDATA[
+ <p> <span class="changed_modified_2_2">The</span>
+ "navigation-case" element describes a particular
combination of conditions that must match for this case to
be executed, and the view id of the component tree that
should be selected next.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -2696,8 +2744,8 @@
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
+ <xsd:documentation>
+ <![CDATA[
<p>The "from-outcome" element contains a logical outcome
string returned by the execution of an application
action method selected via an "actionRef" property
@@ -2710,9 +2758,8 @@
for any outcome value, with the assumption that the
condition specified in the "if" element ultimately
determines if this rule is a match.</p>
-
-]]>
+ ]]>
</xsd:documentation>
</xsd:annotation>
</xsd:element>
@@ -2720,19 +2767,20 @@
type="jakartaee:faces-config-ifType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Please see section JSF.7.4.2 for the specification of this element.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p> Please see section JSF.7.4.2 for the specification of this element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="to-view-id"
type="jakartaee:faces-config-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p><span class="changed_modified_2_2">The "to-view-id" element
+ <xsd:documentation>
+ <![CDATA[
+ <p><span class="changed_modified_2_2">The "to-view-id" element
contains the view identifier (<span class="changed_added_2_2">or
flow node id, or flow id</span>)
of the next view (<span class="changed_added_2_2">or flow node or
@@ -2743,24 +2791,25 @@
<span class="changed_added_2_2">or flow node or flow</span>)
identifier.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="to-flow-document-id"
- type="jakartaee:java-identifierType"
- minOccurs="0"
- >
- <xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">The document id of the called flow.
- If this element appears in a <navigation-case> nested within
- a <flow-definition>, it must be ignored because navigation
- cases within flows may only navigate among the view nodes of that
- flow.</p>
+ type="jakartaee:java-identifierType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">The document id of the called flow.
+ If this element appears in a <navigation-case> nested within
+ a <flow-definition>, it must be ignored because navigation
+ cases within flows may only navigate among the view nodes of that
+ flow.</p>
- ]]></xsd:documentation>
- </xsd:annotation>
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
</xsd:element>
<xsd:element name="redirect"
type="jakartaee:faces-config-redirectType"
@@ -2775,21 +2824,21 @@
<xsd:complexType name="faces-config-navigation-ruleType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "navigation-rule" element represents an individual
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "navigation-rule" element represents an individual
decision rule that will be utilized by the default
NavigationHandler implementation to make decisions on
what view should be displayed next, based on the
view id being processed.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="from-view-id"
- type="jakartaee:faces-config-from-view-idType"
- />
+ type="jakartaee:faces-config-from-view-idType"/>
<xsd:element name="navigation-case"
type="jakartaee:faces-config-navigation-caseType"
minOccurs="0"
@@ -2808,12 +2857,13 @@
<xsd:complexType name="faces-config-navigation-rule-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for navigation-rule. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for navigation-rule. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -2830,9 +2880,9 @@
<xsd:complexType name="faces-config-null-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "null-value" element indicates that the managed
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "null-value" element indicates that the managed
property in which we are nested will be explicitly
set to null if our managed bean is automatically
created. This is different from omitting the managed
@@ -2843,7 +2893,8 @@
associated "property-class" identifies a Java class,
not a Java primitive.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:attribute name="id"
type="xsd:ID"/>
@@ -2854,9 +2905,9 @@
<xsd:complexType name="faces-config-propertyType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "property" element represents a JavaBean property of the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "property" element represents a JavaBean property of the
Java class represented by our parent element.</p>
<p>Property names must be unique within the scope of the Java
@@ -2865,35 +2916,38 @@
performing introspection against that class via
java.beans.Introspector.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="property-name"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "property-name" element represents the JavaBeans
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "property-name" element represents the JavaBeans
property name under which the corresponding value
may be stored.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property-class"
type="jakartaee:java-typeType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "property-class" element represents the Java type
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "property-class" element represents the Java type
of the value associated with this property name.
If not specified, it can be inferred from existing
classes; however, this element should be specified if
the configuration file is going to be the source for
generating the corresponding classes.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="default-value"
@@ -2916,16 +2970,17 @@
<xsd:complexType name="faces-config-protected-viewsType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p class="changed_added_2_2">Any view that matches any of the
- url-patterns in this element may only be reached from another Jakarta Server
- Faces view in the same web application. Because the runtime is aware of
- which views are protected, any navigation from an unprotected
- view to a protected view is automatically subject to
- protection.</p>
+ <xsd:documentation>
+ <![CDATA[
+ <p class="changed_added_2_2">Any view that matches any of the
+ url-patterns in this element may only be reached from another Jakarta Server
+ Faces view in the same web application. Because the runtime is aware of
+ which views are protected, any navigation from an unprotected
+ view to a protected view is automatically subject to
+ protection.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="url-pattern"
@@ -2939,12 +2994,13 @@
<xsd:complexType name="faces-config-property-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for property. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for property. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -2961,14 +3017,15 @@
<xsd:complexType name="faces-config-redirectType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "redirect" element indicates that navigation to the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "redirect" element indicates that navigation to the
specified "to-view-id" should be accomplished by
performing an HTTP redirect rather than the usual
ViewHandler mechanisms.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="redirect-param"
@@ -2988,9 +3045,9 @@
<xsd:complexType name="faces-config-redirect-viewParamType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> This element was introduced due to a specification
+ <xsd:documentation>
+ <![CDATA[
+ <p> This element was introduced due to a specification
error, and is now deprecated. The correct name for
this element is "redirect-param" and its meaning is
documented therein. The "view-param" element is
@@ -2998,17 +3055,14 @@
Implementations must treat this element the same as
"redirect-param".</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
- type="jakartaee:string"
-
- />
+ type="jakartaee:string"/>
<xsd:element name="value"
- type="jakartaee:string"
-
- />
+ type="jakartaee:string"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
@@ -3019,24 +3073,21 @@
<xsd:complexType name="faces-config-redirect-redirectParamType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "redirect-param" element, only valid within
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "redirect-param" element, only valid within
a "redirect" element, contains child "name"
and "value" elements that must be included in the
redirect url when the redirect is performed.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="name"
- type="jakartaee:string"
-
- />
+ type="jakartaee:string"/>
<xsd:element name="value"
- type="jakartaee:string"
-
- />
+ type="jakartaee:string"/>
</xsd:sequence>
<xsd:attribute name="id"
type="xsd:ID"/>
@@ -3047,9 +3098,9 @@
<xsd:complexType name="faces-config-referenced-beanType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "referenced-bean" element represents at design time the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "referenced-bean" element represents at design time the
promise that a Java object of the specified type will exist at
runtime in some scope, under the specified key. This can be
used by design time tools to construct user interface dialogs
@@ -3057,35 +3108,38 @@
or absence of a referenced bean element has no impact on the
JavaServer Faces runtime environment inside a web application.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="referenced-bean-name"
type="jakartaee:java-identifierType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "referenced-bean-name" element represents the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "referenced-bean-name" element represents the
attribute name under which the corresponding
referenced bean may be assumed to be stored, in one
of 'request', 'session', 'view', 'application'
or a custom scope.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="referenced-bean-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "referenced-bean-class" element represents the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "referenced-bean-class" element represents the
fully qualified class name of the Java class
(either abstract or concrete) or Java interface
implemented by the corresponding referenced bean.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
@@ -3098,15 +3152,16 @@
<xsd:complexType name="faces-config-render-kitType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "render-kit" element represents a concrete RenderKit
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "render-kit" element represents a concrete RenderKit
implementation that should be registered under the specified
render-kit-id. If no render-kit-id is specified, the
identifier of the default RenderKit
(RenderKitFactory.DEFAULT_RENDER_KIT) is assumed.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
@@ -3114,26 +3169,28 @@
type="jakartaee:string"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "render-kit-id" element represents an identifier
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "render-kit-id" element represents an identifier
for the RenderKit represented by the parent
"render-kit" element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="render-kit-class"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "render-kit-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "render-kit-class" element represents the fully
qualified class name of a concrete RenderKit
implementation class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="renderer"
@@ -3158,9 +3215,9 @@
<xsd:complexType name="faces-config-client-behavior-rendererType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "client-behavior-renderer" element represents a concrete
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "client-behavior-renderer" element represents a concrete
ClientBehaviorRenderer implementation class that should be
registered under the specified behavior renderer type identifier,
in the RenderKit associated with the parent "render-kit"
@@ -3170,31 +3227,34 @@
<p>Nested "attribute" elements identify generic component
attributes that are recognized by this renderer.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="client-behavior-renderer-type"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "client-behavior-renderer-type" element represents a renderer type
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "client-behavior-renderer-type" element represents a renderer type
identifier for the Client Behavior Renderer represented by the parent
"client-behavior-renderer" element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="client-behavior-renderer-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "client-behavior-renderer-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "client-behavior-renderer-class" element represents the fully
qualified class name of a concrete Client Behavior Renderer
implementation class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
@@ -3207,9 +3267,9 @@
<xsd:complexType name="faces-config-rendererType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "renderer" element represents a concrete Renderer
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "renderer" element represents a concrete Renderer
implementation class that should be registered under the
specified component family and renderer type identifiers,
in the RenderKit associated with the parent "render-kit"
@@ -3220,44 +3280,48 @@
<p>Nested "attribute" elements identify generic component
attributes that are recognized by this renderer.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="component-family"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "component-family" element represents the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "component-family" element represents the
component family for which the Renderer represented
by the parent "renderer" element will be used.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="renderer-type"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "renderer-type" element represents a renderer type
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "renderer-type" element represents a renderer type
identifier for the Renderer represented by the parent
"renderer" element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="renderer-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "renderer-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "renderer-class" element represents the fully
qualified class name of a concrete Renderer
implementation class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="facet"
@@ -3282,12 +3346,13 @@
<xsd:complexType name="faces-config-renderer-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for renderer. It may contain implementation
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for renderer. It may contain implementation
specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -3304,12 +3369,13 @@
<xsd:complexType name="faces-config-render-kit-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for render-kit. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for render-kit. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -3326,14 +3392,15 @@
<xsd:complexType name="faces-config-suggested-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "suggested-value" contains the value for the property or
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "suggested-value" contains the value for the property or
attribute in which this element resides. This value is
advisory only and is intended for tools to use when
populating pallettes.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:string"/>
@@ -3345,22 +3412,23 @@
<xsd:complexType name="faces-config-supported-localeType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "supported-locale" element allows authors to declare
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "supported-locale" element allows authors to declare
which locales are supported in this application instance.</p>
-
+
<p class="modified_added_2_3">
- To facilitate BCP 47 this element first needs to be parsed by the
- Locale.forLanguageTag method. If it does not return a Locale with
- a language the old specification below needs to take effect.
+ To facilitate BCP 47 this element first needs to be parsed by the
+ Locale.forLanguageTag method. If it does not return a Locale with
+ a language the old specification below needs to take effect.
</p>
<p>It must be specified as :language:[_:country:[_:variant:]]
without the colons, for example "ja_JP_SJIS". The
separators between the segments may be '-' or '_'.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:extension base="jakartaee:faces-config-localeType">
@@ -3375,9 +3443,9 @@
<xsd:complexType name="faces-config-behaviorType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "behavior" element represents a concrete Behavior
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "behavior" element represents a concrete Behavior
implementation class that should be registered under the
specified behavior identifier. Behavior identifiers must
be unique within the entire web application.</p>
@@ -3392,32 +3460,35 @@
more completely describe their components to tools and users.
These elements have no required runtime semantics.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="behavior-id"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "behavior-id" element represents the identifier
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "behavior-id" element represents the identifier
under which the corresponding Behavior class should
be registered.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="behavior-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "behavior-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "behavior-class" element represents the fully
qualified class name of a concrete Behavior
implementation class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute"
@@ -3425,16 +3496,17 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Nested "attribute" elements identify generic
+ <xsd:documentation>
+ <![CDATA[
+ <p> Nested "attribute" elements identify generic
attributes that may be configured on the
corresponding UIComponent in order to affect the
operation of the Behavior. This attribute is
primarily for design-time tools and is not
specified to have any meaning at runtime.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property"
@@ -3442,16 +3514,17 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Nested "property" elements identify JavaBeans
+ <xsd:documentation>
+ <![CDATA[
+ <p> Nested "property" elements identify JavaBeans
properties of the Behavior implementation class
that may be configured to affect the operation of
the Behavior. This attribute is primarily for
design-time tools and is not specified to have
any meaning at runtime.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="behavior-extension"
@@ -3468,12 +3541,13 @@
<xsd:complexType name="faces-config-behavior-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for behavior. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for behavior. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -3490,9 +3564,9 @@
<xsd:complexType name="faces-config-validatorType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "validator" element represents a concrete Validator
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "validator" element represents a concrete Validator
implementation class that should be registered under the
specified validator identifier. Validator identifiers must
be unique within the entire web application.</p>
@@ -3507,32 +3581,35 @@
more completely describe their components to tools and users.
These elements have no required runtime semantics.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:group ref="jakartaee:descriptionGroup"/>
<xsd:element name="validator-id"
type="jakartaee:string">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "validator-id" element represents the identifier
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "validator-id" element represents the identifier
under which the corresponding Validator class should
be registered.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="validator-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "validator-class" element represents the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "validator-class" element represents the fully
qualified class name of a concrete Validator
implementation class.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="attribute"
@@ -3540,16 +3617,17 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Nested "attribute" elements identify generic
+ <xsd:documentation>
+ <![CDATA[
+ <p> Nested "attribute" elements identify generic
attributes that may be configured on the
corresponding UIComponent in order to affect the
operation of the Validator. This attribute is
primarily for design-time tools and is not
specified to have any meaning at runtime.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="property"
@@ -3557,16 +3635,17 @@
minOccurs="0"
maxOccurs="unbounded">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Nested "property" elements identify JavaBeans
+ <xsd:documentation>
+ <![CDATA[
+ <p> Nested "property" elements identify JavaBeans
properties of the Validator implementation class
that may be configured to affect the operation of
the Validator. This attribute is primarily for
design-time tools and is not specified to have
any meaning at runtime.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="validator-extension"
@@ -3583,12 +3662,13 @@
<xsd:complexType name="faces-config-validator-extensionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> Extension element for validator. It may contain
+ <xsd:documentation>
+ <![CDATA[
+ <p> Extension element for validator. It may contain
implementation specific content.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:any minOccurs="0"
@@ -3602,16 +3682,17 @@
<xsd:simpleType name="faces-config-valueType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "value" element is the String representation of
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "value" element is the String representation of
a literal value to which a scalar managed property
will be set, or a value binding expression ("#{...}")
that will be used to calculate the required value.
It will be converted as specified for the actual
property type.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:union memberTypes="jakartaee:faces-config-el-expressionType xsd:string"/>
</xsd:simpleType>
@@ -3621,15 +3702,16 @@
<xsd:complexType name="faces-config-value-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "value-class" element defines the Java type to which each
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "value-class" element defines the Java type to which each
"value" element's value will be converted to, prior to adding
it to the "list-entries" list for a managed property that is
a java.util.List, or a "map-entries" map for a managed
property that is a java.util.Map.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:simpleContent>
<xsd:restriction base="jakartaee:fully-qualified-classType">
@@ -3644,15 +3726,16 @@
<xsd:complexType name="faces-config-list-entriesType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "list-entries" element represents a set of initialization
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "list-entries" element represents a set of initialization
elements for a managed property that is a java.util.List or an
array. In the former case, the "value-class" element can
optionally be used to declare the Java type to which each
value should be converted before adding it to the Collection.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="value-class"
@@ -3675,9 +3758,9 @@
<xsd:complexType name="faces-config-system-event-listenerType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The presence of this element within the "application" element in
+ <xsd:documentation>
+ <![CDATA[
+ <p> The presence of this element within the "application" element in
an application configuration resource file indicates the
developer wants to add an SystemEventListener to this
application instance. Elements nested within this element allow
@@ -3686,50 +3769,54 @@
can be the source of events that are delivered to the listener
instance.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:sequence>
<xsd:element name="system-event-listener-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "system-event-listener-class" element contains
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "system-event-listener-class" element contains
the fully qualified class name of the concrete
SystemEventListener implementation class that will be
called when events of the type specified by the
"system-event-class" are sent by the runtime.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="system-event-class"
type="jakartaee:fully-qualified-classType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "system-event-class" element contains the fully
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "system-event-class" element contains the fully
qualified class name of the SystemEvent subclass for
which events will be delivered to the class whose fully
qualified class name is given by the
"system-event-listener-class" element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
<xsd:element name="source-class"
type="jakartaee:fully-qualified-classType"
minOccurs="0">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> The "source-class" element, if present, contains the
+ <xsd:documentation>
+ <![CDATA[
+ <p> The "source-class" element, if present, contains the
fully qualified class name of the class that will be the
source for the event to be delivered to the class whose
fully qualified class name is given by the
"system-event-listener-class" element.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
</xsd:element>
</xsd:sequence>
@@ -3739,12 +3826,13 @@
<xsd:simpleType name="faces-config-versionType">
<xsd:annotation>
- <xsd:documentation><![CDATA[
-
- <p> This type contains the recognized versions of
+ <xsd:documentation>
+ <![CDATA[
+ <p> This type contains the recognized versions of
faces-config supported.</p>
- ]]></xsd:documentation>
+ ]]>
+ </xsd:documentation>
</xsd:annotation>
<xsd:restriction base="xsd:token">
<xsd:enumeration value="3.0"/>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-fragment_5_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-fragment_5_0.xsd
index 8bd9246..a37db9f 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-fragment_5_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-fragment_5_0.xsd
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns="http://www.w3.org/2001/XMLSchema"
targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
@@ -24,58 +6,82 @@
elementFormDefault="qualified"
attributeFormDefault="unqualified"
version="5.0">
-
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
<![CDATA[
-
- This is the XML Schema for the Servlet 5.0 deployment descriptor.
- The deployment descriptor must be named "META-INF/web-fragment.xml"
- in the web fragment's jar file. All Servlet deployment descriptors
- must indicate the web application schema by using the Jakarta EE
- namespace:
-
- https://jakarta.ee/xml/ns/jakartaee
-
- and by indicating the version of the schema by
- using the version element as shown below:
-
- <web-fragment xmlns="https://jakarta.ee/xml/ns/jakartaee"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="..."
- version="5.0">
- ...
- </web-fragment>
-
- The instance documents may indicate the published version of
- the schema using the xsi:schemaLocation attribute for Jakarta EE
- namespace with the following location:
-
- https://jakarta.ee/xml/ns/jakartaee/web-fragment_5_0.xsd
-
- ]]>
+ This is the XML Schema for the Servlet 5.0 deployment descriptor.
+ The deployment descriptor must be named "META-INF/web-fragment.xml"
+ in the web fragment's jar file. All Servlet deployment descriptors
+ must indicate the web application schema by using the Jakarta EE
+ namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <web-fragment xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="..."
+ version="5.0">
+ ...
+ </web-fragment>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta EE
+ namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/web-fragment_5_0.xsd
+
+ ]]>
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="common.inc" parse="text"/>
+
+ The following conventions apply to all Jakarta EE
+ deployment descriptor elements unless indicated otherwise.
+
+ - In elements that specify a pathname to a file within the
+ same JAR file, relative filenames (i.e., those not
+ starting with "/") are considered relative to the root of
+ the JAR file's namespace. Absolute filenames (i.e., those
+ starting with "/") also specify names in the root of the
+ JAR file's namespace. In general, relative names are
+ preferred. The exception is .war files where absolute
+ names are preferred for consistency with the Servlet API.
+
</xsd:documentation>
</xsd:annotation>
- <!-- **************************************************** -->
-
<xsd:include schemaLocation="web-common_5_0.xsd"/>
- <!-- **************************************************** -->
- <xsd:element name="web-fragment" type="jakartaee:web-fragmentType">
+<!-- **************************************************** -->
+
+ <xsd:element name="web-fragment"
+ type="jakartaee:web-fragmentType">
<xsd:annotation>
<xsd:documentation>
@@ -93,36 +99,33 @@
of the element distributable is redundant and the container
treats that case exactly in the same way when there is only
one distributable.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:unique name="web-common-servlet-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The servlet element contains the name of a servlet.
The name must be unique within the web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:servlet"/>
- <xsd:field xpath="jakartaee:servlet-name"/>
+ <xsd:field xpath="jakartaee:servlet-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-filter-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
The filter element contains the name of a filter.
The name must be unique within the web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:filter"/>
- <xsd:field xpath="jakartaee:filter-name"/>
+ <xsd:field xpath="jakartaee:filter-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-ejb-local-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -132,15 +135,14 @@
is an entry in the web application's environment and is relative
to the java:comp/env context. The name must be unique within
the web application.
-
+
It is recommended that name is prefixed with "ejb/".
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:ejb-local-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-ejb-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -150,15 +152,14 @@
is an entry in the web application's environment and is relative
to the java:comp/env context. The name must be unique within
the web application.
-
+
It is recommended that name is prefixed with "ejb/".
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:ejb-ref"/>
- <xsd:field xpath="jakartaee:ejb-ref-name"/>
+ <xsd:field xpath="jakartaee:ejb-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-resource-env-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -168,13 +169,12 @@
environment entry name used in the web application code.
The name is a JNDI name relative to the java:comp/env
context and must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:resource-env-ref"/>
- <xsd:field xpath="jakartaee:resource-env-ref-name"/>
+ <xsd:field xpath="jakartaee:resource-env-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-message-destination-ref-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -184,14 +184,12 @@
environment entry name used in the web application code.
The name is a JNDI name relative to the java:comp/env
context and must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:message-destination-ref"/>
- <xsd:field xpath="jakartaee:message-destination-ref-name"/>
+ <xsd:field xpath="jakartaee:message-destination-ref-name"/>
</xsd:unique>
-
-
<xsd:unique name="web-common-res-ref-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -200,13 +198,12 @@
resource manager connection factory reference. The name
is a JNDI name relative to the java:comp/env context.
The name must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:resource-ref"/>
- <xsd:field xpath="jakartaee:res-ref-name"/>
+ <xsd:field xpath="jakartaee:res-ref-name"/>
</xsd:unique>
-
<xsd:unique name="web-common-env-entry-name-uniqueness">
<xsd:annotation>
<xsd:documentation>
@@ -215,27 +212,24 @@
application's environment entry. The name is a JNDI
name relative to the java:comp/env context. The name
must be unique within a web application.
-
+
</xsd:documentation>
</xsd:annotation>
-
<xsd:selector xpath="jakartaee:env-entry"/>
- <xsd:field xpath="jakartaee:env-entry-name"/>
+ <xsd:field xpath="jakartaee:env-entry-name"/>
</xsd:unique>
-
<xsd:key name="web-common-role-name-key">
<xsd:annotation>
<xsd:documentation>
A role-name-key is specified to allow the references
from the security-role-refs.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:security-role"/>
- <xsd:field xpath="jakartaee:role-name"/>
+ <xsd:field xpath="jakartaee:role-name"/>
</xsd:key>
-
<xsd:keyref name="web-common-role-name-references"
refer="jakartaee:web-common-role-name-key">
<xsd:annotation>
@@ -243,14 +237,15 @@
The keyref indicates the references from
security-role-ref to a specified role-name.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:selector xpath="jakartaee:servlet/jakartaee:security-role-ref"/>
- <xsd:field xpath="jakartaee:role-link"/>
+ <xsd:field xpath="jakartaee:role-link"/>
</xsd:keyref>
</xsd:element>
+
<!-- **************************************************** -->
<xsd:complexType name="web-fragmentType">
@@ -265,6 +260,7 @@
<xsd:attributeGroup ref="jakartaee:web-common-attributes"/>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="orderingType">
@@ -272,7 +268,7 @@
<xsd:documentation>
Please see section 8.2.2 of the specification for details.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
@@ -287,6 +283,7 @@
</xsd:sequence>
</xsd:complexType>
+
<!-- **************************************************** -->
<xsd:complexType name="ordering-orderingType">
@@ -301,7 +298,7 @@
comes
before or after other documents within the application.
See section 8.2.2 of the specification for details.
-
+
</xsd:documentation>
</xsd:annotation>
<xsd:sequence>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-jsptaglibrary_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-jsptaglibrary_3_0.xsd
new file mode 100644
index 0000000..a6b581f
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-jsptaglibrary_3_0.xsd
@@ -0,0 +1,1109 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<xsd:schema targetNamespace="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
+ elementFormDefault="qualified"
+ attributeFormDefault="unqualified"
+ version="3.0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:annotation>
+ <xsd:documentation>
+ <![CDATA[
+ This is the XML Schema for the JSP Taglibrary
+ descriptor. All Taglibrary descriptors must
+ indicate the tag library schema by using the Taglibrary
+ namespace:
+
+ https://jakarta.ee/xml/ns/jakartaee
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <taglib xmlns="https://jakarta.ee/xml/ns/jakartaee"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="..."
+ version="3.0">
+ ...
+ </taglib>
+
+ The instance documents may indicate the published
+ version of the schema using xsi:schemaLocation attribute
+ for Jakarta EE namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jakartaee/web-jsptaglibrary_3_0.xsd
+
+ ]]>
+ </xsd:documentation>
+ </xsd:annotation>
+
+ <xsd:include schemaLocation="jakartaee_9.xsd"/>
+
+
+<!-- **************************************************** -->
+
+ <xsd:element name="taglib"
+ type="jakartaee:tldTaglibType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The taglib tag is the document root.
+ The definition of taglib is provided
+ by the tldTaglibType.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:unique name="tag-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The taglib element contains, among other things, tag and
+ tag-file elements.
+ The name subelements of these elements must each be unique.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:tag|jakartaee:tag-file"/>
+ <xsd:field xpath="jakartaee:name"/>
+ </xsd:unique>
+ <xsd:unique name="function-name-uniqueness">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The taglib element contains function elements.
+ The name subelements of these elements must each be unique.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:selector xpath="jakartaee:function"/>
+ <xsd:field xpath="jakartaee:name"/>
+ </xsd:unique>
+ </xsd:element>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="body-contentType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Specifies the type of body that is valid for a tag.
+ This value is used by the JSP container to validate
+ that a tag invocation has the correct body syntax and
+ by page composition tools to assist the page author
+ in providing a valid tag body.
+
+ There are currently four values specified:
+
+ tagdependent The body of the tag is interpreted by the tag
+ implementation itself, and is most likely
+ in a different "language", e.g embedded SQL
+ statements.
+
+ JSP The body of the tag contains nested JSP
+ syntax.
+
+ empty The body must be empty
+
+ scriptless The body accepts only template text, EL
+ Expressions, and JSP action elements. No
+ scripting elements are allowed.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="jakartaee:string">
+ <xsd:enumeration value="tagdependent"/>
+ <xsd:enumeration value="JSP"/>
+ <xsd:enumeration value="empty"/>
+ <xsd:enumeration value="scriptless"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tld-canonical-nameType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the canonical name of a tag or attribute being
+ defined.
+
+ The name must conform to the lexical rules for an NMTOKEN.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="jakartaee:xsdNMTOKENType"/>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="validatorType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ A validator that can be used to validate
+ the conformance of a JSP page to using this tag library is
+ defined by a validatorType.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description"
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="validator-class"
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the TagLibraryValidator class that can be used
+ to validate the conformance of a JSP page to using this
+ tag library.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="init-param"
+ type="jakartaee:param-valueType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The init-param element contains a name/value pair as an
+ initialization param.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tagType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The tag defines a unique tag in this tag library. It has one
+ attribute, id.
+
+ The tag element may have several subelements defining:
+
+ description Optional tag-specific information
+
+ display-name A short name that is intended to be
+ displayed by tools
+
+ icon Optional icon element that can be used
+ by tools
+
+ name The unique action name
+
+ tag-class The tag handler class implementing
+ jakarta.servlet.jsp.tagext.JspTag
+
+ tei-class An optional subclass of
+ jakarta.servlet.jsp.tagext.TagExtraInfo
+
+ body-content The body content type
+
+ variable Optional scripting variable information
+
+ attribute All attributes of this action that are
+ evaluated prior to invocation.
+
+ dynamic-attributes Whether this tag supports additional
+ attributes with dynamic names. If
+ true, the tag-class must implement the
+ jakarta.servlet.jsp.tagext.DynamicAttributes
+ interface. Defaults to false.
+
+ example Optional informal description of an
+ example of a use of this tag
+
+ tag-extension Zero or more extensions that provide extra
+ information about this tag, for tool
+ consumption
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="jakartaee:descriptionGroup"/>
+ <xsd:element name="name"
+ type="jakartaee:tld-canonical-nameType"/>
+ <xsd:element name="tag-class"
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the subclass of jakarta.serlvet.jsp.tagext.JspTag
+ that implements the request time semantics for
+ this tag. (required)
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="tei-class"
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the subclass of jakarta.servlet.jsp.tagext.TagExtraInfo
+ for this tag. (optional)
+
+ If this is not given, the class is not consulted at
+ translation time.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="body-content"
+ type="jakartaee:body-contentType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Specifies the format for the body of this tag.
+ The default in JSP 1.2 was "JSP" but because this
+ is an invalid setting for simple tag handlers, there
+ is no longer a default in JSP 2.0. A reasonable
+ default for simple tag handlers is "scriptless" if
+ the tag can have a body.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="variable"
+ type="jakartaee:variableType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="attribute"
+ type="jakartaee:tld-attributeType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="dynamic-attributes"
+ type="jakartaee:generic-booleanType"
+ minOccurs="0"/>
+ <xsd:element name="example"
+ type="jakartaee:xsdStringType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The example element contains an informal description
+ of an example of the use of a tag.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="tag-extension"
+ type="jakartaee:tld-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Tag extensions are for tool use only and must not affect
+ the behavior of a container.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tagFileType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines an action in this tag library that is implemented
+ as a .tag file.
+
+ The tag-file element has two required subelements:
+
+ description Optional tag-specific information
+
+ display-name A short name that is intended to be
+ displayed by tools
+
+ icon Optional icon element that can be used
+ by tools
+
+ name The unique action name
+
+ path Where to find the .tag file implementing this
+ action, relative to the root of the web
+ application or the root of the JAR file for a
+ tag library packaged in a JAR. This must
+ begin with /WEB-INF/tags if the .tag file
+ resides in the WAR, or /META-INF/tags if the
+ .tag file resides in a JAR.
+
+ example Optional informal description of an
+ example of a use of this tag
+
+ tag-extension Zero or more extensions that provide extra
+ information about this tag, for tool
+ consumption
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="jakartaee:descriptionGroup"/>
+ <xsd:element name="name"
+ type="jakartaee:tld-canonical-nameType"/>
+ <xsd:element name="path"
+ type="jakartaee:pathType"/>
+ <xsd:element name="example"
+ type="jakartaee:xsdStringType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The example element contains an informal description
+ of an example of the use of a tag.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="tag-extension"
+ type="jakartaee:tld-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Tag extensions are for tool use only and must not affect
+ the behavior of a container.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="functionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The function element is used to provide information on each
+ function in the tag library that is to be exposed to the EL.
+
+ The function element may have several subelements defining:
+
+ description Optional tag-specific information
+
+ display-name A short name that is intended to be
+ displayed by tools
+
+ icon Optional icon element that can be used
+ by tools
+
+ name A unique name for this function
+
+ function-class Provides the name of the Java class that
+ implements the function
+
+ function-signature Provides the signature, as in the Java
+ Language Specification, of the Java
+ method that is to be used to implement
+ the function.
+
+ example Optional informal description of an
+ example of a use of this function
+
+ function-extension Zero or more extensions that provide extra
+ information about this function, for tool
+ consumption
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="jakartaee:descriptionGroup"/>
+ <xsd:element name="name"
+ type="jakartaee:tld-canonical-nameType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ A unique name for this function.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="function-class"
+ type="jakartaee:fully-qualified-classType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Provides the fully-qualified class name of the Java
+ class containing the static method that implements
+ the function.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="function-signature"
+ type="jakartaee:string">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Provides the signature, of the static Java method that is
+ to be used to implement the function. The syntax of the
+ function-signature element is as follows:
+
+ FunctionSignature ::= ReturnType S MethodName S?
+ '(' S? Parameters? S? ')'
+
+ ReturnType ::= Type
+
+ MethodName ::= Identifier
+
+ Parameters ::= Parameter
+ | ( Parameter S? ',' S? Parameters )
+
+ Parameter ::= Type
+
+ Where:
+
+ * Type is a basic type or a fully qualified
+ Java class name (including package name),
+ as per the 'Type' production in the Java
+ Language Specification, Second Edition,
+ Chapter 18.
+
+ * Identifier is a Java identifier, as per
+ the 'Identifier' production in the Java
+ Language Specification, Second
+ Edition, Chapter 18.
+
+ Example:
+
+ java.lang.String nickName( java.lang.String, int )
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="example"
+ type="jakartaee:xsdStringType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The example element contains an informal description
+ of an example of the use of this function.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="function-extension"
+ type="jakartaee:tld-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Function extensions are for tool use only and must not
+ affect the behavior of a container.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tldTaglibType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The taglib tag is the document root, it defines:
+
+ description a simple string describing the "use" of this
+ taglib, should be user discernable
+
+ display-name the display-name element contains a
+ short name that is intended to be displayed
+ by tools
+
+ icon optional icon that can be used by tools
+
+ tlib-version the version of the tag library implementation
+
+ short-name a simple default short name that could be
+ used by a JSP authoring tool to create
+ names with a mnemonic value; for example,
+ the it may be used as the prefered prefix
+ value in taglib directives
+
+ uri a uri uniquely identifying this taglib
+
+ validator optional TagLibraryValidator information
+
+ listener optional event listener specification
+
+ tag tags in this tag library
+
+ tag-file tag files in this tag library
+
+ function zero or more EL functions defined in this
+ tag library
+
+ taglib-extension zero or more extensions that provide extra
+ information about this taglib, for tool
+ consumption
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:group ref="jakartaee:descriptionGroup"/>
+ <xsd:element name="tlib-version"
+ type="jakartaee:dewey-versionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Describes this version (number) of the taglibrary.
+ It is described as a dewey decimal.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="short-name"
+ type="jakartaee:tld-canonical-nameType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines a simple default name that could be used by
+ a JSP authoring tool to create names with a
+ mnemonicvalue; for example, it may be used as the
+ preferred prefix value in taglib directives. Do
+ not use white space, and do not start with digits
+ or underscore.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="uri"
+ type="jakartaee:xsdAnyURIType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines a public URI that uniquely identifies this
+ version of the taglibrary. Leave it empty if it
+ does not apply.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="validator"
+ type="jakartaee:validatorType"
+ minOccurs="0">
+ </xsd:element>
+ <xsd:element name="listener"
+ type="jakartaee:listenerType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ </xsd:element>
+ <xsd:element name="tag"
+ type="jakartaee:tagType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="tag-file"
+ type="jakartaee:tagFileType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="function"
+ type="jakartaee:functionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="taglib-extension"
+ type="jakartaee:tld-extensionType"
+ minOccurs="0"
+ maxOccurs="unbounded">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Taglib extensions are for tool use only and must not
+ affect the behavior of a container.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="version"
+ type="jakartaee:dewey-versionType"
+ fixed="3.0"
+ use="required">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Describes the JSP version (number) this taglibrary
+ requires in order to function (dewey decimal)
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:attribute>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="variableType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The variableType provides information on the scripting
+ variables defined by using this tag. It is a (translation
+ time) error for a tag that has one or more variable
+ subelements to have a TagExtraInfo class that returns a
+ non-null value from a call to getVariableInfo().
+
+ The subelements of variableType are of the form:
+
+ description Optional description of this
+ variable
+
+ name-given The variable name as a constant
+
+ name-from-attribute The name of an attribute whose
+ (translation time) value will
+ give the name of the
+ variable. One of name-given or
+ name-from-attribute is required.
+
+ variable-class Name of the class of the variable.
+ java.lang.String is default.
+
+ declare Whether the variable is declared
+ or not. True is the default.
+
+ scope The scope of the scripting varaible
+ defined. NESTED is default.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description"
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:choice>
+ <xsd:element name="name-given"
+ type="jakartaee:java-identifierType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The name for the scripting variable.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="name-from-attribute"
+ type="jakartaee:java-identifierType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The name of an attribute whose
+ (translation-time) value will give the name of
+ the variable.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ <xsd:element name="variable-class"
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The optional name of the class for the scripting
+ variable. The default is java.lang.String.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="declare"
+ type="jakartaee:generic-booleanType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Whether the scripting variable is to be defined
+ or not. See TagExtraInfo for details. This
+ element is optional and "true" is the default.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="scope"
+ type="jakartaee:variable-scopeType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The element is optional and "NESTED" is the default.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="variable-scopeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ This type defines scope of the scripting variable. See
+ TagExtraInfo for details. The allowed values are,
+ "NESTED", "AT_BEGIN" and "AT_END".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:simpleContent>
+ <xsd:restriction base="jakartaee:string">
+ <xsd:enumeration value="NESTED"/>
+ <xsd:enumeration value="AT_BEGIN"/>
+ <xsd:enumeration value="AT_END"/>
+ </xsd:restriction>
+ </xsd:simpleContent>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tld-attributeType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The attribute element defines an attribute for the nesting
+ tag. The attribute element may have several subelements
+ defining:
+
+ description a description of the attribute
+
+ name the name of the attribute
+
+ required whether the attribute is required or
+ optional
+
+ rtexprvalue whether the attribute is a runtime attribute
+
+ type the type of the attributes
+
+ fragment whether this attribute is a fragment
+
+ deferred-value present if this attribute is to be parsed as a
+ jakarta.el.ValueExpression
+
+ deferred-method present if this attribute is to be parsed as a
+ jakarta.el.MethodExpression
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="description"
+ type="jakartaee:descriptionType"
+ minOccurs="0"
+ maxOccurs="unbounded"/>
+ <xsd:element name="name"
+ type="jakartaee:java-identifierType"/>
+ <xsd:element name="required"
+ type="jakartaee:generic-booleanType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines if the nesting attribute is required or
+ optional.
+
+ If not present then the default is "false", i.e
+ the attribute is optional.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:choice>
+ <xsd:sequence>
+ <xsd:sequence minOccurs="0">
+ <xsd:element name="rtexprvalue"
+ type="jakartaee:generic-booleanType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines if the nesting attribute can have scriptlet
+ expressions as a value, i.e the value of the
+ attribute may be dynamically calculated at request
+ time, as opposed to a static value determined at
+ translation time.
+ If not present then the default is "false", i.e the
+ attribute has a static value
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="type"
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines the Java type of the attributes value.
+ If this element is omitted, the expected type is
+ assumed to be "java.lang.Object".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:choice>
+ <xsd:element name="deferred-value"
+ type="jakartaee:tld-deferred-valueType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Present if the value for this attribute is to be
+ passed to the tag handler as a
+ jakarta.el.ValueExpression. This allows for deferred
+ evaluation of EL expressions. An optional subelement
+ will contain the expected type that the value will
+ be coerced to after evaluation of the expression.
+ The type defaults to Object if one is not provided.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ <xsd:element name="deferred-method"
+ type="jakartaee:tld-deferred-methodType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Present if the value for this attribute is to be
+ passed to the tag handler as a
+ jakarta.el.MethodExpression. This allows for deferred
+ evaluation of an EL expression that identifies a
+ method to be invoked on an Object. An optional
+ subelement will contain the expected method
+ signature. The signature defaults to "void method()"
+ if one is not provided.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:element name="fragment"
+ type="jakartaee:generic-booleanType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ "true" if this attribute is of type
+ jakarta.servlet.jsp.tagext.JspFragment, representing dynamic
+ content that can be re-evaluated as many times
+ as needed by the tag handler. If omitted or "false",
+ the default is still type="java.lang.String"
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:choice>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tld-deferred-valueType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines information about how to provide the value for a
+ tag handler attribute that accepts a jakarta.el.ValueExpression.
+
+ The deferred-value element has one optional subelement:
+
+ type the expected type of the attribute
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="type"
+ type="jakartaee:fully-qualified-classType"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The fully-qualified name of the Java type that is the
+ expected type for this deferred expression. If this
+ element is omitted, the expected type is assumed to be
+ "java.lang.Object".
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tld-deferred-methodType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Defines information about how to provide the value for a
+ tag handler attribute that accepts a jakarta.el.MethodExpression.
+
+ The deferred-method element has one optional subelement:
+
+ method-signature Provides the signature, as in the Java
+ Language Specifies, that is expected for
+ the method being identified by the
+ expression.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="method-signature"
+ type="jakartaee:string"
+ minOccurs="0">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ Provides the expected signature of the method identified
+ by the jakarta.el.MethodExpression.
+
+ This disambiguates overloaded methods and ensures that
+ the return value is of the expected type.
+
+ The syntax of the method-signature element is identical
+ to that of the function-signature element. See the
+ documentation for function-signature for more details.
+
+ The name of the method is for documentation purposes only
+ and is ignored by the JSP container.
+
+ Example:
+
+ boolean validate(java.lang.String)
+
+ </xsd:documentation>
+ </xsd:annotation>
+ </xsd:element>
+ </xsd:sequence>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="tld-extensionType">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The tld-extensionType is used to indicate
+ extensions to a specific TLD element.
+
+ It is used by elements to designate an extension block
+ that is targeted to a specific extension designated by
+ a set of extension elements that are declared by a
+ namespace. The namespace identifies the extension to
+ the tool that processes the extension.
+
+ The type of the extension-element is abstract. Therefore,
+ a concrete type must be specified by the TLD using
+ xsi:type attribute for each extension-element.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:sequence>
+ <xsd:element name="extension-element"
+ type="jakartaee:extensibleType"
+ maxOccurs="unbounded"/>
+ </xsd:sequence>
+ <xsd:attribute name="namespace"
+ use="required"
+ type="xsd:anyURI"/>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+
+<!-- **************************************************** -->
+
+ <xsd:complexType name="extensibleType"
+ abstract="true">
+ <xsd:annotation>
+ <xsd:documentation>
+
+ The extensibleType is an abstract base type that is used to
+ define the type of extension-elements. Instance documents
+ must substitute a known type to define the extension by
+ using xsi:type attribute to define the actual type of
+ extension-elements.
+
+ </xsd:documentation>
+ </xsd:annotation>
+ <xsd:attribute name="id"
+ type="xsd:ID"/>
+ </xsd:complexType>
+
+</xsd:schema>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-partialresponse_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-partialresponse_3_0.xsd
index 1afa4e3..5224d21 100644
--- a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-partialresponse_3_0.xsd
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/web-partialresponse_3_0.xsd
@@ -1,22 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2018, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
<xsd:schema xmlns:jakartaee="https://jakarta.ee/xml/ns/jakartaee"
attributeFormDefault="unqualified"
elementFormDefault="qualified"
@@ -27,13 +9,28 @@
<xsd:annotation>
<xsd:documentation>
- <xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="license.inc" parse="text"/>
+
+ Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
</xsd:documentation>
</xsd:annotation>
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The XML Schema for the Jakarta Server Faces (Version 3.0)
@@ -52,7 +49,8 @@
type="jakartaee:partial-responseType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "partial-response" element is the root of the
@@ -65,6 +63,7 @@
UIViewRoot to which this response pertains.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -76,7 +75,8 @@
<xsd:complexType name="partial-responseType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "partial-response" element is the root of the
@@ -87,10 +87,12 @@
<p>
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
- <xsd:choice minOccurs="0" maxOccurs="unbounded">
+ <xsd:choice minOccurs="0"
+ maxOccurs="unbounded">
<xsd:element name="changes"
type="jakartaee:partial-response-changesType"
minOccurs="0"
@@ -109,7 +111,8 @@
use="required">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p class="changed_added_2_2">This element must have an "id" attribute whose value
is the return from calling getContainerClientId() on the
UIViewRoot to which this response pertains.<p>
@@ -126,7 +129,8 @@
<xsd:complexType name="partial-response-changesType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "changes" element contains a collection of child elements,
@@ -134,6 +138,7 @@
view in the user agent.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -151,13 +156,15 @@
type="xsd:string">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "eval" element enables this element's
contents to be executed as JavaScript.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -173,13 +180,15 @@
<xsd:complexType name="partial-response-updateType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "update" element enables DOM elements matching the "id"
attribute to be updated with the contents of this element.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -198,7 +207,8 @@
<xsd:complexType name="partial-response-insertType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "insert" element enables content to be inserted into the DOM
@@ -207,6 +217,7 @@
"after" are mutually exclusive - one of them must be specified.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -253,13 +264,15 @@
<xsd:complexType name="partial-response-deleteType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "delete" element enables DOM elements matching the "id"
attribute to be removed.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -274,7 +287,8 @@
<xsd:complexType name="partial-response-attributesType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "attributes" element enables attributes of DOM elements matching the "id"
@@ -282,6 +296,7 @@
least one "attribute" element.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -313,13 +328,15 @@
<xsd:complexType name="partial-response-redirectType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "redirect" element enables a redirect to the location as specified by the
"url" attribute.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -334,12 +351,14 @@
<xsd:complexType name="partial-response-errorType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
The "error" element contains error information from the server.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
@@ -361,11 +380,13 @@
<xsd:complexType name="partial-response-extensionType">
<xsd:annotation>
<xsd:documentation>
- <![CDATA[[
+ <![CDATA[
+ [
<p>
Extension element for partial response. It may contain
implementation specific content.
</p>
+
]]>
</xsd:documentation>
</xsd:annotation>
diff --git a/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/wsdl_customizationschema_3_0.xsd b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/wsdl_customizationschema_3_0.xsd
new file mode 100644
index 0000000..99808f3
--- /dev/null
+++ b/appserver/deployment/schemas/src/main/resources/glassfish/lib/schemas/wsdl_customizationschema_3_0.xsd
@@ -0,0 +1,420 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright (c) 2020 Oracle and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Distribution License v. 1.0, which is available at
+ http://www.eclipse.org/org/documents/edl-v10.php.
+
+ SPDX-License-Identifier: BSD-3-Clause
+
+-->
+
+<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ elementFormDefault="qualified"
+ targetNamespace="https://jakarta.ee/xml/ns/jaxws"
+ attributeFormDefault="unqualified">
+
+ <xs:annotation>
+ <xs:documentation>
+ This is the XML Schema for the Jakarta XML Web Services
+ WSDL customization descriptor.
+ All WSDL customization descriptors must indicate
+ the descriptor schema by using the Jakarta XML Web Services namespace:
+
+ https://jakarta.ee/xml/ns/jaxws
+
+ and by indicating the version of the schema by
+ using the version element as shown below:
+
+ <bindings xmlns="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jaxws
+ https://jakarta.ee/xml/ns/jaxws/wsdl_customizationschema_3_0.xsd"
+ version="3.0">
+ ...
+ </bindings>
+
+ The instance documents may indicate the published version of
+ the schema using the xsi:schemaLocation attribute for Jakarta XML
+ Web Services namespace with the following location:
+
+ https://jakarta.ee/xml/ns/jaxws/wsdl_customizationschema_3_0.xsd
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:group name="declaration">
+ <xs:annotation>
+ <xs:documentation>
+ TODO
+ </xs:documentation>
+ </xs:annotation>
+ <xs:choice>
+ <xs:element ref="jaxws:package"/>
+ <xs:element ref="jaxws:enableWrapperStyle"/>
+ <xs:element ref="jaxws:enableAsyncMapping"/>
+ <xs:element ref="jaxws:enableMIMEContent"/>
+ <xs:element ref="jaxws:class"/>
+ <xs:element ref="jaxws:method"/>
+ <xs:element ref="jaxws:parameter"/>
+ <xs:element ref="jaxws:provider"/>
+ <xs:any namespace="##other" processContents="lax" />
+ </xs:choice>
+ </xs:group>
+
+ <xs:element name="bindings">
+ <xs:annotation>
+ <xs:documentation>
+ WSDL customization binding declaration.
+
+ There are two ways to specify binding declarations.
+
+ 1. All binding declarations pertainingto a given WSDL document are grouped together in a standalone
+ document, called an external binding file.
+
+ 2. The second approach consists in embeddeding binding declarations directly inside a WSDL document. In
+ either case, the jaxws:bindings element is used as a container for JAX-WS binding declarations. It
+ contains a (possibly empty) list of binding declarations, in any order.
+
+ A binding declaration embedded in a WSDL document can only affect the WSDL element it extends. When a
+ jaxws:bindings element is used as a WSDL extension, it MUST NOT have a node attribute. Moreover, it MUST
+ NOT have an element whose qualified name is jaxws:bindings amongs its children.
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:sequence>
+ <xs:choice minOccurs="0" maxOccurs="unbounded">
+ <xs:group ref="jaxws:declaration"/>
+ <xs:element ref="jaxws:bindings"/>
+ </xs:choice>
+ </xs:sequence>
+
+ <xs:attribute name="wsdlLocation" type="xs:anyURI">
+ <xs:annotation>
+ <xs:documentation>
+ Location of the remote WSDL to associate binding declarations with. It MUST NOT be present if
+ the jaxws:bindings element is used as an extension inside a WSDL document or one of its ancestor
+ jaxws:bindings elements already contains this attribute.
+ </xs:documentation>
+ </xs:annotation>
+
+ </xs:attribute>
+
+ <xs:attribute name="node" type="xs:string">
+ <xs:annotation>
+ <xs:documentation>
+ The value of the string is an XPATH 1.0 compliant string that resolves to a node in a remote
+ WSDL to associate binding declarations with. The remote WSDL is specified by the
+ wsdlLocation attribute occuring in the current element or in a parent of this element.
+
+ The node attribute can be used to customize the inlined schema inside the WSDL, in this case the
+ node attribute must point to the xs:schema node inside the WSDL. Further jaxb:bindings should be
+ used as the child of jaxws:bindings.
+
+ Example:
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb">
+ <jaxws:bindings
+ node="wsdl:definitions/wsdl:types/xs:schema[@targetNamespace='urn:test:types']">
+ <jaxb:schemaBindings>
+ <jaxb:package name="client.types"/>
+ </jaxb:schemaBindings>
+ <jaxb:bindings node="//xs:complexType[@name='class']">
+ <jaxb:class name="Clazz"/>
+ </jaxb:bindings>
+ </jaxws:bindings>
+ </jaxws:bindings>
+ NOTE: It MUST NOT be present if the jaxws:bindings appears inside a WSDL document.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+
+ <xs:attribute name="version" type="xs:token" default="3.0">
+ <xs:annotation>
+ <xs:documentation>
+ Used to indicate the version of WSDL customization declarations. Only valid on root level
+ bindings element.
+ If this is absent, it will implicitly be assumed to be 3.0.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+
+ </xs:element>
+
+ <xs:complexType name="tJavaDoc">
+ <xs:annotation></xs:annotation>
+ <xs:sequence>
+ <xs:element name="javadoc" type="xs:string" minOccurs="0"/>
+ </xs:sequence>
+ </xs:complexType>
+
+ <xs:element name="package">
+ <xs:annotation>
+ <xs:documentation>
+ If absent, the default package name is computed from the targetNamespace of the WSDL in scope. The rules
+ of targetNamespace to Java package name is described in the Jakarta XML Binding specification.
+
+ Appears in the context of a WSDL document, either as an extension to the wsdl:definitions element or in
+ an external binding file at a place where there is a WSDL document in scope.
+
+ Scope:
+ wsd;definitions
+
+ Example:
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb">
+ <jaxws:package></jaxws:package>
+ </jaxws:bindings>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="jaxws:tJavaDoc">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+
+ <xs:element name="enableWrapperStyle" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>
+ enableWrapperStyle can be used to disable wrapper style Java method generation. If absent the default
+ value of enableWrapperStyle is true. Setting it to true may not result into wrapper style method
+ generation unless the wrapper style rules are satisfied as defined in JAX-WS 2.1 specification 2.3.1.2.
+
+ Scope:
+ wsd;definitions, wsdl:portType, wsdl:portType/wsdl:operation.
+
+ Example:
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb">
+ <!-- Turn off wrapper style Java method signature generation -->
+ <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
+ </jaxws:bindings>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="enableAsyncMapping" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>
+ enableAsyncMapping can be used to enable async method generation in the entpoint interface generated
+ from a WSDL. If absent the default value of enableAsyncMapping is false. See JAX-WS 2.1 spec
+ section 2.3.4.2.
+
+ Scope:
+ wsd;definitions, wsdl:portType, wsdl:portType/wsdl:operation.
+
+ Note: These generated async methods can be used only on the client side.
+
+ Example:
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb">
+ <!-- Generate async methods in the generated Java endpoint interface for all the portTypes and
+ operations in the WSDL's scope. -->
+ <jaxws:enableAsyncMapping>false</jaxws:enableAsyncMapping>
+ </jaxws:bindings>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="enableMIMEContent" type="xs:boolean">
+ <xs:annotation>
+ <xs:documentation>
+ If present the use of the mime:content information is enabled as defined in the JAX-WS 2.1 spec
+ section 2.6.3.1
+
+ Scope:
+ wsdl:definitions, wsdl:binding, wsdl:binding/wsdl:operation
+
+ Example:
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb">
+
+ <!-- Enables MIME content for all the bindings in the WSDL's scope. -->
+ <jaxws:enableMIMEContent>false</jaxws:enableMIMEContent>
+ </jaxws:bindings>
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+ <xs:element name="class">
+ <xs:annotation>
+ <xs:documentation>
+ Customizes the name of generated classes for the SEI, service class or the fault class.
+
+ Scope:
+ wsd;portType - The name of generated SEI (Service Endpoint Interface)
+ wsdl:portType/wsdl:operation/wsdl:fault - The generated fault class name.
+ wsdl:service - Name of the generated Service class.
+
+ Example:
+
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb">
+
+ <!-- Customize the generated SEI class name -->
+ <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']">
+ <jaxws:class name="HelloWorld"/>
+ </jaxws:bindings>
+
+ <!-- customize the generated Service class name -->
+ <jaxws:bindings node="wsdl:definitions/wsdl:service[@name='Hello']">
+ <jaxws:class name="CustomService"/>
+ </jaxws:bindings>
+
+ <!-- customize the generated fault class name -->
+ <jaxws:bindings
+ node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Foo']/wsdl:fault[@name='FooFault']">
+ <jaxws:class name="FooException"/>
+ </jaxws:bindings>
+ </jaxws:bindings>
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="jaxws:tJavaDoc">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="method">
+ <xs:annotation>
+ <xs:documentation>
+ Customizes the name of Java method in the generated classes.
+
+ Scope:
+ wsd;portType/wsdl:operation - name of Java methods corresponding to wsdl:operation
+ wsdl:service/wsdl:port - Name of the port getter in the generated Service class
+
+ Example:
+
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb">
+
+ <!-- Renames Java method from hello() to helloWorld() -->
+ <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Hello']">
+ <jaxws:class name="helloWorld"/>
+ </jaxws:bindings>
+
+ <!-- Renames the generated port getter method form getHelloPort(), which is default for "HelloPort",
+ to getCustomizedPort -->
+ <jaxws:bindings node="wsdl:definitions/wsdl:service[@name='Hello']/wsdl:port[@name='HelloPort']">
+ <jaxws:method name="getCustomizedPort"/>
+ </jaxws:bindings>
+
+ </jaxws:bindings>
+ </xs:documentation>
+ </xs:annotation>
+
+ <xs:complexType>
+ <xs:complexContent>
+ <xs:extension base="jaxws:tJavaDoc">
+ <xs:attribute name="name" type="xs:string" use="required"/>
+ </xs:extension>
+ </xs:complexContent>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="parameter">
+ <xs:annotation>
+ <xs:documentation>
+ Customizes the name of the Java method parameters in the generated SEI.
+
+ Scope:
+ wsd;portType/wsdl:operation
+ wsdl:binding/wsdl:operation To rename wsdl:header (additional header parameters, this support is
+ optional as JAX-WS 2.1 spec makes additional header mapping optional.
+ Example:
+
+ <jaxws:bindings wsdlLocation="..."
+ xmlns:xs="http://www.w3.org/2001/XMLSchema"
+ xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
+ xmlns:jaxws="https://jakarta.ee/xml/ns/jaxws"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb"
+ xmlns:types1="urn:test:types">
+
+ <!-- Rename a wrapper child parameter 'argument' to 'helloArgument'-->
+ <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Hello']">
+ <jaxws:parameter
+ part="wsdl:definitions/wsdl:message[@name='HelloRequest']/wsdl:part[@name='parameters']"
+ childElementName="types1:argument" name="helloArgument"/>
+ </jaxws:bindings>
+
+ <!-- Rename a BARE parameter 'in' to 'fooRequest'-->
+ <jaxws:bindings node="wsdl:definitions/wsdl:portType[@name='Hello']/wsdl:operation[@name='Foo']">
+ <jaxws:enableWrapperStyle>false</jaxws:enableWrapperStyle>
+ <jaxws:parameter part="wsdl:definitions/wsdl:message[@name='FooRequest']/wsdl:part[@name='in']"
+ name="fooRequest"/>
+ </jaxws:bindings>
+ </jaxws:bindings>
+
+ </xs:documentation>
+ </xs:annotation>
+ <xs:complexType>
+ <xs:attribute name="part" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ A XPath expression identifying a wsdl:part child of a wsdl:message.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="childElementName" type="xs:QName" use="optional">
+ <xs:annotation>
+ <xs:documentation>
+ The qualified name of a child element information item of the global type definition or global
+ element declaration referred to by the wsdl:part identified by the previous attribute. It is
+ optional and you need it only to rename parameters corresponding to wrapper style operation.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ <xs:attribute name="name" type="xs:string" use="required">
+ <xs:annotation>
+ <xs:documentation>
+ The name of the Java formal parameter corresponding to the parameter identified by the previous
+ two attributes.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:attribute>
+ </xs:complexType>
+ </xs:element>
+
+ <xs:element name="provider">
+ <xs:annotation>
+ <xs:documentation>
+ This binding declaration specifies that the annotated port will be used with the
+ jakarta.xml.ws.Provider interface.
+ </xs:documentation>
+ </xs:annotation>
+ </xs:element>
+
+</xs:schema>
diff --git a/appserver/distributions/glassfish-common/src/main/resources/README.txt b/appserver/distributions/glassfish-common/src/main/resources/README.txt
index 7294ca6..56329ab 100644
--- a/appserver/distributions/glassfish-common/src/main/resources/README.txt
+++ b/appserver/distributions/glassfish-common/src/main/resources/README.txt
@@ -1,4 +1,4 @@
-Thank you for downloading GlassFish Server Open Source Edition 5.1!
+Thank you for downloading Eclipse GlassFish 6.0.0!
Here are a few short steps to get you started...
@@ -6,14 +6,13 @@
0. Prerequisite
===============
-GlassFish 5.1 requires Oracle JDK 8 Update 191.
-Check http://www.oracle.com/technetwork/java/javase/downloads/index.html to download the JDK.
+Eclipse GlassFish 6.0.0 requires JDK 8.
-1. Installing GlassFish
-=======================
+1. Installing Eclipse GlassFish
+===============================
-Installing GlassFish is just a matter of unzipping the GlassFish archive in the desired directory. Since you are reading this, you have probably already unzipped GlassFish. If not, just type the following command in the directory where you want GlassFish to be installed : jar xvf glassfish-5.1.zip
+Installing Eclipse GlassFish is just a matter of unzipping the GlassFish archive in the desired directory. Since you are reading this, you have probably already unzipped GlassFish. If not, just type the following command in the directory where you want GlassFish to be installed : jar xvf glassfish.zip
The default domain called 'domain1' is installed and preconfigured.
@@ -46,26 +45,27 @@
Open the following local file in your browser: glassfish6/glassfish/docs/quickstart.html. It contains useful information such as the details about the pre-configured 'domain1', links to the GlassFish Documentation, etc.
+Make sure to also check the GlassFish 6.0.0 Documentation contains important information : https://glassfish.org/docs/#current
-Make sure to also check the GlassFish 5.1 Release Notes as they contains important information : https://javaee.github.io/glassfish/documentation
+If you are new to Jakarta EE, the Jakarta EE Tutorial (https://eclipse-ee4j.github.io/jakartaee-tutorial/) is a good way to learn more. The examples are tailored to run with GlassFish and this will help you get oriented.
-If you are new to Java EE, the Java EE Tutorial (see below) is a good way to learn more. The examples are tailored to run with GlassFish and this will help you get oriented.
-
-
+The Jakarta EE Examples Project also has useful code samples https://projects.eclipse.org/projects/ee4j.jakartaee-examples
5. Documentation
================
-GlassFish Documentation : https://javaee.github.io/glassfish/documentation
+Eclipse GlassFish Documentation : https://glassfish.org/docs/#current
-Java EE Tutorial : https://javaee.github.io/tutorial
-
-GlassFish Forum : https://javaee.groups.io/g/glassfish/
+Jakarta EE Information : https://jakarta.ee/
6. Follow us
============
-Make sure to follow @GlassFish and @Java_EE on Twitter and read The Aquarium Blog (https://blogs.oracle.com/TheAquarium) to get the latest news on GlassFish and Java EE.
+Eclipse GlassFish is deeloped at the Eclipse Foundation see https://projects.eclipse.org/projects/ee4j.glassfish for project details
+
+Eclipse GlassFish is developed on GitHub to view the source code or raise bugs see https://github.com/eclipse-ee4j/glassfish
+
+Join the mailing list https://projects.eclipse.org/projects/ee4j.glassfish/contact
diff --git a/appserver/distributions/glassfish/src/main/assembly/glassfish.xml b/appserver/distributions/glassfish/src/main/assembly/glassfish.xml
index dacf238..378c1c0 100644
--- a/appserver/distributions/glassfish/src/main/assembly/glassfish.xml
+++ b/appserver/distributions/glassfish/src/main/assembly/glassfish.xml
@@ -264,7 +264,7 @@
<fileSet>
<directory>${temp.dir}</directory>
<includes>
- <include>grizzly-npn-bootstrap.jar</include>
+ <include>grizzly-npn-api.jar</include>
</includes>
<outputDirectory>${install.dir.name}/glassfish/modules/endorsed</outputDirectory>
</fileSet>
@@ -313,6 +313,7 @@
<exclude>nucleus-domain.jar</exclude>
<exclude>appserver-domain.jar</exclude>
<exclude>grizzly-npn-bootstrap.jar</exclude>
+ <exclude>grizzly-npn-api.jar</exclude>
<exclude>cli-optional.jar</exclude>
<exclude>appserver-cli.jar</exclude>
<exclude>cluster-cli.jar</exclude>
diff --git a/appserver/distributions/web/src/main/assembly/web.xml b/appserver/distributions/web/src/main/assembly/web.xml
index 82b210c..580878b 100644
--- a/appserver/distributions/web/src/main/assembly/web.xml
+++ b/appserver/distributions/web/src/main/assembly/web.xml
@@ -180,7 +180,7 @@
<fileSet>
<directory>${temp.dir}</directory>
<includes>
- <include>grizzly-npn-bootstrap.jar</include>
+ <include>grizzly-npn-api.jar</include>
</includes>
<outputDirectory>${install.dir.name}/glassfish/modules/endorsed</outputDirectory>
</fileSet>
@@ -229,6 +229,7 @@
<exclude>nucleus-domain.jar</exclude>
<exclude>appserver-domain.jar</exclude>
<exclude>grizzly-npn-bootstrap.jar</exclude>
+ <exclude>grizzly-npn-api.jar</exclude>
<exclude>cli-optional.jar</exclude>
<exclude>appserver-cli.jar</exclude>
<exclude>cluster-cli.jar</exclude>
diff --git a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/interceptors/InterceptorManager.java b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/interceptors/InterceptorManager.java
index 12040d0..06cffff 100644
--- a/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/interceptors/InterceptorManager.java
+++ b/appserver/ejb/ejb-container/src/main/java/com/sun/ejb/containers/interceptors/InterceptorManager.java
@@ -27,9 +27,9 @@
import java.util.Set;
import java.util.logging.Level;
import java.util.logging.Logger;
-import jakarta.annotation.PostConstruct;
-import jakarta.ejb.EJBException;
-import jakarta.interceptor.InvocationContext;
+
+import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
+import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
import com.sun.ejb.EJBUtils;
import com.sun.ejb.containers.BaseContainer;
@@ -40,8 +40,10 @@
import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
import com.sun.enterprise.deployment.LifecycleCallbackDescriptor.CallbackType;
import com.sun.enterprise.deployment.MethodDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
+
+import jakarta.annotation.PostConstruct;
+import jakarta.ejb.EJBException;
+import jakarta.interceptor.InvocationContext;
/**
@@ -69,7 +71,7 @@
private Logger _logger;
private Class[] interceptorClasses;
-
+
private Class[] serializableInterceptorClasses;
private Map<String, Integer> instanceIndexMap
@@ -222,7 +224,7 @@
for (InterceptorDescriptor interceptor : list) {
String className = interceptor.getInterceptorClassName();
- Set<LifecycleCallbackDescriptor> aroundInvokeDescs =
+ Set<LifecycleCallbackDescriptor> aroundInvokeDescs =
interceptor.getAroundInvokeDescriptors();
if(aroundInvokeDescs.isEmpty() ) {
continue;
@@ -233,10 +235,12 @@
orderedAIInterceptors = interceptor.getOrderedAroundInvokeDescriptors(loader);
} catch (Exception e) {
throw new IllegalStateException("No AroundInvokeIntercetpors found "
- + " on class " + className, e);
+ + " on class " + className, e);
}
+
addAroundInvokeInterceptors(interceptors, interceptor,
- orderedAIInterceptors, className, loader);
+ orderedAIInterceptors, className,
+ interceptor.getInterceptorClass() != null ? interceptor.getInterceptorClass().getClassLoader() : loader);
}
AroundInvokeInterceptor[] inter = interceptors.toArray(
@@ -280,7 +284,7 @@
for (EjbInterceptor interceptor : list) {
String className = interceptor.getInterceptorClassName();
- Set<LifecycleCallbackDescriptor> aroundTimeoutDescs =
+ Set<LifecycleCallbackDescriptor> aroundTimeoutDescs =
interceptor.getAroundTimeoutDescriptors();
if(aroundTimeoutDescs.isEmpty() ) {
continue;
@@ -291,9 +295,9 @@
orderedATInterceptors = interceptor.getOrderedAroundTimeoutDescriptors(loader);
} catch (Exception e) {
throw new IllegalStateException("No AroundTimeoutIntercetpors found "
- + " on class " + className, e);
+ + " on class " + className, e);
}
- addAroundInvokeInterceptors(interceptors, interceptor,
+ addAroundInvokeInterceptors(interceptors, interceptor,
orderedATInterceptors, className, loader);
}
@@ -305,7 +309,7 @@
private void addAroundInvokeInterceptors(
List<AroundInvokeInterceptor> interceptors,
InterceptorDescriptor interceptor,
- List<LifecycleCallbackDescriptor> orderedInterceptors,
+ List<LifecycleCallbackDescriptor> orderedInterceptors,
String className,
ClassLoader classLoaderToUse) {
@@ -315,8 +319,8 @@
method = desc.getLifecycleCallbackMethodObject(classLoaderToUse);
} catch(Exception e) {
throw new IllegalStateException("No callback method of name " +
- desc.getLifecycleCallbackMethod()
- + " found on class " + className, e);
+ desc.getLifecycleCallbackMethod()
+ + " found on class " + className, e);
}
if (interceptor.getFromBeanClass()) {
@@ -328,8 +332,8 @@
throw new IllegalStateException(getInternalErrorString(className));
}
Class clazz = interceptorClasses[index];
- _logger.log(Level.FINE, "*[md.getDeclaredMethod() => "
- + method + " FOR CLAZZ: " + clazz);
+ _logger.log(Level.FINE, "*[md.getDeclaredMethod() => "
+ + method + " FOR CLAZZ: " + clazz);
interceptors.add(new AroundInvokeInterceptor(index, method));
}
}
@@ -367,10 +371,10 @@
case AROUND_CONSTRUCT:
chain = callbackChain[eventType.ordinal()];
if (container != null) {
- invContext = new CallbackInvocationContext(beanClass,
+ invContext = new CallbackInvocationContext(beanClass,
interceptorInstances, chain, eventType, container, ctx);
} else {
- invContext = new CallbackInvocationContext(beanClass,
+ invContext = new CallbackInvocationContext(beanClass,
interceptorInstances, chain, eventType, interceptorInfo);
}
if (chain != null) {
@@ -382,7 +386,7 @@
case POST_ACTIVATE:
case PRE_DESTROY:
chain = callbackChain[eventType.ordinal()];
- invContext = new CallbackInvocationContext(targetObject,
+ invContext = new CallbackInvocationContext(targetObject,
interceptorInstances, chain, eventType);
if (chain != null) {
chain.invokeNext(0, invContext);
@@ -402,9 +406,14 @@
private void buildEjbInterceptorChain()
throws Exception {
- Set<Class> listOfClasses = new HashSet<Class>();
- for(String name : ejbDesc.getInterceptorClassNames()) {
- listOfClasses.add( loader.loadClass(name));
+ Set<Class<?>> listOfClasses = new HashSet<>();
+
+ for (EjbInterceptor ejbInterceptor : ejbDesc.getInterceptorClasses()) {
+ if (ejbInterceptor.getInterceptorClass() != null) {
+ listOfClasses.add(ejbInterceptor.getInterceptorClass());
+ } else {
+ listOfClasses.add(loader.loadClass(ejbInterceptor.getInterceptorClassName()));
+ }
}
// Add framework interceptors to list, but check for existence of
@@ -430,7 +439,7 @@
throws Exception {
- Set<Class> listOfClasses = new HashSet<Class>();
+ Set<Class<?>> listOfClasses = new HashSet<>();
for(String name : interceptorInfo.getInterceptorClassNames()) {
listOfClasses.add( loader.loadClass(name));
}
@@ -460,20 +469,20 @@
}
- private void initInterceptorClasses(Set<Class> classes) throws Exception {
+ private void initInterceptorClasses(Set<Class<?>> classes) throws Exception {
int size = classes.size();
interceptorClasses = new Class[size];
serializableInterceptorClasses = new Class[size];
int index = 0;
- for (Class interClass : classes) {
+ for (Class<?> interClass : classes) {
interceptorClasses[index] = interClass;
serializableInterceptorClasses[index] = interClass;
instanceIndexMap.put(interClass.getName(), index);
if (!Serializable.class.isAssignableFrom(interClass)) {
- serializableInterceptorClasses[index] =
+ serializableInterceptorClasses[index] =
EJBUtils.loadGeneratedSerializableClass(interClass.getClassLoader(),
interClass.getName());
@@ -544,17 +553,17 @@
if (scanFor2xLifecycleMethods) {
load2xLifecycleMethods(callbacks);
}
-
+
//The next set of lines are to handle the case where
- // the app doesn't have a @PostConstruct or it
+ // the app doesn't have a @PostConstruct or it
// doesn't implement the EntrerpriseBean interface
// In this case we scan for ejbCreate() for MDBs and SLSBs
boolean lookForEjbCreateMethod = container.scanForEjbCreateMethod();
-
+
if (lookForEjbCreateMethod) {
loadOnlyEjbCreateMethod(callbacks, numPostConstructFrameworkCallbacks);
}
-
+
callbackChain = new CallbackChainImpl[size];
for (CallbackType eventType : CallbackType.values()) {
int index = eventType.ordinal();
@@ -594,8 +603,7 @@
// move above callbackChain = new CallbackChainImpl[size];
- CallbackInterceptor[] interceptors = (CallbackInterceptor[])
- callbacks.toArray(new CallbackInterceptor[callbacks.size()]);
+ CallbackInterceptor[] interceptors = callbacks.toArray(new CallbackInterceptor[callbacks.size()]);
callbackChain[index] = new CallbackChainImpl(interceptors);
}
@@ -611,8 +619,8 @@
InterceptorDescriptor inter,
ClassLoader classLoaderToUse) throws Exception {
List<CallbackInterceptor> callbackList = new ArrayList<CallbackInterceptor>();
-
- List<LifecycleCallbackDescriptor> orderedCallbackMethods =
+
+ List<LifecycleCallbackDescriptor> orderedCallbackMethods =
inter.getOrderedCallbackDescriptors(eventType, classLoaderToUse);
String className = inter.getInterceptorClassName();
@@ -623,7 +631,7 @@
method = callbackDesc.getLifecycleCallbackMethodObject(classLoaderToUse);
} catch(Exception e) {
throw new IllegalStateException("No callback method of name " +
- callbackDesc.getLifecycleCallbackMethod()
+ callbackDesc.getLifecycleCallbackMethod()
+ " found on class " + className, e);
}
@@ -657,7 +665,7 @@
try {
Method method = beanClass.getMethod(
pre30LCMethodNames[i], (Class[]) null);
- if (method != null) {
+ if (method != null) {
CallbackInterceptor meta =
new BeanCallbackInterceptor(method);
metaArray[i].add(meta);
@@ -670,8 +678,8 @@
}
}
}
-
- //TODO: load2xLifecycleMethods and loadOnlyEjbCreateMethod can be
+
+ //TODO: load2xLifecycleMethods and loadOnlyEjbCreateMethod can be
// refactored to use a common method.
private void loadOnlyEjbCreateMethod(
ArrayList<CallbackInterceptor>[] metaArray,
@@ -687,7 +695,7 @@
ArrayList<CallbackInterceptor> al = metaArray[i];
needToScan = (al.size() == numPostConstructFrameworkCallbacks);
}
-
+
if (! needToScan) {
// We already have found a @PostConstruct method
// So just ignore any ejbCreate() method
@@ -710,8 +718,9 @@
}
}
}
-
+
+ @Override
public String toString() {
StringBuilder sbldr = new StringBuilder();
sbldr.append("##########################################################\n");
@@ -793,6 +802,7 @@
this.size = (interceptors == null) ? 0 : interceptors.length;
}
+ @Override
public Object invokeNext(int index, InterceptorManager.AroundInvokeContext inv)
throws Throwable {
return ( index < size ) ?
@@ -800,6 +810,7 @@
inv.invokeBeanMethod();
}
+ @Override
public String toString() {
StringBuilder bldr = new StringBuilder();
for (AroundInvokeInterceptor inter : interceptors) {
@@ -828,6 +839,7 @@
} else {
java.security.AccessController
.doPrivileged(new java.security.PrivilegedExceptionAction() {
+ @Override
public java.lang.Object run() throws Exception {
if (!finalM.isAccessible()) {
finalM.setAccessible(true);
@@ -850,6 +862,7 @@
// allow for private/protected field access.
return java.security.AccessController
.doPrivileged(new java.security.PrivilegedExceptionAction() {
+ @Override
public java.lang.Object run() throws Exception {
return method.invoke(interceptors[index], invCtx);
}
@@ -870,6 +883,7 @@
}
}
+ @Override
public String toString() {
return "[" + index + "]: " + method;
}
@@ -884,6 +898,7 @@
super(-1, method);
}
+ @Override
Object intercept(final InterceptorManager.AroundInvokeContext invCtx) throws Throwable {
try {
@@ -892,6 +907,7 @@
// allow for private/protected field access.
return java.security.AccessController
.doPrivileged(new java.security.PrivilegedExceptionAction() {
+ @Override
public java.lang.Object run() throws Exception {
return method.invoke(invCtx.getTarget(), invCtx);
}
@@ -928,6 +944,7 @@
} else {
java.security.AccessController
.doPrivileged(new java.security.PrivilegedExceptionAction() {
+ @Override
public java.lang.Object run() throws Exception {
if (!finalM.isAccessible()) {
finalM.setAccessible(true);
@@ -941,7 +958,7 @@
}
- Object intercept(final CallbackInvocationContext invContext)
+ Object intercept(final CallbackInvocationContext invContext)
throws Throwable {
try {
@@ -953,6 +970,7 @@
// allow for private/protected field access.
return java.security.AccessController
.doPrivileged(new java.security.PrivilegedExceptionAction() {
+ @Override
public java.lang.Object run() throws Exception {
return method.invoke(interceptors[index],
invContext);
@@ -960,7 +978,7 @@
});
} else {
return method.invoke(interceptors[index], invContext);
-
+
}
} catch (java.lang.reflect.InvocationTargetException invEx) {
throw invEx.getCause();
@@ -977,6 +995,7 @@
return false;
}
+ @Override
public String toString() {
return "callback[" + index + "]: " + method;
}
@@ -990,7 +1009,8 @@
super(-1, method);
}
- Object intercept(final CallbackInvocationContext invContext)
+ @Override
+ Object intercept(final CallbackInvocationContext invContext)
throws Throwable {
try {
@@ -999,6 +1019,7 @@
// allow for private/protected field access.
java.security.AccessController
.doPrivileged(new java.security.PrivilegedExceptionAction() {
+ @Override
public java.lang.Object run() throws Exception {
method.invoke(invContext.getTarget(),
@@ -1024,10 +1045,12 @@
}
}
+ @Override
boolean isBeanCallback() {
return true;
}
+ @Override
public String toString() {
return "beancallback[" + index + "]: " + method;
}
diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/LogFacade.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/LogFacade.java
index 35a8a3b..5ff7324 100644
--- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/LogFacade.java
+++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/LogFacade.java
@@ -24,7 +24,7 @@
public final class LogFacade {
@LoggerInfo(subsystem = "GlassFish-EJB", description = "GlassFish EJB Container Logger", publish = true)
- private static final String EJB_LOGGER_NAME = "javax.enterprise.ejb.container";
+ private static final String EJB_LOGGER_NAME = "jakarta.enterprise.ejb.container";
@LogMessagesResourceBundle
private static final String EJB_LOGGER_RB = "org.glassfish.ejb.LogMessages";
diff --git a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java
index 797412b..eb3c824 100644
--- a/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java
+++ b/appserver/ejb/ejb-container/src/main/java/org/glassfish/ejb/deployment/node/EjbBundleNode.java
@@ -52,8 +52,9 @@
public final static String SCHEMA_ID_21 = "ejb-jar_2_1.xsd";
public final static String SCHEMA_ID_30 = "ejb-jar_3_0.xsd";
public final static String SCHEMA_ID_31 = "ejb-jar_3_1.xsd";
- public final static String SCHEMA_ID = "ejb-jar_3_2.xsd";
- public final static String SPEC_VERSION = "3.2";
+ public final static String SCHEMA_ID_32 = "ejb-jar_3_2.xsd";
+ public final static String SCHEMA_ID = "ejb-jar_4_0.xsd";
+ public final static String SPEC_VERSION = "4.0";
private final static List<String> systemIDs = initSystemIDs();
/**
@@ -80,6 +81,7 @@
private static List<String> initSystemIDs() {
ArrayList<String> systemIDs = new ArrayList<String>(3);
systemIDs.add(SCHEMA_ID);
+ systemIDs.add(SCHEMA_ID_32);
systemIDs.add(SCHEMA_ID_31);
systemIDs.add(SCHEMA_ID_30);
systemIDs.add(SCHEMA_ID_21);
diff --git a/appserver/extras/embedded/all/pom.xml b/appserver/extras/embedded/all/pom.xml
index d32b7ee..06d7cd0 100644
--- a/appserver/extras/embedded/all/pom.xml
+++ b/appserver/extras/embedded/all/pom.xml
@@ -362,13 +362,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>jakarta.management.j2ee</groupId>
- <artifactId>jakarta.management.j2ee-api</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -459,13 +454,6 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>org.glassfish.main.jaxr-ra</groupId>
- <artifactId>jaxr-ra-rar</artifactId>
- <version>${project.version}</version>
- <type>rar</type>
- <optional>true</optional>
- </dependency>
- <dependency>
<groupId>org.glassfish.main.batch</groupId>
<artifactId>glassfish-batch-commands</artifactId>
<version>${project.version}</version>
@@ -727,8 +715,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>org.glassfish.hk2.external</groupId>
- <artifactId>jakarta.inject</artifactId>
+ <groupId>jakarta.inject</groupId>
+ <artifactId>jakarta.inject-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -750,7 +738,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
- <artifactId>grizzly-npn-bootstrap</artifactId>
+ <artifactId>grizzly-npn-api</artifactId>
<version>${grizzly.npn.version}</version>
<optional>true</optional>
</dependency>
@@ -833,8 +821,8 @@
</dependency>
<!-- glassfish-jcdi -->
<dependency>
- <groupId>javax.enterprise</groupId>
- <artifactId>cdi-api</artifactId>
+ <groupId>jakarta.enterprise</groupId>
+ <artifactId>jakarta.enterprise.cdi-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -1318,8 +1306,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp</artifactId>
+ <groupId>org.glassfish.wasp</groupId>
+ <artifactId>wasp</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -1333,6 +1321,11 @@
<optional>true</optional>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<optional>true</optional>
@@ -1658,11 +1651,6 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>jakarta.xml.registry</groupId>
- <artifactId>jakarta.xml.registry-api</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
<groupId>org.codehaus.woodstox</groupId>
<artifactId>stax2-api</artifactId>
<optional>true</optional>
diff --git a/appserver/extras/embedded/nucleus/pom.xml b/appserver/extras/embedded/nucleus/pom.xml
index d83f358..c98ab4d 100644
--- a/appserver/extras/embedded/nucleus/pom.xml
+++ b/appserver/extras/embedded/nucleus/pom.xml
@@ -185,8 +185,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>org.glassfish.hk2.external</groupId>
- <artifactId>jakarta.inject</artifactId>
+ <groupId>jakarta.inject</groupId>
+ <artifactId>jakarta.inject-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -208,7 +208,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
- <artifactId>grizzly-npn-bootstrap</artifactId>
+ <artifactId>grizzly-npn-api</artifactId>
<version>${grizzly.npn.version}</version>
<optional>true</optional>
</dependency>
diff --git a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
index d0cb76f..ee05d94 100755
--- a/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
+++ b/appserver/extras/embedded/shell/glassfish-embedded-static-shell/pom.xml
@@ -574,7 +574,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
- <artifactId>grizzly-npn-bootstrap</artifactId>
+ <artifactId>grizzly-npn-api</artifactId>
<version>${grizzly.npn.version}</version>
<optional>true</optional>
</dependency>
@@ -1135,8 +1135,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp</artifactId>
+ <groupId>org.glassfish.wasp</groupId>
+ <artifactId>wasp</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -1150,6 +1150,11 @@
<optional>true</optional>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<optional>true</optional>
diff --git a/appserver/extras/embedded/web/pom.xml b/appserver/extras/embedded/web/pom.xml
index 5a0e31e..4a059b0 100644
--- a/appserver/extras/embedded/web/pom.xml
+++ b/appserver/extras/embedded/web/pom.xml
@@ -187,8 +187,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>org.glassfish.hk2.external</groupId>
- <artifactId>jakarta.inject</artifactId>
+ <groupId>jakarta.inject</groupId>
+ <artifactId>jakarta.inject-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -210,7 +210,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
- <artifactId>grizzly-npn-bootstrap</artifactId>
+ <artifactId>grizzly-npn-api</artifactId>
<version>${grizzly.npn.version}</version>
<optional>true</optional>
</dependency>
@@ -682,13 +682,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>jakarta.management.j2ee</groupId>
- <artifactId>jakarta.management.j2ee-api</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -1050,8 +1045,8 @@
<optional>true</optional>
</dependency>
<dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp</artifactId>
+ <groupId>org.glassfish.wasp</groupId>
+ <artifactId>wasp</artifactId>
<optional>true</optional>
</dependency>
<dependency>
@@ -1065,6 +1060,11 @@
<optional>true</optional>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <optional>true</optional>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<optional>true</optional>
@@ -1132,8 +1132,8 @@
</dependency>
<!-- glassfish-jcdi -->
<dependency>
- <groupId>javax.enterprise</groupId>
- <artifactId>cdi-api</artifactId>
+ <groupId>jakarta.enterprise</groupId>
+ <artifactId>jakarta.enterprise.cdi-api</artifactId>
<optional>true</optional>
</dependency>
<dependency>
diff --git a/appserver/extras/javaee/manifest-jar/pom.xml b/appserver/extras/javaee/manifest-jar/pom.xml
index 637999c..43a7b7a 100644
--- a/appserver/extras/javaee/manifest-jar/pom.xml
+++ b/appserver/extras/javaee/manifest-jar/pom.xml
@@ -34,7 +34,7 @@
<configuration>
<archive>
<manifestEntries>
- <Class-Path>../modules/jakarta.servlet-api.jar ../modules/jakarta.annotation-api.jar ../modules/jakarta.ejb-api.jar ../modules/jakarta.transaction-api.jar ../modules/jakarta.management.j2ee-api.jar ../modules/jakarta.resource-api.jar ../modules/jakarta.security.auth.message-api.jar ../modules/jakarta.authorization-api.jar ../modules/webservices-osgi.jar ../modules/jaxb-osgi.jar ../modules/jakarta.xml.bind-api.jar ../modules/webservices-api-osgi.jar ../modules/jakarta.mail.jar ../modules/jakarta.activation.jar ../modules/jakarta.faces.jar ../modules/jakarta.servlet.jsp-api.jar ../modules/jakarta.el.jar ../modules/jakarta.servlet.jsp.jstl-api.jar ../modules/jakarta.persistence.jar ../modules/jakarta.jms-api.jar ../modules/hibernate-validator.jar ../modules/validation.jar ../modules/cdi-api.jar ../../mq/lib/jaxm-api.jar ../modules/jakarta.ws.rs-api.jar ../modules/jakarta.json.jar ../modules/jakarta.json.bind-api.jar ../modules/jakarta.websocket-api.jar ../modules/jakarta.enterprise.concurrent-api.jar ../modules/jakarta.batch-api.jar ../modules/jakarta.inject-api.jar</Class-Path>
+ <Class-Path>../modules/jakarta.servlet-api.jar ../modules/jakarta.annotation-api.jar ../modules/jakarta.ejb-api.jar ../modules/jakarta.transaction-api.jar ../modules/jakarta.management.j2ee-api.jar ../modules/jakarta.resource-api.jar ../modules/jakarta.authentication-api.jar ../modules/jakarta.authorization-api.jar ../modules/webservices-osgi.jar ../modules/jaxb-osgi.jar ../modules/jakarta.xml.bind-api.jar ../modules/webservices-api-osgi.jar ../modules/jakarta.mail.jar ../modules/jakarta.activation.jar ../modules/jakarta.faces.jar ../modules/jakarta.servlet.jsp-api.jar ../modules/jakarta.el.jar ../modules/jakarta.el-api.jar ../modules/jakarta.servlet.jsp.jstl-api.jar ../modules/jakarta.persistence.jar ../modules/jakarta.jms-api.jar ../modules/hibernate-validator.jar ../modules/validation.jar ../modules/cdi-api.jar ../../mq/lib/jaxm-api.jar ../modules/jakarta.ws.rs-api.jar ../modules/jakarta.json.jar ../modules/jakarta.json.bind-api.jar ../modules/jakarta.websocket-api.jar ../modules/jakarta.enterprise.concurrent-api.jar ../modules/jakarta.batch-api.jar ../modules/jakarta.inject-api.jar</Class-Path>
<GlassFish-ServerExcluded>true</GlassFish-ServerExcluded>
</manifestEntries>
</archive>
diff --git a/appserver/featuresets/web/pom.xml b/appserver/featuresets/web/pom.xml
index d9c0b78..4ab4e86 100644
--- a/appserver/featuresets/web/pom.xml
+++ b/appserver/featuresets/web/pom.xml
@@ -613,8 +613,8 @@
</exclusions>
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
<exclusions>
<exclusion>
<groupId>*</groupId>
@@ -1069,8 +1069,8 @@
</exclusions>
</dependency>
<dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp</artifactId>
+ <groupId>org.glassfish.wasp</groupId>
+ <artifactId>wasp</artifactId>
<exclusions>
<exclusion>
<groupId>*</groupId>
@@ -1099,6 +1099,16 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<exclusions>
@@ -1220,6 +1230,11 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>org.glassfish.soteria</groupId>
+ <artifactId>soteria.spi.bean.decorator.weld</artifactId>
+ <exclusions><exclusion><groupId>*</groupId><artifactId>*</artifactId></exclusion></exclusions>
+ </dependency>
+ <dependency>
<groupId>jakarta.security.enterprise</groupId>
<artifactId>jakarta.security.enterprise-api</artifactId>
<exclusions>
diff --git a/appserver/grizzly/glassfish-grizzly-extra-all/src/main/java/org/glassfish/grizzly/extras/addons/AjpAddOnProvider.java b/appserver/grizzly/glassfish-grizzly-extra-all/src/main/java/org/glassfish/grizzly/extras/addons/AjpAddOnProvider.java
index 0810450..dbb74ed 100644
--- a/appserver/grizzly/glassfish-grizzly-extra-all/src/main/java/org/glassfish/grizzly/extras/addons/AjpAddOnProvider.java
+++ b/appserver/grizzly/glassfish-grizzly-extra-all/src/main/java/org/glassfish/grizzly/extras/addons/AjpAddOnProvider.java
@@ -42,7 +42,7 @@
@ContractsProvided({AjpAddOnProvider.class, AddOn.class})
public class AjpAddOnProvider extends AjpAddOn implements ConfigAwareElement<Http> {
- protected static final Logger _logger = Logger.getLogger("javax.enterprise.web");
+ protected static final Logger _logger = Logger.getLogger("jakarta.enterprise.web");
@Override
public void configure(final ServiceLocator habitat,
diff --git a/appserver/jdbc/admin/pom.xml b/appserver/jdbc/admin/pom.xml
index c57ae91..ffcc951 100644
--- a/appserver/jdbc/admin/pom.xml
+++ b/appserver/jdbc/admin/pom.xml
@@ -102,6 +102,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/appserver/jdbc/jdbc-runtime/pom.xml b/appserver/jdbc/jdbc-runtime/pom.xml
index d8a86db..24fcbb4 100644
--- a/appserver/jdbc/jdbc-runtime/pom.xml
+++ b/appserver/jdbc/jdbc-runtime/pom.xml
@@ -66,6 +66,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/appserver/jms/admin/src/main/java/org/glassfish/jms/admin/cli/LogUtils.java b/appserver/jms/admin/src/main/java/org/glassfish/jms/admin/cli/LogUtils.java
index 0f485a4..f3dba0d 100644
--- a/appserver/jms/admin/src/main/java/org/glassfish/jms/admin/cli/LogUtils.java
+++ b/appserver/jms/admin/src/main/java/org/glassfish/jms/admin/cli/LogUtils.java
@@ -20,5 +20,5 @@
public class LogUtils {
@LoggerInfo(subsystem="JMS_ADMIN", description="Main JMS Logger", publish=true)
- public static final String JMS_ADMIN_LOGGER = "javax.enterprise.system.tools.admin";
+ public static final String JMS_ADMIN_LOGGER = "jakarta.enterprise.system.tools.admin";
}
diff --git a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java
index bc13344..0879c49 100644
--- a/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java
+++ b/appserver/jms/gf-jms-injection/src/main/java/org/glassfish/jms/injection/InjectableJMSContext.java
@@ -53,7 +53,7 @@
// All fields are therefore either serializable or transient
@LoggerInfo(subsystem="JMS_INJECTION", description="JMS Injection Logger", publish=true)
- public static final String JMS_INJECTION_LOGGER = "javax.enterprise.resource.jms.injection";
+ public static final String JMS_INJECTION_LOGGER = "jakarta.enterprise.resource.jms.injection";
private static final Logger logger = Logger.getLogger(JMS_INJECTION_LOGGER);
private final static LocalStringManagerImpl localStrings = new LocalStringManagerImpl(InjectableJMSContext.class);
diff --git a/appserver/jms/jms-core/src/main/java/com/sun/enterprise/connectors/jms/JMSLoggerInfo.java b/appserver/jms/jms-core/src/main/java/com/sun/enterprise/connectors/jms/JMSLoggerInfo.java
index f38ef38..7773495 100644
--- a/appserver/jms/jms-core/src/main/java/com/sun/enterprise/connectors/jms/JMSLoggerInfo.java
+++ b/appserver/jms/jms-core/src/main/java/com/sun/enterprise/connectors/jms/JMSLoggerInfo.java
@@ -32,7 +32,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.connectors.jms.LogMessages";
@LoggerInfo(subsystem="JMS", description="Main JMS Logger", publish=true)
- public static final String JMS_MAIN_LOGGER = "javax.enterprise.resource.jms";
+ public static final String JMS_MAIN_LOGGER = "jakarta.enterprise.resource.jms";
private static final Logger jmsLogger =
Logger.getLogger(JMS_MAIN_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/logging/logging.properties b/appserver/logging/logging.properties
index e11faf3..95b8809 100644
--- a/appserver/logging/logging.properties
+++ b/appserver/logging/logging.properties
@@ -14,28 +14,28 @@
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#
-javax.enterprise.resource.corba.level=INFO
-javax.enterprise.resource.jta.level=INFO
-javax.enterprise.system.webservices.saaj.level=INFO
-javax.enterprise.system.container.ejb.level=INFO
-javax.enterprise.system.container.ejb.mdb.level=INFO
-javax.enterprise.resource.mail.level=INFO
-javax.enterprise.system.webservices.rpc.level=INFO
-javax.enterprise.system.container.web.level=INFO
-javax.enterprise.resource.jms.level=INFO
-javax.enterprise.system.webservices.registry.level=INFO
-javax.enterprise.resource.webcontainer.jsf.application.level=INFO
-javax.enterprise.resource.webcontainer.jsf.resource.level=INFO
-javax.enterprise.resource.webcontainer.jsf.config.level=INFO
-javax.enterprise.resource.webcontainer.jsf.context.level=INFO
-javax.enterprise.resource.webcontainer.jsf.facelets.level=INFO
-javax.enterprise.resource.webcontainer.jsf.lifecycle.level=INFO
-javax.enterprise.resource.webcontainer.jsf.managedbean.level=INFO
-javax.enterprise.resource.webcontainer.jsf.renderkit.level=INFO
-javax.enterprise.resource.webcontainer.jsf.taglib.level=INFO
-javax.enterprise.resource.webcontainer.jsf.timing.level=INFO
+jakarta.enterprise.resource.corba.level=INFO
+jakarta.enterprise.resource.jta.level=INFO
+jakarta.enterprise.system.webservices.saaj.level=INFO
+jakarta.enterprise.system.container.ejb.level=INFO
+jakarta.enterprise.system.container.ejb.mdb.level=INFO
+jakarta.enterprise.resource.mail.level=INFO
+jakarta.enterprise.system.webservices.rpc.level=INFO
+jakarta.enterprise.system.container.web.level=INFO
+jakarta.enterprise.resource.jms.level=INFO
+jakarta.enterprise.system.webservices.registry.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.application.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.resource.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.config.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.context.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.facelets.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.lifecycle.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.managedbean.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.renderkit.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.taglib.level=INFO
+jakarta.enterprise.resource.webcontainer.jsf.timing.level=INFO
javax.org.glassfish.persistence.level=INFO
-javax.enterprise.system.tools.backup.level=INFO
+jakarta.enterprise.system.tools.backup.level=INFO
jakarta.mail.level=INFO
org.glassfish.admingui.level=INFO
org.glassfish.naming.level=INFO
diff --git a/appserver/orb/orb-connector/pom.xml b/appserver/orb/orb-connector/pom.xml
index f7e43e7..e92e5cf 100755
--- a/appserver/orb/orb-connector/pom.xml
+++ b/appserver/orb/orb-connector/pom.xml
@@ -73,10 +73,6 @@
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-core</artifactId>
</dependency>
- <dependency>
- <groupId>jakarta.el</groupId>
- <artifactId>jakarta.el-api</artifactId>
- </dependency>
<dependency>
<groupId>org.glassfish.main.deployment</groupId>
<artifactId>dol</artifactId>
@@ -129,6 +125,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java
index 8ca969c..c642622 100644
--- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java
+++ b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityFinder.java
@@ -28,7 +28,7 @@
/** The component name for this component
*/
- protected static final String componentName = "javax.enterprise.system.container.ejb.entity.finder"; //NOI18N
+ protected static final String componentName = "jakarta.enterprise.system.container.ejb.entity.finder"; //NOI18N
/** The class loader for this component
*/
diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java
index 6a09024..d87566a 100644
--- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java
+++ b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityInternal.java
@@ -28,7 +28,7 @@
/** The component name for this component
*/
- protected static final String componentName = "javax.enterprise.system.container.ejb.entity.internal"; //NOI18N
+ protected static final String componentName = "jakarta.enterprise.system.container.ejb.entity.internal"; //NOI18N
/** The class loader for this component
*/
diff --git a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java
index 294b03c..b61684f 100644
--- a/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java
+++ b/appserver/persistence/cmp/support-ejb/src/main/java/com/sun/jdo/spi/persistence/support/ejb/cmp/LogHelperEntityLifecycle.java
@@ -28,7 +28,7 @@
/** The component name for this component
*/
- protected static final String componentName = "javax.enterprise.system.container.ejb.entity.lifecycle"; //NOI18N
+ protected static final String componentName = "jakarta.enterprise.system.container.ejb.entity.lifecycle"; //NOI18N
/** The class loader for this component
*/
diff --git a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java
index a243b4b..c1a2f3b 100644
--- a/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java
+++ b/appserver/persistence/cmp/support-sqlstore/src/main/java/com/sun/jdo/spi/persistence/support/sqlstore/ejb/LoggerFactoryiAS.java
@@ -33,7 +33,7 @@
/** The top level of the logger domain for application server.
*/
- protected String DOMAIN_ROOT = "javax.enterprise.resource.jdo."; //NOI18N
+ protected String DOMAIN_ROOT = "jakarta.enterprise.resource.jdo."; //NOI18N
/** Creates new LoggerFactory */
public LoggerFactoryiAS() {
diff --git a/appserver/pom.xml b/appserver/pom.xml
index 1e4765a..dd20762 100644
--- a/appserver/pom.xml
+++ b/appserver/pom.xml
@@ -67,9 +67,6 @@
<module>webservices</module>
<module>orb</module>
<module>appclient</module>
- <module>verifier/verifier-impl</module>
- <module>verifier/verifier-scripts</module>
- <module>verifier/verifier-jdk-extension-bundle</module>
<module>ant-tasks</module>
</modules>
@@ -92,90 +89,89 @@
<update_version>0</update_version>
<install.dir.name>glassfish6</install.dir.name>
- <javaee.major_version>8</javaee.major_version>
+ <javaee.major_version>9</javaee.major_version>
<javaee.version_qualifier>-b${build.id}</javaee.version_qualifier>
<javaee.version>${javaee.major_version}.${minor_version}${javaee.version_qualifier}</javaee.version>
<!-- Jakarta Faces -->
- <jakarta.faces-api.version>3.0.0-RC1</jakarta.faces-api.version>
- <mojarra.version>3.0.0-RC2</mojarra.version>
+ <jakarta.faces-api.version>3.0.0</jakarta.faces-api.version>
+ <mojarra.version>3.0.0</mojarra.version>
<!-- Jakarta WebSocket -->
- <websocket-api.version>2.0.0-M1</websocket-api.version>
- <tyrus.version>2.0.0-M2</tyrus.version>
+ <websocket-api.version>2.0.0</websocket-api.version>
+ <tyrus.version>2.0.0</tyrus.version>
<!-- Jakarta Concurrency -->
- <concurrent-api.version>2.0.0-RC2</concurrent-api.version>
- <concurrent.version>2.0.0-RC2</concurrent.version>
+ <concurrent-api.version>2.0.0</concurrent-api.version>
+ <concurrent.version>2.0.0</concurrent.version>
<!-- Jakarta Interceptors -->
- <jakarta.interceptor-api.version>2.0.0-RC2</jakarta.interceptor-api.version>
+ <jakarta.interceptor-api.version>2.0.0</jakarta.interceptor-api.version>
<!-- Jakarta EE Security + Authentication/Authorization -->
- <jakarta.security.enterprise-api.version>2.0.0-RC2</jakarta.security.enterprise-api.version>
- <jakarta.authorization-api.version>2.0.0-RC1</jakarta.authorization-api.version>
- <jakarta.security.auth.message-api.version>2.0.0-RC1</jakarta.security.auth.message-api.version>
- <jakarta.security.enterprise.version>1.0.1</jakarta.security.enterprise.version>
+ <jakarta.security.enterprise-api.version>2.0.0</jakarta.security.enterprise-api.version>
+ <jakarta.authorization-api.version>2.0.0</jakarta.authorization-api.version>
+ <jakarta.authentication-api.version>2.0.0</jakarta.authentication-api.version>
+ <soteria.version>2.0.1</soteria.version>
<!-- Jakarta Messaging -->
- <jms-api.version>3.0.0-RC1</jms-api.version>
- <mq.version>6.0.0-M1</mq.version>
+ <jms-api.version>3.0.0</jms-api.version>
+ <mq.version>6.0.0</mq.version>
<!-- Jakarta Persistence -->
- <jakarta-persistence-api.version>3.0.0-RC2</jakarta-persistence-api.version>
- <eclipselink.version>3.0.0-M1</eclipselink.version>
+ <jakarta-persistence-api.version>3.0.0</jakarta-persistence-api.version>
+ <eclipselink.version>3.0.0</eclipselink.version>
<!-- Jakarta Transactions -->
- <jakarta.transaction-api.version>2.0.0-RC2</jakarta.transaction-api.version>
+ <jakarta.transaction-api.version>2.0.0</jakarta.transaction-api.version>
<!-- Jakarta Connectors -->
- <jakarta.resource-api.version>2.0.0-RC1</jakarta.resource-api.version>
+ <jakarta.resource-api.version>2.0.0</jakarta.resource-api.version>
<!-- Jakarta Batch -->
- <jakarta.batch-api.version>2.0.0-M2</jakarta.batch-api.version>
- <com.ibm.jbatch.container.version>2.0.0-M3</com.ibm.jbatch.container.version>
- <com.ibm.jbatch.spi.version>2.0.0-M3</com.ibm.jbatch.spi.version>
+ <jakarta.batch-api.version>2.0.0</jakarta.batch-api.version>
+ <com.ibm.jbatch.container.version>2.0.0</com.ibm.jbatch.container.version>
+ <com.ibm.jbatch.spi.version>2.0.0</com.ibm.jbatch.spi.version>
<!-- Jakarta Enterprise beans -->
- <jakarta.ejb-api.version>4.0.0-RC2</jakarta.ejb-api.version>
+ <jakarta.ejb-api.version>4.0.0</jakarta.ejb-api.version>
<!-- Jakarta JSON -->
- <jsonp-api.version>2.0.0-RC2</jsonp-api.version>
- <jsonp-ri.version>2.0.0-RC2</jsonp-ri.version>
- <jsonp-jaxrs.version>2.0.0-RC2</jsonp-jaxrs.version>
- <json.bind-api.version>2.0.0-RC2</json.bind-api.version>
- <yasson.version>2.0.0-M2</yasson.version>
+ <jsonp-api.version>2.0.0</jsonp-api.version>
+ <jsonp-ri.version>2.0.0</jsonp-ri.version>
+ <jsonp-jaxrs.version>2.0.0</jsonp-jaxrs.version>
+ <json.bind-api.version>2.0.0</json.bind-api.version>
+ <yasson.version>2.0.1</yasson.version>
<!-- Jakarta Server Pages -->
- <jsp-api.version>3.0.0-M1</jsp-api.version>
- <jsp-impl.version>3.0.0-RC1</jsp-impl.version>
-
+ <jsp-api.version>3.0.0</jsp-api.version>
+ <wasp.version>3.0.1</wasp.version>
+
<!-- Used for Jakarta XML Web Services -->
- <woodstox.version>5.3.0</woodstox.version>
+ <woodstox.version>6.2.1</woodstox.version>
<stax2-api.version>4.2.1</stax2-api.version>
+
<jaxws-api.version>2.3.1</jaxws-api.version>
<soap-api.version>1.4.0</soap-api.version>
<jakarta.jws-api.version>2.1.0</jakarta.jws-api.version>
<!-- Jakarta Standard Tag Library -->
- <jstl-api.version>2.0.0-RC1</jstl-api.version>
- <jstl-impl.version>2.0.0-M1</jstl-impl.version>
-
+ <jstl-api.version>2.0.0</jstl-api.version>
+ <jstl-impl.version>2.0.0</jstl-impl.version>
+
<!-- CDI -->
- <cdi-api.version>3.0.0-M4</cdi-api.version>
- <weld.version>4.0.0.Alpha2</weld.version>
- <jboss.classfilewriter.version>1.2.1.Final</jboss.classfilewriter.version>
-
+ <cdi-api.version>3.0.0</cdi-api.version>
+ <weld.version>4.0.0.Final</weld.version>
+ <jboss.classfilewriter.version>1.2.4.Final</jboss.classfilewriter.version>
<!-- Admin console components -->
- <jsftemplating.version>3.0.0-M2</jsftemplating.version>
+ <jsftemplating.version>3.0.0</jsftemplating.version>
<jsf-ext.version>0.2</jsf-ext.version>
- <woodstock.version>5.0.0-M1</woodstock.version>
+ <woodstock.version>5.0.0</woodstock.version>
<!-- Other -->
-
<dbschema.version>6.7</dbschema.version>
<schema2beans.version>6.7</schema2beans.version>
<derby.version>10.13.1.3</derby.version>
@@ -238,9 +234,9 @@
<version>${jakarta.security.enterprise-api.version}</version>
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
- <version>${jakarta.security.auth.message-api.version}</version>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
+ <version>${jakarta.authentication-api.version}</version>
</dependency>
<dependency>
<groupId>jakarta.authorization</groupId>
@@ -256,7 +252,12 @@
<dependency>
<groupId>org.glassfish.soteria</groupId>
<artifactId>jakarta.security.enterprise</artifactId>
- <version>${jakarta.security.enterprise.version}</version>
+ <version>${soteria.version}</version>
+ </dependency>
+ <dependency>
+ <groupId>org.glassfish.soteria</groupId>
+ <artifactId>soteria.spi.bean.decorator.weld</artifactId>
+ <version>${soteria.version}</version>
</dependency>
<!-- Jakarta Messaging -->
@@ -361,7 +362,7 @@
<version>${hibernate-validator.version}</version>
</dependency>
- <!-- Jakarta Expression Language -->
+ <!-- Jakarta Expression Language Impl -->
<dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
@@ -409,9 +410,9 @@
<version>${jsp-api.version}</version>
</dependency>
<dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp</artifactId>
- <version>${jsp-impl.version}</version>
+ <groupId>org.glassfish.wasp</groupId>
+ <artifactId>wasp</artifactId>
+ <version>${wasp.version}</version>
</dependency>
<!-- Jakarta XML Web Services -->
@@ -674,7 +675,7 @@
<version>2.1</version>
<configuration>
<dir>${stage.dir}/${install.dir.name}/glassfish/modules</dir>
- <excludes>jakarta.inject-api.jar,jakarta.servlet.jsp.jstl.jar,jakarta.servlet.jsp.jar,jakarta.enterprise.concurrent.jar,
+ <excludes>jakarta.inject-api.jar,jakarta.servlet.jsp.jstl.jar,wasp.jar,jakarta.enterprise.concurrent.jar,
jakarta.persistence.jar</excludes>
<specs>
<spec>
@@ -742,14 +743,14 @@
</spec>
<spec>
<artifact>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
- <version>${jakarta.security.auth.message-api.version}</version>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
+ <version>${jakarta.authentication-api.version}</version>
</artifact>
<nonFinal>false</nonFinal>
<jarType>api</jarType>
- <specVersion>${jakarta.security.auth.message-api.version}</specVersion>
- <specImplVersion>${jakarta.security.auth.message-api.version}</specImplVersion>
+ <specVersion>${jakarta.authentication.version}</specVersion>
+ <specImplVersion>${jakarta.authentication-api.version}</specImplVersion>
<apiPackage>jakarta.security.auth.message</apiPackage>
</spec>
<spec>
diff --git a/appserver/resources/mail/mail-connector/pom.xml b/appserver/resources/mail/mail-connector/pom.xml
index cb67b28..16966c8 100644
--- a/appserver/resources/mail/mail-connector/pom.xml
+++ b/appserver/resources/mail/mail-connector/pom.xml
@@ -91,6 +91,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/appserver/resources/resources-connector/pom.xml b/appserver/resources/resources-connector/pom.xml
index 11b7089..afc39f9 100755
--- a/appserver/resources/resources-connector/pom.xml
+++ b/appserver/resources/resources-connector/pom.xml
@@ -61,10 +61,6 @@
<groupId>org.glassfish.hk2</groupId>
<artifactId>hk2-core</artifactId>
</dependency>
- <dependency>
- <groupId>jakarta.el</groupId>
- <artifactId>jakarta.el-api</artifactId>
- </dependency>
<dependency>
<groupId>org.glassfish.main.common</groupId>
<artifactId>common-util</artifactId>
@@ -103,6 +99,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/appserver/security/core-ee/pom.xml b/appserver/security/core-ee/pom.xml
index 62660ef..7799215 100644
--- a/appserver/security/core-ee/pom.xml
+++ b/appserver/security/core-ee/pom.xml
@@ -199,8 +199,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.authorization</groupId>
diff --git a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/web/integration/LogUtils.java b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/web/integration/LogUtils.java
index 1a38399..e55b1ed 100644
--- a/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/web/integration/LogUtils.java
+++ b/appserver/security/core-ee/src/main/java/com/sun/enterprise/security/web/integration/LogUtils.java
@@ -33,7 +33,7 @@
public static final String LOG_MESSAGES = "com.sun.enterprise.security.web.integration.LogMessages";
@LoggerInfo(subsystem = "SECURITY", description = "Core-ee Security Logger", publish = true)
- public static final String LOG_DOMAIN = "javax.enterprise.system.core.security.web";
+ public static final String LOG_DOMAIN = "jakarta.enterprise.system.core.security.web";
private static final Logger LOGGER = Logger.getLogger(LOG_DOMAIN, LOG_MESSAGES);
diff --git a/appserver/security/jaspic-provider-framework/pom.xml b/appserver/security/jaspic-provider-framework/pom.xml
index 60ecd84..3ae364a 100644
--- a/appserver/security/jaspic-provider-framework/pom.xml
+++ b/appserver/security/jaspic-provider-framework/pom.xml
@@ -38,8 +38,8 @@
<!-- Don't set scope as provided. See issue #5992 -->
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.authorization</groupId>
diff --git a/appserver/security/security-all/pom.xml b/appserver/security/security-all/pom.xml
index 926d77f..ecc9333 100644
--- a/appserver/security/security-all/pom.xml
+++ b/appserver/security/security-all/pom.xml
@@ -55,8 +55,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
</dependency>
<dependency>
<groupId>jakarta.authorization</groupId>
diff --git a/appserver/security/security-dol/pom.xml b/appserver/security/security-dol/pom.xml
deleted file mode 100644
index b085b8c..0000000
--- a/appserver/security/security-dol/pom.xml
+++ /dev/null
@@ -1,74 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2012, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.glassfish.main.security</groupId>
- <artifactId>securitymodule</artifactId>
- <version>6.0.0-SNAPSHOT</version>
- <relativePath>../pom.xml</relativePath>
- </parent>
- <artifactId>security-dol</artifactId>
- <packaging>glassfish-jar</packaging>
-
- <name>Security DOL Integration</name>
-
- <developers>
- <developer>
- <id>kumarjayanti</id>
- <name>V B Kumar Jayanti</name>
- <organization>Oracle, Inc.</organization>
- <roles>
- <role>developer</role>
- </roles>
- </developer>
- <developer>
- <id>nitkal</id>
- <name>Nithya Subramanian</name>
- <organization>Oracle, Inc.</organization>
- <roles>
- <role>developer</role>
- </roles>
- </developer>
- </developers>
- <build>
- <sourceDirectory>src/main/java</sourceDirectory>
- <resources>
- <resource>
- <directory>src/main/java</directory>
- <includes>
- <include>**/*.properties</include>
- </includes>
- </resource>
- </resources>
- </build>
-
- <dependencies>
- <dependency>
- <groupId>org.glassfish.hk2</groupId>
- <artifactId>core</artifactId>
- </dependency>
- <dependency>
- <groupId>org.glassfish.main.deployment</groupId>
- <artifactId>dol</artifactId>
- <version>${project.version}</version>
- </dependency>
- </dependencies>
-</project>
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/AuthMechanism.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/AuthMechanism.java
deleted file mode 100644
index 650bf08..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/AuthMechanism.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment;
-
-import com.sun.enterprise.deployment.PoolManagerConstants;
-import com.sun.enterprise.deployment.xml.ConnectorTagNames;
-import org.glassfish.deployment.common.Descriptor;
-
-/**
- * This class encapsulates the xml tags: description, auth-mech-type and
- * credential-interface in the connector specification.
- * @author Sheetal Vartak
- */
-public class AuthMechanism extends Descriptor {
-
- private int authMechVal;
- private String credInterface;
-
- /**
- * Default constructor.
- */
- public AuthMechanism(){}
-
- /**
- * Initializes the data members.
- * @param description description
- * @param authMechVal authentication mechanism type.
- * @param credInterface credential interface type.
- */
- public AuthMechanism(String description, int authMechVal,
- String credInterface) {
- super.setDescription(description);
- this.authMechVal = authMechVal;
- this.credInterface = credInterface;
- }
-
- /**
- * Set the credential interface.
- * @param cred the interface.
- */
- public void setCredentialInterface(String cred) {
- credInterface = cred;
- }
-
- /**
- * Get the credential interface.
- * @return credInterface the interface.
- */
- public String getCredentialInterface() {
- return credInterface;
- }
-
- /**
- * Get the description
- * @return description.
- */
- public String getDescription(){
- return super.getDescription();
- }
-
- /**
- * Sets the description
- * @param description.
- */
- public void setDescription(String description){
- super.setDescription(description);
- }
-
- /**
- * Get the auth-mech-type
- * @return authMechVal the authentication mechanism type
- */
- public String getAuthMechType() {
- if(authMechVal == PoolManagerConstants.BASIC_PASSWORD)
- return ConnectorTagNames.DD_BASIC_PASSWORD;
- else
- return ConnectorTagNames.DD_KERBEROS;
- }
-
- public static int getAuthMechInt(String value){
- if(value.trim().equals(ConnectorTagNames.DD_BASIC_PASSWORD)){
- return PoolManagerConstants.BASIC_PASSWORD;
- }else if((value.trim()).equals(ConnectorTagNames.DD_KERBEROS)){
- return PoolManagerConstants.KERBV5;
- }else{
- throw new IllegalArgumentException("Invalid auth-mech-type");// put this in localStrings...
- }
- }
-
- /**
- * Get the authentication mechanism value.
- */
- public int getAuthMechVal() {
- return authMechVal;
- }
-
- /**
- * Set the authentication mechanism value.
- */
- public void setAuthMechVal(int value) {
- authMechVal = value;
- }
-
- /**
- * Set the authentication mechanism value.
- */
- public void setAuthMechVal(String value) {
- if((value.trim()).equals(ConnectorTagNames.DD_BASIC_PASSWORD))
- authMechVal = PoolManagerConstants.BASIC_PASSWORD;
- else if((value.trim()).equals(ConnectorTagNames.DD_KERBEROS))
- authMechVal = PoolManagerConstants.KERBV5;
- else throw new IllegalArgumentException("Invalid auth-mech-type");// put this in localStrings...
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/AuthorizationConstraintImpl.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/AuthorizationConstraintImpl.java
deleted file mode 100644
index 14734bc..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/AuthorizationConstraintImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment;
-
-import com.sun.enterprise.deployment.web.AuthorizationConstraint;
-import com.sun.enterprise.deployment.web.SecurityRole;
-import org.glassfish.deployment.common.Descriptor;
-
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.Vector;
-
-/**
- * This descriptor represents an authorization contraint on a security
- * constraint in a web application.
- *
- * @author Danny Coward
- */
-
-public class AuthorizationConstraintImpl extends Descriptor implements
- AuthorizationConstraint {
- private Set securityRoles;
-
- /**
- * Default constructor that creates an AuthorizationConstraint
- * with no roles.
- */
- public AuthorizationConstraintImpl() {
- }
-
- /**
- * Copy constructor.
- */
- public AuthorizationConstraintImpl(AuthorizationConstraintImpl other) {
- this.securityRoles = new HashSet(other.getSecurityRoleSet());
- }
-
- /**
- * Return the set of roles.
- */
- private Set getSecurityRoleSet() {
- if (this.securityRoles == null) {
- this.securityRoles = new HashSet();
- }
- return this.securityRoles;
- }
-
- /**
- * Return the security roles involved in this constraint. The
- * enumeration is empty if there are none.
- * @return the enumeration of security roles in this constraint.
- */
- public Enumeration getSecurityRoles() {
- if (this.securityRoles == null) {
- this.securityRoles = new HashSet();
- }
- return (new Vector(this.getSecurityRoleSet())).elements();
- }
-
- /**
- * Adds a role to the authorization constraint.
- * @param the role to be added.
- */
- public void addSecurityRole(SecurityRole securityRole) {
- this.getSecurityRoleSet().add(securityRole);
- }
-
- /**
- * Adds a role to the authorization constraint
- * @param the role name to be added
- */
- public void addSecurityRole(String roleName) {
- SecurityRoleDescriptor sr = new SecurityRoleDescriptor();
- sr.setName(roleName);
- addSecurityRole(sr);
- }
-
- /**
- * Removes the given role from the autrhorization constraint.
- * @param the role to be removed.
- */
- public void removeSecurityRole(SecurityRole securityRole) {
- this.getSecurityRoleSet().remove(securityRole);
- }
-
- /**
- * Prints a formatted representation of this object.
- */
- public void print(StringBuffer toStringBuffer) {
- toStringBuffer.append("AuthorizationConstraint ");
- super.print(toStringBuffer);
- toStringBuffer.append(" securityRoles ").append(this.securityRoles);
- }
-
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/LocalStrings.properties b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/LocalStrings.properties
deleted file mode 100644
index 1268c92..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/LocalStrings.properties
+++ /dev/null
@@ -1,203 +0,0 @@
-#
-# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-enterprise.deployment.noonmessagemethod=onMessage() is not defined for EJB class
-enterprise.deployment.msgbeantxattrnotvalid=Invalid transaction attribute for message-driven bean
-enterprise.deployment.no_classloader=Cannot create a classloader.
-enterprise.deployment.noclientjarentry=Warning: [{0}] not found as a client jar entry.
-enterprise.deployment.invalid_format=Invalid Format - No deployment descriptor entry in the manifest.
-enterprise.deployment.application.description=Application description
-enterprise.deployment.exceptionapphasnobeannamed=This application has no beans of name [{0}]
-enterprise.deployment.exceptionapphasnoejbjarnamed=This application has no EJB JAR of name [{0}]
-enterprise.deployment.exceptionapphasnoappclientname=This application has no application clients of name [{0}]
-enterprise.deployment.exceptionapphasnowebappname=This application has no web app of name [{0}]
-enterprise.deployment.exceptionclassloadercouldnotbemade=Class loader could not be made
-enterprise.deployment.exceptionparsingdescriptor=Exception parsing descriptor [{0}]
-enterprise.deployment.exceptionjarfiledoesn'texist=[{0}] does not exist
-enterprise.deployment.exceptionnodeploymentinfofound=No deployment info found - invalid format
-enterprise.deployment.classsave=Class loadable save
-enterprise.deployment.exceptionerrorsavingjar=Error saving JAR
-enterprise.deployment.errorsavingentry=Error saving entry [{0}]
-enterprise.deployment.exceptioncannotaddtoejbjar=cannot add to an ejb JAR not container in this application
-enterprise.deployment.addfiletocomponentincontainer=Add [{0}] to [{1}] in [{2}]
-enterprise.deployment.errorrenamingjarfiletoappfile=Error renaming JAR [{0}] to [{1}]
-enterprise.deployment.errorrenamingjar=Error renaming JAR
-enterprise.deployment.exceptionbundledescriptorunknowntype=[{0}] is an unknown type for removing
-enterprise.deployment.exceptionarchiveurinotfoundinappjar=[{0}] not found in [{1}]
-enterprise.deployment.packageappclassesmainclassdescriptorinfileintodestfil=Package app client classes [{0}] with main class [{1}] using descriptor in [{2}] into the file [{3}]
-enterprise.deployment.exceptioncannotpackageappclient=Cannot package Application Client: [{0}] does not exist.
-enterprise.deployment.exceptionincludeclassfileinpackcommand=You must include the class file for [{0}] in the packaging command
-enterprise.deployment.createdappclientjar=Created Application Client JAR [{0}]
-enterprise.deployment.exceptionappclientjarinfodoesn'texist=[{0}] does not exist
-enterprise.deployment.nodeployinfofound=There was no deployment information in [{0}]
-enterprise.deployment.exceptionnodeployinfofoundatin=No deployment info found at [{0}] in [{1}]
-enterprise.deployment.exceptionincorrectmanifestformat=Incorrect Manifest format
-enterprise.deployment.attributegetname=[{0}] to [{1}]
-enterprise.deployment.exceptionerrorrenamingjartofile=Error renaming JAR [{0}] to [{1}]
-enterprise.deployment.exceptionunpackingarchivefailed=Unpacking archive failed: could not make parent file for [{0}]
-enterprise.deployment.exceptionfiledoesnotexist=[{0}] does not exist
-enterprise.deployment.exceptionunknowncontainertxtype=Unknown ContainerTransaction type [{0}]
-enterprise.deployment.exceptioncannotpackageejbs=Cannot package EJBs: [{0}] does not exist.
-enterprise.deployment.createdejbjar=Created EJB JAR [{0}]
-enterprise.deployment.nodeoployinfoindescriptorfile=There was no deployment information in [{0}]
-enterprise.deployment.exceptionejbjardoesnotexist=[{0}] does not exist
-enterprise.deployment.exceptionnodeoployinfofoundatinjarcontainerdescriptor=No deployment information found at [{0}] in [{1}]
-enterprise.deployment.exceptionbeaninbundle=Referencing error: this bundle has no bean of name [{0}]
-enterprise.deployment.nomatchingpminusefound=No PersistenceManager found that matches specified PersistenceManager in use.
-enterprise.deployment.badrolereference=Warning: Bad role reference to [{0}]
-enterprise.deployment.exceptiontxattrbtnotspecifiedinbeanwithtxtype=Method level transaction attributes may not be specified on a bean with transaction type [{0}]
-enterprise.deployment.exceptioncannotaddrolesdescriptor=Cannot add roles when the descriptor is not part of a bundle
-enterprise.deployment.exceptioncannotaddrolesbundle=Cannot add roles when the bundle does not have them
-enterprise.deployment.exceptioncannotsetpermissionuntilinbundle=[{0}] is not known to the bundle
-enterprise.deployment.exceptionrolenotinbundle=[{0}] is not known to the bundle
-enterprise.deployment.errorloadingclass=Error loading class [{0}]
-enterprise.deployment.errorloadingejbclass=Error loading the ejb class [{0}] in getFields on EjbDescriptor\n [{1}]
-enterprise.deployment.errorloadingejbclassingetfieldname=Error loading the ejb class in getFieldForName on EjbDescriptor [{0}]
-enterprise.deployment.exceptioncannothavepersistentfieldsonbeanwithbmp=Cannot have persistent fields [{0}] on a bean with bean managed persistence
-enterprise.deployment.exceptionentitybeancanonlyhavecntnrtxtype=Entity beans can only have Container transaction type. The type was being set to [{0}]
-enterprise.deployment.exceptionentitybeanwithbmpcannothaveprimaryfield=Entity beans with bean persistence cannot have a primary key field
-enterprise.deployment.exceptionstringnotlegalvalue=[{0}] is not a legal value for entity reentrancy
-enterprise.deployment.exceptionpersistenceisnotallowedtype=[{0}] is not an allowed persistence type
-enterprise.deployment.exceptioncannotsettypeonentitybean=Cannon set type on an entity bean
-enterprise.deployment.exceptionbldngsqlstatementmthds=Error building allSqlStatementedMethods [{0}]
-enterprise.deployment.exceptionincorrectapiusage=Incorrect API usage - can't get the link name of an external reference
-enterprise.deployment.exceptionejbrefhasnoejbdscrptor=This ejb reference has no ejb descriptor
-enterprise.deployment.exceptionsessiontypenotlegaltype=[{0}] is not a legal session type for session ejbs. The type must be [{1}] or [{2}]
-enterprise.deployment.exceptioncannotsettypeofsessionbean=Cannot set the type of a session bean
-enterprise.deployment.exceptioncannotsettypeofmsgdrivenbean=Cannot set the type of a message-driven bean
-enterprise.deployment.exceptointxtypenotlegaltype=[{0}] is not a legal transaction type for session beans
-enterprise.deployment.exceptionmsgbeantxtypenotlegaltype=[{0}] is not a legal transaction type for a message-driven bean
-enterprise.deployment.exceptiontypenotallowedpropertytype=[{0}] is not an allowed property value type
-enterprise.deployment.exceptioncouldnotcreateinstancetype=Could not create instance of [{0}] from [{1}]\n reason: [{2}]
-enterprise.deployment.exceptionillegaltypeenvproperty=Illegal type for environment properties: [{0}]
-enterprise.deployment.exceptionauthenticationmethod=[{0}] is not a valid authentication method
-enterprise.deployment.exceptionnullejbclasssymbol=Null ejb class symbol
-enterprise.deployment.exceptionejbclasssymbol=[{0}] should be [{1}] or [{2}] or [{3}]
-enterprise.deployment.exceptionejbdescriptormethod=[{0}] \n does not have a method [{1}]
-enterprise.deployment.exceptionmatchingmethoddescriptor=[{0}] \n does not have a method [{1}]
-enterprise.deployment.exceptionmethodnotfound=[{0}] not found in [{1}]
-enterprise.deployment.exceptiontransportguarentee=[{0}] is not a valid transport guarantee
-enterprise.deployment.exceptioncannotpackagewebapp=Cannot package web application: [{0}] does not exist.
-enterprise.deployment.exceptoinreadingwebxml=Error reading web xml [{0}]
-enterprise.deployment.exceptionReadingConnectorXml=Error reading connector xml [{0}]
-enterprise.deployment.exceptiondeploymentdescriptor=The deployment descriptor declares the jsp with filename attribute [{0}] but it is not present in [{1}]
-enterprise.deployment.createdwebapp=Created WebApplication [{0}]
-enterprise.deployment.createdconnector=Created Connector [{0}]
-enterprise.deployment.exceptionwebfiledoesnotexist=[{0}] does not exist
-enterprise.deployment.exceptoinparsingdescriptor=Error parsing descriptor [{0}]
-enterprise.deployment.exceptionnodeploymentinfo=No deployment info found at [{0}] in [{1}]
-enterprise.deployment.cannotinstantiate=Cannot instantiate implementation of [{0}]
-enterprise.deployment.exceptionimplementationclassnotfound=Cannot find implementation class for [{0}]
-enterprise.deployment.exceptioncannothaveCMPfieldsonbeanwithbmp=Cannot have CMP fields [{0}] on a bean with bean managed persistence
-entreprise.deployment.invalidLocalInterfaceReference=Trying to set an ejb-local-ref on an EJB while the EJB [{0}] does not define local interfaces
-entreprise.deployment.invalidRemoteInterfaceReference=Trying to set an ejb-ref on an EJB, while the EJB [{0}] does not define remote interfaces
-entreprise.deployment.exceptionduplicatedatasourcedefinition=This descriptor/class cannot have datasource definitions of same name : [{0}]
-entreprise.deployment.exceptionduplicatemailsessiondefinition=This descriptor/class cannot have mail-session definitions of same name : [{0}]
-
-warning.static_content.packaged=Warning: [{0}] does not exist. No static content files will be packaged.
-enterprise.deployment.exceptionbeanbundle=Referencing error: This bundle has no bean of name [{0}]
-enterprise.deployment.errorwithexternaldescriptors=Supplied External Descriptors [{0}] are incorrect
-enterprise.deployment.exceptionmessagedestbundle=Referencing error: this bundle has no message destination of name: {0}
-enterprise.deployment.norolemapperfactorydefine=This application has no role mapper factory defined
-enterprise.deployment.invalidcmpversion=Invalid CMP version: {0}.
-enterprise.deployment.pkhasnopersistentfields=CMP bean [{0}], primary key class [{1}] has public non-persistent field(s) [{2}].
-enterprise.deployment.unknownportforruntimeinfo=Runtime port info SEI {0} is not declared in standard service-ref deployment descriptors (under port-component-ref), is this intended ?
-enterprise.deployment.exceptioncannotgetsecbusmethodsinmsgbean=Cannot get business method for security for message-driven bean.
-
-enterprise.deployment.errorClosingSubArch=Error closing subarchive {0}
-enterprise.deployment.exceptionhasnoejbrefbyname=This class has no ejb reference by the name of {0}
-enterprise.deployment.exceptionhasnomsgdestrefbyname=This class has no message destination reference by the name of {0}
-
-enterprise.deployment.exceptionhasnoenvpropertybyname=This class has no environment property by the name of {0}
-enterprise.deployment.exceptionhasnojmsdestrefbyname=This class has no resource environment reference by the name of {0}
-enterprise.deployment.exceptionhasnoservicerefbyname=This class has no service reference by the name of {0}
-enterprise.deployment.exceptionhasnoentitymgrfactoryrefbyname=This class has no entity manager factory reference by the name of {0}
-enterprise.deployment.exceptionhasnoentitymgrrefbyname=This class has no entity manager reference by the name of {0}
-enterprise.deployment.exceptionhasnoresourcerefbyname=This class has no resource reference by the name of {0}
-
-enterprise.deployment.exceptionapphasnoservicerefbyname=This app [{0}] has no service reference by the name of [{1}]
-enterprise.deployment.exceptionapphasnomsgdestrefbyname=This app [{0}] has no message destination reference by the name of [{1}]
-enterprise.deployment.exceptionapphasnojmsdestrefbyname=This app [{0}] has no resource environment reference by the name of [{1}]
-enterprise.deployment.exceptionapphasnoentitymgrfactoryrefbyname=This app [{0}] has no entity manager factory reference by the name of [{1}]
-enterprise.deployment.exceptionapphasnoentitymgrrefbyname=This app [{0}] has no entity manager reference by the name of [{1}]
-enterprise.deployment.exceptionapphasnoenvpropertybyname=This app [{0}] has no environment property by the name of [{1}]
-enterprise.deployment.exceptionapphasnoejbrefbyname=This app [{0}] has no ejb reference by the name of [{1}]
-enterprise.deployment.exceptionapphasnoresourcerefbyname=This app [{0}] has no resource reference by the name of [{1}]
-enterprise.deployment.exceptionapplicationduplicatedatasourcedefinition=This app [{0}] cannot have datasource definitions of same name : [{1}]
-
-enterprise.deployment.exceptioncannotsetrunas=Cannot set RunAs identity when using caller identity
-enterprise.deployment.exceptioncannotsetrunas=Cannot get RunAs identity when using caller identity
-enterprise.deployment.exceptionejbhasnoservicerefbyname=This ejb [{0}] has no service reference by the name of [{1}]
-enterprise.deployment.exceptionejbhasnomsgdestrefbyname=This ejb [{0}] has no message destination reference by the name of [{1}]
-enterprise.deployment.exceptionbeanhasnojmsdestrefbyname=This bean [{0}] has no resource environment reference by the name of [{1}]
-enterprise.deployment.exceptionbeanhasnoentitymgrfactoryrefbyname=This ejb [{0}] has no entity manager factory reference by the name of [{1}]
-enterprise.deployment.exceptionbeanhasnoentitymgrrefbyname=This ejb [{0}] has no entity manager reference by the name of [{1}]
-enterprise.deployment.exceptionbeanhasnoenvpropertybyname=This bean [{0}] has no environment property by the name of [{1}]
-enterprise.deployment.exceptionbeanhasnoejbrefbyname=This bean [{0}] has no ejb reference by the name of [{1}]
-enterprise.deployment.exceptionbeanhasnoresourcerefbyname=This bean [{0}] has no resource reference by the name of [{1}]
-enterprise.deployment.exceptionejbduplicatedatasourcedefinition=This ejb [{0}] cannot have datasource definitions of same name : [{1}]
-
-enterprise.deployment.exceptionwebapphasnoservicerefbyname=This web app [{0}] has no service reference by the name of [{1}]
-enterprise.deployment.exceptionwebapphasnojmsdestrefbyname=This web app [{0}] has no resource environment reference by the name of [{1}]
-enterprise.deployment.exceptionwebapphasnoejbrefbyname=This web app [{0}] has no ejb reference by the name of [{1}]
-enterprise.deployment.exceptionwebapphasnoresourcerefbyname=This web app [{0}] has no resource reference by the name of [{1}]
-enterprise.deployment.exceptionwebapphasnoentitymgrrefbyname=This web app [{0}] has no entity manager reference by the name of [{1}]
-enterprise.deployment.exceptionwebapphasnoentitymgrfactoryrefbyname=This web app [{0}] has no entity manager factory reference by the name of [{1}]
-enterprise.deployment.exceptioniwebapphasnomsgdestrefbyname=This web app [{0}] has no message destination reference by the name of [{1}]
-enterprise.deployment.exceptionwebapphasnoenvpropertybyname=This web app [{0}] has no environment property by the name of [{1}]
-enterprise.deployment.exceptionwebduplicatedatasourcedefinition=This web app [{0}] cannot have datasource definitions of same name : [{1}]
-
-enterprise.deployment.exceptionappclienthasnoenvpropertybyname=This application client [{0}] has no environment property by the name of [{1}]
-enterprise.deployment.exceptionappclienthasnoservicerefbyname=This application client [{0}] has no service reference by the name of [{1}]
-enterprise.deployment.exceptionappclienthasnomsgdestrefbyname=This application client [{0}] has no message destination reference by the name of [{1}]
-enterprise.deployment.exceptionappclienthasnoejbrefbyname=This application client [{0}] has no ejb reference by the name of [{1}]
-enterprise.deployment.exceptionappclienthasnoentitymgrrefbyname=This application client [{0}] has no entity manager reference by the name of [{1}]
-enterprise.deployment.exceptionappclienthasnoentitymgrfactoryrefbyname=This application client [{0}] has no entity manager factory reference by the name of [{1}]
-enterprise.deployment.exceptionappclienthasnojmsdestrefbyname=This application client [{0}] has no resource environment reference by the name of [{1}]
-enterprise.deployment.exceptionappclienthasnoresourcerefbyname=This application client [{0}] has no resource reference by the name of [{1}]
-enterprise.deployment.exceptionappclientduplicatedatasourcedefinition=The application client [{0}] cannot have datasource definitions of same name : [{1}]
-
-enterprise.deployment.exception-unresolved-pu-ref=Could not resolve a persistence unit corresponding to \
-the persistence-unit-ref-name [{0}] in scope of the module called [{1}]. Please verify your application.
-enterprise.deployment.exception-unresolved-pc-ref=Could not resolve a persistence unit corresponding to \
-the persistence-context-ref-name [{0}] in the scope of the module called [{1}]. Please verify your application.
-enterprise.deployment.exception-non-jta-container-managed-em=The persistence-context-ref-name [{0}] \
-in module [{1}] resolves to a persistence unit called [{2}] \
-which is of type RESOURCE_LOCAL. Only persistence units with transaction type \
-JTA can be used as a container managed entity manager. Please verify your application.
-enterprise.deployment.exceptionalreadydefinedinabsoluteordering=[{0}] has already been defined in the absolute-ordering.
-enterprise.deployment.exceptioninvalidordering=The ordering is not valid as it contains the same name and/or others in both before and after.
-enterprise.deployment.exceptioninvalidwebfragmentordering=The web fragment ordering is not valid and possibly has cycling conflicts.
-enterprise.deployment.exceptioninvalidnameinrelativeordering=The empty name is invalid for relative ordering element.
-enterprise.deployment.exceptionsameurlpattern=Servlet [{0}] and Servlet [{1}] have the same url pattern: [{2}]
-enterprise.deployment.exceptionconflictloginconfig=There is no login-config in web.xml and there are more than one login config defined in web fragments with different values.
-enterprise.deployment.exceptionmergewithdifferentname=Cannot merge property with different names: [{0}], [{1}]
-enterprise.deployment.exceptionconflictloginconfig=There are more than one login-config defined in web fragments with different values
-enterprise.deployment.exceptionconflictdatasourcedefinition=There are more than one datasource definitions defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictmailsessiondefinition=There are more than one mail-session definitions defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictenventry=There are more than one environment entries defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictejbref=There are more than one ejb references defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictserviceref=There are more than one service references defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictresourceref=There are more than one resource references defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictresourceenvref=There are more than one resource env references defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictmessagedestinationref=There are more than one message destination references defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictpersistencecontextref=There are more than one persistence context references defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictpersistenceunitref=There are more than one persistence unit references defined in web fragments with the same name, but not overridden in web.xml
-enterprise.deployment.exceptionconflictwebcompwithoutimpl=Two or more web fragments define the same Servlet with conflicting implementation class names that are not overridden by the web.xml
-enterprise.deployment.exceptionconflictwebcomp=One or more web fragments define the same Servlet in a conflicting way, and the Servlet is not defined in web.xml
-enterprise.deployment.exceptionconflictfilterwithoutimpl=Two or more web fragments define the same Filter with conflicting implementation class names that are not overridden by the web.xml
-enterprise.deployment.exceptionconflictfilter=One or more web fragments define the same Filter in a conflicting way, and the Filter is not defined in web.xml
-enterprise.deployment.invalidcallbacktype=Invalid callback type: [{0}]
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/LoginConfigurationImpl.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/LoginConfigurationImpl.java
deleted file mode 100644
index 3b6e9ac..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/LoginConfigurationImpl.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
- package com.sun.enterprise.security.deployment;
-
-
-import com.sun.enterprise.deployment.web.LoginConfiguration;
-import com.sun.enterprise.deployment.util.DOLUtils;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import org.glassfish.deployment.common.Descriptor;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-//END OF IASRI 4660482
-
-
- /**
- * I dictate how the web app I belong to should be logged into.
- * @author Danny Coward
- */
-
-public class LoginConfigurationImpl extends Descriptor implements LoginConfiguration {
- /** teh client authenticates using http basic authentication. */
- public static final String AUTHENTICATION_METHOD_BASIC = LoginConfiguration.BASIC_AUTHENTICATION;
- /** Digest authentication. */
- public static final String AUTHENTICATION_METHOD_DIGEST = LoginConfiguration.DIGEST_AUTHENTICATION;
- /** FOrm authentication. */
- public static final String AUTHENTICATION_METHOD_FORM = LoginConfiguration.FORM_AUTHENTICATION;
- /** The client sends a certificate. */
- public static final String AUTHENTICATION_METHOD_CLIENT_CERTIFICATE = LoginConfiguration.CLIENT_CERTIFICATION_AUTHENTICATION;
-
- //START OF IASRI 4660482
- static Logger _logger = DOLUtils.getDefaultLogger();
- //END OF IASRI 4660482
-
- private String authenticationMethod;
- private String realmName = "";
- private String formLoginPage = "";
- private String formErrorPage = "";
- private static LocalStringManagerImpl localStrings =
- new LocalStringManagerImpl(LoginConfigurationImpl.class);
-
- /** Return my authentication method. */
- public String getAuthenticationMethod() {
- if (this.authenticationMethod == null) {
- //START OF IASRI 4660482 - warning log if authentication method isn't defined in descriptor
- _logger.log(Level.WARNING,"enterprise.deployment_no_auth_method_dfnd");
- //END OF IASRI 4660482
- this.authenticationMethod = AUTHENTICATION_METHOD_BASIC;
- }
- return this.authenticationMethod;
- }
-
- /** Sets my authentication method. */
- public void setAuthenticationMethod(String authenticationMethod) {
-
- if ( this.isBoundsChecking() ) {
-
- if (!LoginConfiguration.BASIC_AUTHENTICATION.equals(authenticationMethod)
- && !LoginConfiguration.DIGEST_AUTHENTICATION.equals(authenticationMethod)
- && !LoginConfiguration.FORM_AUTHENTICATION.equals(authenticationMethod)
- && !LoginConfiguration.CLIENT_CERTIFICATION_AUTHENTICATION.equals(authenticationMethod) ) {
-
- throw new IllegalArgumentException(localStrings.getLocalString(
- "enterprise.deployment..exceptionauthenticationmethod",
- "{0} is not a valid authentication method", new Object[] {authenticationMethod}));
-
- }
- }
- this.authenticationMethod = authenticationMethod;
-
- }
-
- /** Obtain the realm the server should use for basic authentication. */
- public String getRealmName() {
- if (this.realmName == null) {
- this.realmName = "";
- }
- return this.realmName;
- }
-
- /** Set the realm the server should use for basic authentication. */
- public void setRealmName(String realmName) {
- this.realmName = realmName;
- }
-
- /** Get the name of the login page for form login. */
- public String getFormLoginPage() {
- if (this.formLoginPage == null) {
- this.formLoginPage = "";
- }
- return this.formLoginPage;
- }
- /** Set the name of the login page for form login. */
- public void setFormLoginPage(String formLoginPage) {
- this.formLoginPage = formLoginPage;
- }
-
- /** Get the name of the error page for form login. */
- public String getFormErrorPage() {
- if (this.formErrorPage == null) {
- this.formErrorPage = "";
- }
- return this.formErrorPage;
- }
- /** Set the name of the error page for form login. */
- public void setFormErrorPage(String formErrorPage) {
- this.formErrorPage = formErrorPage;
- }
-
- /** My representation as a formatted String.*/
- public void print(StringBuffer toStringBuffer) {
- toStringBuffer.append("LoginConfig:(").append(authenticationMethod).append(" ").append(
- realmName).append(" ").append(formLoginPage).append(" ").append(formErrorPage).append(")");
- }
-
- public boolean equals(Object obj) {
- boolean result = false;
- if (obj instanceof LoginConfigurationImpl) {
- LoginConfigurationImpl other = (LoginConfigurationImpl)obj;
- result = getAuthenticationMethod().equals(other.getAuthenticationMethod()) &&
- getRealmName().equals(other.getRealmName()) &&
- getFormLoginPage().equals(other.getFormLoginPage()) &&
- getFormErrorPage().equals(other.getFormErrorPage());
- }
- return result;
- }
-
- public int hashCode() {
- int hashCode = 1;
- hashCode = 31 * hashCode + getAuthenticationMethod().hashCode();
-
- if (getRealmName().length() > 0) {
- hashCode = 31 * hashCode + getRealmName().hashCode();
- }
- if (getFormLoginPage().length() > 0) {
- hashCode = 31 * hashCode + getFormLoginPage().hashCode();
- }
- if (getFormErrorPage().length() > 0) {
- hashCode = 31 * hashCode + getFormErrorPage().hashCode();
- }
- return hashCode;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/RoleReference.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/RoleReference.java
deleted file mode 100644
index 8213e5d..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/RoleReference.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment;
-
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.deployment.web.SecurityRole;
-import com.sun.enterprise.deployment.web.SecurityRoleReference;
-import org.glassfish.security.common.Role;
-
-/**
- * Special kind of environment property that encapsulates the primitive roles
- * as defined by the bean developer. The name of a primitive role will appear
- * in the bean code, the value will be mapped to the name of a Role chosen by
- * the application assembler which is referenced by the EjbBundle being
- * assembled.
- * @author Danny Coward
- */
-
-public class RoleReference extends EnvironmentProperty implements
- SecurityRoleReference
-{
- /**
- * Default constructor.
- */
- public RoleReference() {
- }
-
- /**
- * Construct a role reference from the given name and description.
- */
- public RoleReference(String name, String description) {
- super(name, "", description);
- }
-
- /**
- * Construct the role reference with the same name and rolename the same
- * as the environment property value.
- * @param the environment property instance.
- */
- public RoleReference(EnvironmentProperty environmentProperty) {
- super(environmentProperty.getName(),
- environmentProperty.getDescription(), "");
- this.setValue(environmentProperty.getValue());
- }
-
- /**
- * Set the value for the reference.
- * @param the role
- */
- void setRole(Role role) {
- super.setValue(role.getName());
- }
-
- /**
- * Return the role object from this descriptor.
- * @return the role.
- */
- public Role getRole() {
- return new Role(super.getValue());
- }
-
- /**
- * Return the rolename.
- * @return the role name.
- */
- public SecurityRole getSecurityRoleLink() {
- return new SecurityRoleDescriptor(super.getValue(), "");
- }
-
- /**
- * Sets the rolename.
- * @param the rolename.
- */
- public void setSecurityRoleLink(SecurityRole securityRole) {
- super.setValue(securityRole.getName());
- }
-
- /**
- * Return the coded name.
- * @return the role name used in the bean code.
- */
- public String getRolename() {
- return this.getName();
- }
-
- /**
- * Sets the coded name.
- * @param the role name used in the bean code.
- */
- public void setRolename(String rolename) {
- this.setName(rolename);
- }
-
- /**
- * Returns a formatted version of this object as a String.
- */
- public void print(StringBuffer toStringBuffer) {
- toStringBuffer.append("Role-Ref-Env-Prop: ").append(super.getName()).append("@").append(
- this.getRole()).append("@").append(super.getDescription());
- }
-
-}
-
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/Roles.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/Roles.java
deleted file mode 100644
index 7db61a4..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/Roles.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment;
-
-import org.glassfish.security.common.Role;
-
-import java.util.Set;
-
-/**
- * @author Danny Coward
- */
-public interface Roles {
- /**
- * Get the current set of roles defined.
- * @return the set of roles.
- */
- public Set getRoles();
-
- /**
- * Add the specified role to the set of roles.
- * @param the role to be added.
- */
- public void addRole(Role role);
-
- /**
- * Remove the specified role from the set of roles.
- * @param the role to be removed.
- */
- public void removeRole(Role role);
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/RunAsIdentityDescriptor.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/RunAsIdentityDescriptor.java
deleted file mode 100644
index 566bc9a..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/RunAsIdentityDescriptor.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment;
-
-
-import org.glassfish.deployment.common.Descriptor;
-
-/**
- * This class encapsulates information in the runAs-specified-identity
- * XML element as well as the runtime principal to be used.
- *
- * @author Sanjeev Krishnan
- */
-
-public final class RunAsIdentityDescriptor extends Descriptor {
-
- private String roleName="";
- private String principal="";
-
- public RunAsIdentityDescriptor()
- {}
-
- public RunAsIdentityDescriptor(String description)
- {
- super("no name", description);
- }
-
- public void setRoleName(String roleName)
- {
- this.roleName = roleName;
- }
-
- public String getRoleName()
- {
- return roleName;
- }
-
- public void setPrincipal(String principal)
- {
- this.principal = principal;
- }
-
- public String getPrincipal()
- {
- return principal;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityConstraintImpl.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityConstraintImpl.java
deleted file mode 100644
index 0e91569..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityConstraintImpl.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
- package com.sun.enterprise.security.deployment;
-
-import com.sun.enterprise.deployment.WebResourceCollectionImpl;
-import com.sun.enterprise.deployment.web.AuthorizationConstraint;
-import com.sun.enterprise.deployment.web.SecurityConstraint;
-import com.sun.enterprise.deployment.web.UserDataConstraint;
-import com.sun.enterprise.deployment.web.WebResourceCollection;
-import org.glassfish.deployment.common.Descriptor;
-
-import java.util.HashSet;
-import java.util.Set;
-
-
- /**
- * Objects exhibiting this interface represent a security constraint on the web application
- * that owns them.
- * @author Danny Coward
- */
-
-public class SecurityConstraintImpl extends Descriptor implements SecurityConstraint, java.io.Serializable {
- private Set<WebResourceCollection> webResourceCollections;
- private AuthorizationConstraint authorizationConstraint;
- private UserDataConstraint userDataConstraint;
-
- /** Default constructor.*/
- public SecurityConstraintImpl() {
-
- }
-
- /** Copy constructor.*/
- public SecurityConstraintImpl(SecurityConstraintImpl other) {
- if (other.webResourceCollections != null) {
- this.webResourceCollections = new HashSet<WebResourceCollection>();
- for (WebResourceCollection wrc : other.webResourceCollections) {
- webResourceCollections.add(new WebResourceCollectionImpl((WebResourceCollectionImpl)wrc));
- }
- }
- if (other.authorizationConstraint != null) {
- this.authorizationConstraint = new AuthorizationConstraintImpl((AuthorizationConstraintImpl) other.authorizationConstraint);
- }
- if (other.userDataConstraint != null) {
- this.userDataConstraint = new UserDataConstraintImpl();
- this.userDataConstraint.setTransportGuarantee(other.userDataConstraint.getTransportGuarantee());
- }
- }
-
-
- /** Return all the web resource collection.
- */
- public Set<WebResourceCollection> getWebResourceCollections() {
- if (this.webResourceCollections == null) {
- this.webResourceCollections = new HashSet<WebResourceCollection>();
- }
- return this.webResourceCollections;
- }
-
- /** Adds a web resource collection to this constraint.*/
- public void addWebResourceCollection(WebResourceCollection webResourceCollection) {
- this.getWebResourceCollections().add(webResourceCollection);
- }
-
- public void addWebResourceCollection(WebResourceCollectionImpl webResourceCollection) {
- addWebResourceCollection((WebResourceCollection) webResourceCollection);
- }
-
- /** Removes the given web resource collection from this constraint.*/
- public void removeWebResourceCollection(WebResourceCollection webResourceCollection) {
- this.getWebResourceCollections().remove(webResourceCollection);
- }
-
- /** The authorization constraint. */
- public AuthorizationConstraint getAuthorizationConstraint() {
- return this.authorizationConstraint;
- }
-
- /** Sets the authorization constraint.*/
- public void setAuthorizationConstraint(AuthorizationConstraint authorizationConstraint) {
- this.authorizationConstraint = authorizationConstraint;
- }
-
- /** Sets the authorization constraint.*/
- public void setAuthorizationConstraint(AuthorizationConstraintImpl authorizationConstraint) {
- setAuthorizationConstraint((AuthorizationConstraint) authorizationConstraint);
- }
-
- /** The user data constraint. */
- public UserDataConstraint getUserDataConstraint() {
- return this.userDataConstraint;
- }
- /** Sets the user data constraint. */
- public void setUserDataConstraint(UserDataConstraint userDataConstraint) {
- this.userDataConstraint = userDataConstraint;
- }
-
- public void setUserDataConstraint(UserDataConstraintImpl userDataConstraint) {
- setUserDataConstraint((UserDataConstraint) userDataConstraint);
- }
-
- /** Returns a formatted String representing of my state.*/
- public void print(StringBuffer toStringBuffer) {
- toStringBuffer.append("SecurityConstraint: ");
- toStringBuffer.append(" webResourceCollections: ").append(webResourceCollections);
- toStringBuffer.append(" authorizationConstraint ").append(authorizationConstraint);
- toStringBuffer.append(" userDataConstraint ").append(userDataConstraint);
-
- }
-
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityPermission.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityPermission.java
deleted file mode 100644
index a1c174d..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityPermission.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment;
-
-
-import org.glassfish.deployment.common.Descriptor;
-
-/**
- * This class encapsulates the xmltags: description and security-permission-spec
- * @ Sheetal Vartak
- */
-public class SecurityPermission extends Descriptor {
-
- private String permissionSpec;
-
- public SecurityPermission(){}
-
- public SecurityPermission(String description,String permissionSpec ){
- super.setDescription(description);
- this.permissionSpec = permissionSpec;
- }
-
- /** get permission
- */
- public String getPermission(){
- return(permissionSpec);
- }
-
- /** set permission
- */
- public void setPermission(String permissionSpec){
- this.permissionSpec=permissionSpec;
- }
-
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityRoleDescriptor.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityRoleDescriptor.java
deleted file mode 100644
index 3878fb0..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/SecurityRoleDescriptor.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
- package com.sun.enterprise.security.deployment;
-
-import com.sun.enterprise.deployment.web.SecurityRole;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.security.common.Role;
-
-/**
- * I am an abstract role..
- *
- *@author Danny Coward
- */
-public class SecurityRoleDescriptor extends Descriptor implements SecurityRole {
-
- /**
- * Construct a SecurityRoleDescriptor from the given role name and description.
- */
- public SecurityRoleDescriptor(String name, String description) {
- super(name, description);
- }
-
- /**
- * Construct a SecurityRoleDescriptor from the given role object.
- */
-
- public SecurityRoleDescriptor(Role role) {
- super(role.getName(), role.getDescription());
- }
-
- /**
- * Default constructor.
- */
- public SecurityRoleDescriptor() {
- }
-
- /**
- * Equality on rolename.
- */
-
- public boolean equals(Object other) {
- if (other instanceof SecurityRoleDescriptor &&
- this.getName().equals( ((SecurityRoleDescriptor) other).getName() )) {
- return true;
- }
- return false;
- }
-
- /**
- * My hashcode.
- */
-
- public int hashCode() {
- return this.getName().hashCode();
- }
-
- /**
- * Formatted string representing my state.
- */
- public void print(StringBuffer toStringBuffer) {
- toStringBuffer.append("SecurityRole ");
- super.print(toStringBuffer);
- }
-
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/UserDataConstraintImpl.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/UserDataConstraintImpl.java
deleted file mode 100644
index 7c18853..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/UserDataConstraintImpl.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
- package com.sun.enterprise.security.deployment;
-
-import com.sun.enterprise.deployment.web.UserDataConstraint;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import org.glassfish.deployment.common.Descriptor;
-
-
-/**
- * I represent the information about how the web application's data should be protected.
- *
- * @author Danny Coward
- */
-
-public class UserDataConstraintImpl extends Descriptor implements UserDataConstraint {
- /** The transport is unspecified.*/
- public static final String TRANSPORT_GUARANTEE_NONE = UserDataConstraint.NONE_TRANSPORT;
- /** HTTP.*/
- public static final String TRANSPORT_GUARANTEE_INTEGRAL = UserDataConstraint.INTEGRAL_TRANSPORT;
- /** HTTPS */
- public static final String TRANSPORT_GUARANTEE_CONFIDENTIAL = UserDataConstraint.CONFIDENTIAL_TRANSPORT;
-
- /** JACC Specific **/
- public static final String TRANSPORT_GUARANTEE_CLEAR = UserDataConstraint.CLEAR;
- private static final String[] transportGuaranteeChoices = {
- TRANSPORT_GUARANTEE_NONE,
- TRANSPORT_GUARANTEE_INTEGRAL,
- TRANSPORT_GUARANTEE_CONFIDENTIAL,
- };
- private String transportGuarantee;
- private static LocalStringManagerImpl localStrings =
- new LocalStringManagerImpl(UserDataConstraintImpl.class);
-
- /**
- * Return a String array of my static transport types.
- */
- public static final String[] getTransportGuaranteeChoices() {
- return transportGuaranteeChoices;
- }
-
- /**
- * Return my transport type.
- */
- public String getTransportGuarantee() {
- if (transportGuarantee == null) {
- transportGuarantee = TRANSPORT_GUARANTEE_NONE;
- }
- return transportGuarantee;
- }
-
- public String[] getUnacceptableTransportGuarantees(){
- String acceptable = getTransportGuarantee();
- if(acceptable.equals(TRANSPORT_GUARANTEE_NONE))
- return (String[]) null;
- else if (acceptable.equals(TRANSPORT_GUARANTEE_INTEGRAL)){
- String[] ret = new String[] {TRANSPORT_GUARANTEE_CLEAR, TRANSPORT_GUARANTEE_CONFIDENTIAL };
- return ret;
- } else if (acceptable.equals(TRANSPORT_GUARANTEE_CONFIDENTIAL)){
- String[] ret = new String[] {TRANSPORT_GUARANTEE_CLEAR, TRANSPORT_GUARANTEE_INTEGRAL };
- return ret;
- }
- return (String[]) null;
- }
- /**
- * Sets my transport type to the given value. Throws an illegal argument exception
- * if the value is not allowed.
- */
- public void setTransportGuarantee(String transportGuarantee) {
- if (this.isBoundsChecking()) {
- if ( !UserDataConstraint.NONE_TRANSPORT.equals(transportGuarantee)
- && !UserDataConstraint.INTEGRAL_TRANSPORT.equals(transportGuarantee)
- && !UserDataConstraint.CONFIDENTIAL_TRANSPORT.equals(transportGuarantee)) {
- throw new IllegalArgumentException(localStrings.getLocalString(
- "enterprise.deployment.exceptiontransportguarentee",
- "{0} is not a valid transport guarantee", new Object[] {transportGuarantee}));
- }
- }
- this.transportGuarantee = transportGuarantee;
- }
-
- /**
- * Returns a formatted String of my state.
- */
- public void print(StringBuffer toStringBuffer) {
- toStringBuffer.append("UserDataConstraint ");
- toStringBuffer.append(" description ").append(super.getDescription());
- toStringBuffer.append(" transportGuarantee ").append(getTransportGuarantee());
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/AbstractAuthAnnotationHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/AbstractAuthAnnotationHandler.java
deleted file mode 100644
index bb38ace..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/AbstractAuthAnnotationHandler.java
+++ /dev/null
@@ -1,296 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.annotation.context.*;
-import com.sun.enterprise.deployment.annotation.handlers.PostProcessor;
-import com.sun.enterprise.deployment.annotation.handlers.AbstractCommonAttributeHandler;
-import com.sun.enterprise.deployment.util.TypeUtil;
-import org.glassfish.apf.AnnotatedElementHandler;
-import org.glassfish.apf.AnnotationInfo;
-import org.glassfish.apf.AnnotationProcessorException;
-import org.glassfish.apf.HandlerProcessingResult;
-
-import java.lang.annotation.Annotation;
-import java.lang.annotation.ElementType;
-import java.lang.reflect.AnnotatedElement;
-import java.lang.reflect.Method;
-import java.util.HashMap;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Level;
-
-import jakarta.annotation.security.DenyAll;
-import jakarta.annotation.security.PermitAll;
-import jakarta.annotation.security.RolesAllowed;
-
-/**
- * This is an abstract class encapsulate generic behaviour of auth annotations,
- * such as @DenyAll, @PermitAll and @RolesAllowed.
- *
- * Concrete subclass handlers need to implement the following:
- * public Class<? extends Annotation> getAnnotationType();
- * protected void processEjbMethodSecurity(Annotaton authAnnotation,
- * MethodDescriptor md, EjbDescriptor ejbDesc);
- * protected Classlt;? extends Annotaion>[] relatedAnnotationClasses();
- *
- * @author Shing Wai Chan
- */
-abstract class AbstractAuthAnnotationHandler extends AbstractCommonAttributeHandler
- implements PostProcessor {
-
- /**
- * This method processes the EJB Security for the given Annotation.
- */
- protected abstract void processEjbMethodSecurity(Annotation authAnnotation,
- MethodDescriptor md, EjbDescriptor ejbDesc);
-
- /**
- * Process Annotation with given EjbContexts.
- * @param ainfo
- * @param ejbContexts
- * @return HandlerProcessingResult
- */
- @Override
- protected HandlerProcessingResult processAnnotation(
- AnnotationInfo ainfo, EjbContext[] ejbContexts)
- throws AnnotationProcessorException {
-
- if (!validateAccessControlAnnotations(ainfo)) {
- return getDefaultFailedResult();
- }
-
- Annotation authAnnotation = ainfo.getAnnotation();
- for (EjbContext ejbContext : ejbContexts) {
- EjbDescriptor ejbDesc = ejbContext.getDescriptor();
-
- if (ElementType.TYPE.equals(ainfo.getElementType())) {
- // postpone the processing at the end
- ejbContext.addPostProcessInfo(ainfo, this);
- } else { // METHOD
- Method annMethod = (Method) ainfo.getAnnotatedElement();
- for (Object next : ejbDesc.getSecurityBusinessMethodDescriptors()) {
- MethodDescriptor md = (MethodDescriptor)next;
- // override by xml
- if (!hasMethodPermissionsFromDD(md, ejbDesc)) {
- Method m = md.getMethod(ejbDesc);
- if (TypeUtil.sameMethodSignature(m, annMethod)) {
- processEjbMethodSecurity(authAnnotation, md, ejbDesc);
- }
- }
- }
- }
- }
-
- return getDefaultProcessedResult();
- }
-
- /**
- * Process Annotation with given WebCompContexts.
- * @param ainfo
- * @param webCompContexts
- * @return HandlerProcessingResult
- */
- @Override
- protected HandlerProcessingResult processAnnotation(
- AnnotationInfo ainfo, WebComponentContext[] webCompContexts)
- throws AnnotationProcessorException {
-
- // this is not for web component
- return getInvalidAnnotatedElementHandlerResult(webCompContexts[0], ainfo);
- }
-
- /**
- * Process Annotation with given WebBundleContext.
- * @param ainfo
- * @param webBundleContext
- * @return HandlerProcessingResult
- */
- @Override
- protected HandlerProcessingResult processAnnotation(
- AnnotationInfo ainfo, WebBundleContext webBundleContext)
- throws AnnotationProcessorException {
-
- // this is not for web bundle
- return getInvalidAnnotatedElementHandlerResult(webBundleContext, ainfo);
- }
-
- /**
- * This method is for processing security annotation associated to ejb.
- * Dervied class call this method may like to override
- *
- * protected void processEjbMethodSecurity(Annotation authAnnotation,
- * MethodDescriptor md, EjbDescriptor ejbDesc)
- */
- @Override
- public void postProcessAnnotation(AnnotationInfo ainfo,
- AnnotatedElementHandler aeHandler)
- throws AnnotationProcessorException {
-
- EjbContext ejbContext = (EjbContext)aeHandler;
- EjbDescriptor ejbDesc = ejbContext.getDescriptor();
- Annotation authAnnotation = ainfo.getAnnotation();
-
- if (!ejbContext.isInherited() &&
- (ejbDesc.getMethodPermissionsFromDD() == null ||
- ejbDesc.getMethodPermissionsFromDD().size() == 0)) {
- for (MethodDescriptor md : getMethodAllDescriptors(ejbDesc)) {
- processEjbMethodSecurity(authAnnotation, md, ejbDesc);
- }
- } else {
- Class classAn = (Class)ainfo.getAnnotatedElement();
- for (Object next : ejbDesc.getSecurityBusinessMethodDescriptors()) {
- MethodDescriptor md = (MethodDescriptor)next;
- // override by existing info
- if (classAn.equals(ejbContext.getDeclaringClass(md)) &&
- !hasMethodPermissionsFromDD(md, ejbDesc)) {
- processEjbMethodSecurity(authAnnotation, md, ejbDesc);
- }
- }
- }
- }
-
- @Override
- protected boolean supportTypeInheritance() {
- return true;
- }
-
- /**
- * This method returns a list of related annotation types.
- * Those annotations should not be used with the given annotaton type.
- */
- protected Class<? extends Annotation>[] relatedAnnotationTypes() {
- return new Class[0];
- }
-
- //---------- helper methods ---------
-
- /**
- * Returns MethodDescriptors representing All for a given EjbDescriptor.
- * @param ejbDesc
- * @return resulting MethodDescriptor
- */
- private Set<MethodDescriptor> getMethodAllDescriptors(
- EjbDescriptor ejbDesc) {
- Set methodAlls = new HashSet();
- if (ejbDesc.isRemoteInterfacesSupported() ||
- ejbDesc.isRemoteBusinessInterfacesSupported()) {
- methodAlls.add(
- new MethodDescriptor(MethodDescriptor.ALL_METHODS,
- "", MethodDescriptor.EJB_REMOTE));
- if (ejbDesc.isRemoteInterfacesSupported()) {
- methodAlls.add(
- new MethodDescriptor(MethodDescriptor.ALL_METHODS,
- "", MethodDescriptor.EJB_HOME));
- }
- }
-
- if (ejbDesc.isLocalInterfacesSupported() ||
- ejbDesc.isLocalBusinessInterfacesSupported()) {
- methodAlls.add(
- new MethodDescriptor(MethodDescriptor.ALL_METHODS,
- "", MethodDescriptor.EJB_LOCAL));
- if (ejbDesc.isLocalInterfacesSupported()) {
- methodAlls.add(
- new MethodDescriptor(MethodDescriptor.ALL_METHODS,
- "", MethodDescriptor.EJB_LOCALHOME));
- }
- }
-
- if (ejbDesc.isLocalBean()) {
- methodAlls.add(
- new MethodDescriptor(MethodDescriptor.ALL_METHODS,
- "", MethodDescriptor.EJB_LOCAL));
- }
-
- if (ejbDesc.hasWebServiceEndpointInterface()) {
- methodAlls.add(
- new MethodDescriptor(MethodDescriptor.ALL_METHODS,
- "", MethodDescriptor.EJB_WEB_SERVICE));
- }
-
- return methodAlls;
- }
-
- /**
- * @param methodDesc
- * @param ejbDesc
- * @return whether the given methodDesc has permission defined in ejbDesc
- */
- private boolean hasMethodPermissionsFromDD(MethodDescriptor methodDesc,
- EjbDescriptor ejbDesc) {
- HashMap methodPermissionsFromDD = ejbDesc.getMethodPermissionsFromDD();
- if (methodPermissionsFromDD != null) {
- Set allMethods = ejbDesc.getMethodDescriptors();
- for (Object mdObjsObj : methodPermissionsFromDD.values()) {
- List mdObjs = (List)mdObjsObj;
- for (Object mdObj : mdObjs) {
- MethodDescriptor md = (MethodDescriptor)mdObj;
- for (Object style3MdObj :
- md.doStyleConversion(ejbDesc, allMethods)) {
- MethodDescriptor style3Md = (MethodDescriptor)style3MdObj;
- if (methodDesc.equals(style3Md)) {
- return true;
- }
- }
- }
- }
- }
- return false;
- }
-
- /**
- * This method checks whether annotations are compatible.
- * One cannot have two or more of the @DenyAll, @PermitAll, @RoleAllowed.
- *
- * @param ainfo
- * @return validity
- */
- private boolean validateAccessControlAnnotations(AnnotationInfo ainfo)
- throws AnnotationProcessorException {
-
- boolean validity = true;
- AnnotatedElement ae = (AnnotatedElement)ainfo.getAnnotatedElement();
-
- int count = 0;
- boolean hasDenyAll = false;
-
- count += (ae.isAnnotationPresent(RolesAllowed.class)? 1 : 0);
- if (ae.isAnnotationPresent(DenyAll.class)) {
- count += 1;
- hasDenyAll = true;
- }
-
- // continue the checking if not already more than one
- if (count < 2 && ae.isAnnotationPresent(PermitAll.class)) {
- count++;
- }
-
- if (count > 1) {
- log(Level.SEVERE, ainfo,
- localStrings.getLocalString(
- "enterprise.deployment.annotation.handlers.morethanoneauthannotation",
- "One cannot have more than one of @RolesAllowed, @PermitAll, @DenyAll in the same AnnotatedElement."));
- validity = false;
- }
-
- return validity;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/AuthenticationMechanismHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/AuthenticationMechanismHandler.java
deleted file mode 100644
index adcf530..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/AuthenticationMechanismHandler.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.annotation.context.RarBundleContext;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.deployment.AuthMechanism;
-import com.sun.enterprise.deployment.PoolManagerConstants;
-import com.sun.enterprise.deployment.annotation.handlers.AbstractHandler;
-import com.sun.enterprise.deployment.xml.ConnectorTagNames;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-import jakarta.resource.spi.AuthenticationMechanism;
-import jakarta.resource.spi.Connector;
-import jakarta.resource.spi.security.GenericCredential;
-import jakarta.resource.spi.security.PasswordCredential;
-import java.lang.annotation.Annotation;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.ietf.jgss.GSSCredential;
-import org.glassfish.apf.*;
-import org.glassfish.apf.impl.AnnotationUtils;
-import org.glassfish.apf.impl.HandlerProcessingResultImpl;
-import org.jvnet.hk2.annotations.Service;
-
-
-/**
- * @author Jagadish Ramu
- */
-@Service
-@AnnotationHandlerFor(AuthenticationMechanism.class)
-public class AuthenticationMechanismHandler extends AbstractHandler {
-
- protected final static LocalStringManagerImpl localStrings =
- new LocalStringManagerImpl(AbstractHandler.class);
-
- public HandlerProcessingResult processAnnotation(AnnotationInfo element) throws AnnotationProcessorException {
- AnnotatedElementHandler aeHandler = element.getProcessingContext().getHandler();
- AuthenticationMechanism authMechanism = (AuthenticationMechanism) element.getAnnotation();
-
- if (aeHandler instanceof RarBundleContext) {
- boolean isConnectionDefinition = hasConnectorAnnotation(element);
- if (isConnectionDefinition) {
- RarBundleContext rarContext = (RarBundleContext) aeHandler;
- ConnectorDescriptor desc = rarContext.getDescriptor();
- if (!desc.getOutBoundDefined()) {
- OutboundResourceAdapter ora = new OutboundResourceAdapter();
- desc.setOutboundResourceAdapter(ora);
- }
- OutboundResourceAdapter ora = desc.getOutboundResourceAdapter();
- String[] description = authMechanism.description();
- int authMechanismValue = getAuthMechVal(authMechanism.authMechanism());
- AuthenticationMechanism.CredentialInterface ci = authMechanism.credentialInterface();
- String credentialInterface = ora.getCredentialInterfaceName(ci);
- //XXX: Siva: For now use the first description
- String firstDesc = "";
- if(description.length > 0) {
- firstDesc = description[0];
- }
- AuthMechanism auth = new AuthMechanism(firstDesc, authMechanismValue, credentialInterface);
- ora.addAuthMechanism(auth);
- } else {
- getFailureResult(element, "Not a @Connector annotation : @AuthenticationMechanism must " +
- "be specified along with @Connector annotation", true);
- }
- } else {
- getFailureResult(element, "Not a rar bundle context", true);
- }
- return getDefaultProcessedResult();
- }
-
- private boolean hasConnectorAnnotation(AnnotationInfo element) {
- Class c = (Class) element.getAnnotatedElement();
- return c.getAnnotation(Connector.class) != null;
- }
-
- public Class<? extends Annotation>[] getTypeDependencies() {
- return getConnectorAnnotationTypes();
- }
-
- /**
- * @return a default processed result
- */
- protected HandlerProcessingResult getDefaultProcessedResult() {
- return HandlerProcessingResultImpl.getDefaultResult(
- getAnnotationType(), ResultType.PROCESSED);
- }
-
- /**
- * Set the authentication mechanism value.
- */
- public int getAuthMechVal(String value) {
- int authMechVal;
- if ((value.trim()).equals(ConnectorTagNames.DD_BASIC_PASSWORD))
- authMechVal = PoolManagerConstants.BASIC_PASSWORD;
- else if ((value.trim()).equals(ConnectorTagNames.DD_KERBEROS))
- authMechVal = PoolManagerConstants.KERBV5;
- else throw new IllegalArgumentException("Invalid auth-mech-type");// put this in localStrings...
- return authMechVal;
- }
-
- private HandlerProcessingResultImpl getFailureResult(AnnotationInfo element, String message, boolean doLog) {
- HandlerProcessingResultImpl result = new HandlerProcessingResultImpl();
- result.addResult(getAnnotationType(), ResultType.FAILED);
- if (doLog) {
- Class c = (Class) element.getAnnotatedElement();
- String className = c.getName();
- Object args[] = new Object[]{
- element.getAnnotation(),
- className,
- message,
- };
- String localString = localStrings.getLocalString(
- "enterprise.deployment.annotation.handlers.connectorannotationfailure",
- "failed to handle annotation [ {0} ] on class [ {1} ], reason : {2}", args);
- logger.log(Level.WARNING, localString);
- }
- return result;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/DeclareRolesHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/DeclareRolesHandler.java
deleted file mode 100644
index f989948..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/DeclareRolesHandler.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.deployment.annotation.context.EjbContext;
-import com.sun.enterprise.deployment.annotation.context.WebBundleContext;
-import com.sun.enterprise.deployment.annotation.context.WebComponentContext;
-import com.sun.enterprise.deployment.annotation.handlers.AbstractCommonAttributeHandler;
-import org.glassfish.apf.AnnotationHandlerFor;
-import org.glassfish.apf.AnnotationInfo;
-import org.glassfish.apf.AnnotationProcessorException;
-import org.glassfish.apf.HandlerProcessingResult;
-import org.glassfish.security.common.Role;
-import org.jvnet.hk2.annotations.Service;
-
-import jakarta.annotation.security.DeclareRoles;
-import java.lang.annotation.Annotation;
-
-/**
- * This handler is responsible for handling the
- * jakarta.annotation.security.DeclareRoles.
- *
- * @author Shing Wai Chan
- */
-@Service
-@AnnotationHandlerFor(DeclareRoles.class)
-public class DeclareRolesHandler extends AbstractCommonAttributeHandler {
-
- public DeclareRolesHandler() {
- }
-
- protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo,
- EjbContext[] ejbContexts) throws AnnotationProcessorException {
-
- DeclareRoles rolesRefAn = (DeclareRoles)ainfo.getAnnotation();
-
- for (EjbContext ejbContext : ejbContexts) {
- EjbDescriptor ejbDescriptor = ejbContext.getDescriptor();
- for (String roleName : rolesRefAn.value()) {
- if (ejbDescriptor.getRoleReferenceByName(roleName) == null) {
- RoleReference roleRef = new RoleReference(roleName, "");
- roleRef.setRolename(roleName);
- roleRef.setSecurityRoleLink(
- new SecurityRoleDescriptor(roleName, ""));
- ejbDescriptor.addRoleReference(roleRef);
- }
-
- Role role = new Role(roleName);
- ejbDescriptor.getEjbBundleDescriptor().addRole(role);
- }
- }
- return getDefaultProcessedResult();
- }
-
- protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo,
- WebComponentContext[] webCompContexts)
- throws AnnotationProcessorException {
- WebBundleDescriptor webBundleDesc =
- webCompContexts[0].getDescriptor().getWebBundleDescriptor();
- return processAnnotation(ainfo, webBundleDesc);
- }
-
- protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo,
- WebBundleContext webBundleContext)
- throws AnnotationProcessorException {
- WebBundleDescriptor webBundleDesc = webBundleContext.getDescriptor();
- return processAnnotation(ainfo, webBundleDesc);
- }
-
- private HandlerProcessingResult processAnnotation(AnnotationInfo ainfo,
- WebBundleDescriptor webBundleDesc) {
- DeclareRoles rolesRefAn = (DeclareRoles)ainfo.getAnnotation();
- for (String roleName : rolesRefAn.value()) {
- Role role = new Role(roleName);
- webBundleDesc.addRole(role);
- }
- return getDefaultProcessedResult();
- }
-
- /**
- * @return an array of annotation types this annotation handler would
- * require to be processed (if present) before it processes it's own
- * annotation type.
- */
- public Class<? extends Annotation>[] getTypeDependencies() {
- return getEjbAnnotationTypes();
- }
-
- protected boolean supportTypeInheritance() {
- return true;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/DenyAllHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/DenyAllHandler.java
deleted file mode 100644
index 1019062..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/DenyAllHandler.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.MethodPermission;
-import org.glassfish.apf.AnnotationHandlerFor;
-import org.jvnet.hk2.annotations.Service;
-
-import java.lang.annotation.Annotation;
-import jakarta.annotation.security.DenyAll;
-import jakarta.annotation.security.PermitAll;
-import jakarta.annotation.security.RolesAllowed;
-
-/**
- * This handler is responsible for handling the jakarta.annotation.security.DenyAll.
- *
- * @author Shing Wai Chan
- */
-@Service
-@AnnotationHandlerFor(DenyAll.class)
-public class DenyAllHandler extends AbstractAuthAnnotationHandler {
-
- public DenyAllHandler() {
- }
-
- @Override
- protected void processEjbMethodSecurity(Annotation authAnnotation,
- MethodDescriptor md, EjbDescriptor ejbDesc) {
-
- ejbDesc.addPermissionedMethod(
- MethodPermission.getExcludedMethodPermission(), md);
- }
-
- /**
- * @return an array of annotation types this annotation handler would
- * require to be processed (if present) before it processes it's own
- * annotation type.
- */
- @Override
- public Class<? extends Annotation>[] getTypeDependencies() {
- return getEjbAnnotationTypes();
- }
-
- @Override
- protected Class<? extends Annotation>[] relatedAnnotationTypes() {
- return new Class[] { PermitAll.class, RolesAllowed.class };
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/LocalStrings.properties b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/LocalStrings.properties
deleted file mode 100644
index 039b724..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/LocalStrings.properties
+++ /dev/null
@@ -1,67 +0,0 @@
-#
-# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-enterprise.deployment.annotation.handlers.invalidaehandler=Invalid annotation symbol found for this type of class.
-enterprise.deployment.annotation.handlers.cantfindmsglistenerintf=Cannot find message listener interface for bean class.
-enterprise.deployment.annotation.handlers.ambiguousimplementsclause=Implements clause for 3.x bean class {0} in {1} declares more than one potential business interface. In this case, the @Remote and/or @Local annotations must be used to identify the business interfaces.
-enterprise.deployment.annotation.handlers.ambiguousimplementsclausemdb=Implements clause for 3.x message-driven bean class {0} in {1} declares more than one potential message-listener interface. In this case, the @MessageDriven.messageListenerInterface() attribute must be used to specify the message listener interface.
-enterprise.deployment.annotation.handlers.invalidtypelevelejb=Invalid TYPE-level @EJB with name() = [{0}] and beanInterface = [{1}] in {2}. Each TYPE-level @EJB must specify both name() and beanInterface().
-enterprise.deployment.annotation.handlers.invalidtypelevelresource=Invalid TYPE-level @Resource with name() = [{0}] and type = [{1}] in {2}. Each TYPE-level @Resource must specify both name() and type().
-enterprise.deployment.annotation.handlers.wrongejbtype=Wrong annotation symbol for ejb {1}
-enterprise.deployment.annotation.handlers.ejbclsmismatch=<ejb-class> value [{0}] in ejb-jar.xml for ejb-name [{1}] does not match class name[{2}] for corresponding component-defining annotation.
-enterprise.deployment.annotation.handlers.invalidremotehome=Encountered invalid @RemoteHome interface {0}.
-enterprise.deployment.annotation.handlers.invalidlocalhome=Encountered invalid @LocalHome interface {0}.
-enterprise.deployment.annotation.handlers.nonametypelevel=TYPE-Level annotation must specify name member.
-enterprise.deployment.annotation.handlers.invalidinjectionmethod=Injection on a method requires a JavaBeans setter method type with one parameter
-enterprise.deployment.annotation.handlers.injectionmethodmustreturnvoid=Injection on a method requires a void return type
-enterprise.deployment.annotation.handlers.classnotannotated=Class must be annotated with a {1} annotation\n symbol : {1}\n location: {0}
-enterprise.deployment.annotation.handlers.invalidannotationforthisclass=Illegal annotation for this class will be ignored
-enterprise.deployment.annotation.handlers.invalidinjectionmethodname=Injection method name must start with \"set\"
-enterprise.deployment.annotation.handlers.injectionmethodnotstatic=Injection methods for application clients must be declared STATIC
-enterprise.deployment.annotation.handlers.injectionfieldnotstatic=Injection fields for application clients must be declared STATIC
-enterprise.deployment.annotation.handlers.typeinhernotsupp=The annotation symbol inheritance is not supported.
-enterprise.deployment.annotation.handlers.notcompsuperclass=The annotation symbol defined in super-class is not compatible with {0} ejb {1}.
-enterprise.deployment.annotation.handlers.morethanoneauthannotation=One cannot have more than one of @RolesAllowed, @PermitAll, @DenyAll in the same AnnotatedElement.
-enterprise.deployment.annotation.handlers.warningdenyalltransportprotected=One should not have @DenyAll and @TransportProtected together. The @TransportProtected would be ignored.
-enterprise.deployment.annotation.handlers.notmatchcreate=Unable to find matching Home create method for Init method {0} on bean {1}.
-enterprise.deployment.annotation.handlers.typenotfound=TYPE-level annotation symbol must specify type member.
-enterprise.deployment.annotation.handlers.invalidtype=Annotation not allowed on this element.
-enterprise.deployment.annotation.handlers.classnotfound=Class {0} referenced from annotation symbol cannot be loaded
-enterprise.deployment.annotation.handlers.componentnotfound=Component referenced from annotation symbol cannot be found
-enterprise.deployment.annotation.handlers.handlerfilenotfound=Handler file {0} not found
-enterprise.deployment.annotation.handlers.parserexception={0} XML Parsing error : line {1} ; Error = {2}
-enterprise.deployment.annotation.handlers.wrongannotationlocation=Symbol annotation can only be specified on TYPE
-enterprise.deployment.annotation.handlers.handlerfilehandlernotfound=Handler class {0} specified in handler file {1} cannot be loaded
-enterprise.deployment.annotation.handlers.ddhandlernotfound=Handler class {0} specified in deployment descriptors
-enterprise.deployment.annotation.handlers.handlerchainnotfound=Unable to get @HandlerChainin {0}
-enterprise.deployment.annotation.handlers.ejbeppkgwrong=An EJB endpoint but is packaged in a WAR.
-enterprise.deployment.annotation.handlers.webeppkgwrong=Class {0} is annotated with @WebService and without @Stateless but is packaged in a JAR. If it is supposed to be a servlet endpoint, it should be packaged in a WAR; Deployment will continue assuming this class to be just a POJO used by other classes in the JAR being deployed
-enterprise.deployment.annotation.handlers.ejbeppkgwrong=Class {0} is annotated with @WebService and @Stateless but is packaged in a WAR. If it is supposed to be an EJB endpoint, it should be packaged in a JAR; Deployment will continue assuming this class to be just a POJO used by other classes in the WAR being deployed
-enterprise.deployment.annotation.handlers.needtoextend=The Class {0} having annotation {1} need to be a derived class of {2}.
-enterprise.deployment.annotation.handlers.needtoimpl=The Class {0} having annotation {1} need to implement the interface {2}.
-enterprise.deployment.annotation.handlers.needtoimplinterfaces=The Class {0} having annotation jakarta.servlet.annotation.WebListener need to implement one of the following interfaces: jakarta.servlet.ServletContextLisener, jakarta.servlet.ServletContextAttributeListener, jakarta.servlet.ServletRequestListener, jakarta.servletServletRequestAttributeListener, jakarta.servlet.http.HttpSessionListener, jakarta.servlet.http.HttpSessionAttributeListener.
-enterprise.deployment.annotation.handlers.invalidUrlPatterns=Invalid url Patterns for {0}: {1}.
-enterprise.deployment.annotation.handlers.servletimpldontmatch=The servlet ''{0}'' has implementation ''{1}'' in xml. It does not match with ''{2}'' from annotation @WebServlet.
-enterprise.deployment.annotation.handlers.servletimpljspdontmatch=The servlet ''{0}'' is a jsp ''{1}'' in xml. It does not match with ''{2}'' from annotation @{3}.
-enterprise.deployment.annotation.handlers.filterimpldontmatch=The filter ''{0}'' has implementation ''{1}'' in xml. It does not match with ''{2}'' from annotation @ServletFilter.
-enterprise.deployment.annotation.handlers.datasourcedefinitionsduplicates=@DataSourceDefinitions cannot have multiple definitions with same name : ''{0}''
-enterprise.deployment.annotation.handlers.datasourcedefinitionsfailure=Failed to handle annotation [ {0} ] on class [ {1} ] due to the following exception :
-enterprise.deployment.annotation.handlers.connectorannotationfailure=Failed to handle annotation [ {0} ] on class [ {1} ], reason : {2}
-enterprise.deployment.annotation.handlers.configpropertyfieldreadfailure=Failed to read the value of field [{0}] on class [{1}], reason : {2}
-enterprise.deployment.annotation.handlers.denyWithRolesAllowed=One cannot specify DENY with an non-empty array of rolesAllowed in @ServletSecurity / ServletSecurityElement
-enterprise.deployment.annotation.handlers.wrongresourceclass=Incorrect @Resource annotation class definition - missing lookup attribute
-enterprise.deployment.annotation.handlers.emptyEJBs=No @EJB elements in @EJBs: {0}, on {1}
-enterprise.deployment.annotation.handlers.invalidauthenticationtype=Invalid AuthenticationType [{0}] in @Resource with name() = [{1}] and type = [{1}] in {2}.
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/PermitAllHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/PermitAllHandler.java
deleted file mode 100644
index 6ca7eec..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/PermitAllHandler.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.MethodPermission;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import org.glassfish.apf.AnnotationHandlerFor;
-import org.jvnet.hk2.annotations.Service;
-
-import jakarta.annotation.security.DenyAll;
-import jakarta.annotation.security.PermitAll;
-import jakarta.annotation.security.RolesAllowed;
-import java.lang.annotation.Annotation;
-
-/**
- * This handler is responsible for handling the
- * jakarta.annotation.security.PermitAll.
- *
- * @author Shing Wai Chan
- */
-@Service
-@AnnotationHandlerFor(PermitAll.class)
-public class PermitAllHandler extends AbstractAuthAnnotationHandler {
-
- public PermitAllHandler() {
- }
-
- @Override
- protected void processEjbMethodSecurity(Annotation authAnnoation,
- MethodDescriptor md, EjbDescriptor ejbDesc) {
-
- ejbDesc.addPermissionedMethod(
- MethodPermission.getUncheckedMethodPermission(), md);
- }
-
- /**
- * @return an array of annotation types this annotation handler would
- * require to be processed (if present) before it processes it's own
- * annotation type.
- */
- @Override
- public Class<? extends Annotation>[] getTypeDependencies() {
- return getEjbAnnotationTypes();
- }
-
- @Override
- protected Class<? extends Annotation>[] relatedAnnotationTypes() {
- return new Class[] { DenyAll.class, RolesAllowed.class };
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/RolesAllowedHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/RolesAllowedHandler.java
deleted file mode 100644
index ed3c252..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/RolesAllowedHandler.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.MethodPermission;
-import org.glassfish.apf.AnnotationHandlerFor;
-import org.glassfish.security.common.Role;
-import org.jvnet.hk2.annotations.Service;
-
-import jakarta.annotation.security.DenyAll;
-import jakarta.annotation.security.PermitAll;
-import jakarta.annotation.security.RolesAllowed;
-import java.lang.annotation.Annotation;
-
-/**
- * This handler is responsible for handling the
- * jakarta.annotation.security.RolesAllowed.
- *
- * @author Shing Wai Chan
- */
-@Service
-@AnnotationHandlerFor(RolesAllowed.class)
-public class RolesAllowedHandler extends AbstractAuthAnnotationHandler {
-
- public RolesAllowedHandler() {
- }
-
- /**
- * Add roles and permissions to given method in EjbDescriptor.
- * @param annotation
- * @param ejbDesc
- * @param md
- */
- @Override
- protected void processEjbMethodSecurity(Annotation authAnnotation,
- MethodDescriptor md, EjbDescriptor ejbDesc) {
-
- RolesAllowed rolesAllowedAn = (RolesAllowed)authAnnotation;
- for (String roleName : rolesAllowedAn.value()) {
- Role role = new Role(roleName);
- // add role if not exists
- ejbDesc.getEjbBundleDescriptor().addRole(role);
- ejbDesc.addPermissionedMethod(new MethodPermission(role), md);
- }
- }
-
- /**
- * @return an array of annotation types this annotation handler would
- * require to be processed (if present) before it processes it's own
- * annotation type.
- */
- @Override
- public Class<? extends Annotation>[] getTypeDependencies() {
- return getEjbAnnotationTypes();
- }
-
- @Override
- protected Class<? extends Annotation>[] relatedAnnotationTypes() {
- return new Class[] { DenyAll.class, PermitAll.class };
- }
-
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/RunAsHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/RunAsHandler.java
deleted file mode 100644
index 8edd797..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/RunAsHandler.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.annotation.handlers.AbstractCommonAttributeHandler;
-import org.glassfish.apf.AnnotationHandlerFor;
-import org.glassfish.security.common.Role;
-import com.sun.enterprise.deployment.RunAsIdentityDescriptor;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import com.sun.enterprise.deployment.annotation.context.EjbContext;
-import com.sun.enterprise.deployment.annotation.context.WebBundleContext;
-import com.sun.enterprise.deployment.annotation.context.WebComponentContext;
-import org.glassfish.apf.AnnotationInfo;
-import org.glassfish.apf.AnnotationProcessorException;
-import org.glassfish.apf.HandlerProcessingResult;
-import org.jvnet.hk2.annotations.Service;
-
-import jakarta.annotation.security.RunAs;
-import java.lang.annotation.Annotation;
-
-/**
- * This handler is responsible for handling the
- * jakarta.annotation.security.RunAs.
- * @author Shing Wai Chan
- */
-@Service
-@AnnotationHandlerFor(RunAs.class)
-public class RunAsHandler extends AbstractCommonAttributeHandler {
-
- public RunAsHandler() {
- }
-
- protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo,
- EjbContext[] ejbContexts) throws AnnotationProcessorException {
-
- RunAs runAsAn = (RunAs)ainfo.getAnnotation();
-
- for (EjbContext ejbContext : ejbContexts) {
- EjbDescriptor ejbDesc = ejbContext.getDescriptor();
- // override by xml
- if (ejbDesc.getUsesCallerIdentity() != null) {
- continue;
- }
- String roleName = runAsAn.value();
- Role role = new Role(roleName);
- // add Role if not exists
- ejbDesc.getEjbBundleDescriptor().addRole(role);
- RunAsIdentityDescriptor runAsDesc = new RunAsIdentityDescriptor();
- runAsDesc.setRoleName(roleName);
- ejbDesc.setUsesCallerIdentity(false);
- if (ejbDesc.getRunAsIdentity() == null) {
- ejbDesc.setRunAsIdentity(runAsDesc);
- }
- }
-
- return getDefaultProcessedResult();
- }
-
- protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo,
- WebComponentContext[] webCompContexts) throws AnnotationProcessorException {
- RunAs runAsAn = (RunAs)ainfo.getAnnotation();
-
- for (WebComponentContext webCompContext : webCompContexts) {
- WebComponentDescriptor webDesc = webCompContext.getDescriptor();
- // override by xml
- if (webDesc.getRunAsIdentity() != null) {
- continue;
- }
- String roleName = runAsAn.value();
- Role role = new Role(roleName);
- // add Role if not exists
- webDesc.getWebBundleDescriptor().addRole(role);
- RunAsIdentityDescriptor runAsDesc = new RunAsIdentityDescriptor();
- runAsDesc.setRoleName(roleName);
- webDesc.setRunAsIdentity(runAsDesc);
- }
-
- return getDefaultProcessedResult();
- }
-
- protected HandlerProcessingResult processAnnotation(AnnotationInfo ainfo,
- WebBundleContext webBundleContext)
- throws AnnotationProcessorException {
- return getInvalidAnnotatedElementHandlerResult(
- ainfo.getProcessingContext().getHandler(), ainfo);
- }
-
-
- public Class<? extends Annotation>[] getTypeDependencies() {
- return getEjbAndWebAnnotationTypes();
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/SecurityPermissionHandler.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/SecurityPermissionHandler.java
deleted file mode 100644
index f6b40d8..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/annotation/handlers/SecurityPermissionHandler.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.annotation.handlers;
-
-import com.sun.enterprise.deployment.annotation.context.RarBundleContext;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.annotation.handlers.AbstractHandler;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-import jakarta.resource.spi.Connector;
-import jakarta.resource.spi.SecurityPermission;
-import java.lang.annotation.Annotation;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-import org.glassfish.apf.*;
-import org.glassfish.apf.impl.AnnotationUtils;
-import org.glassfish.apf.impl.HandlerProcessingResultImpl;
-import org.jvnet.hk2.annotations.Service;
-
-/**
- * @author Jagadish Ramu
- */
-@Service
-@AnnotationHandlerFor(SecurityPermission.class)
-public class SecurityPermissionHandler extends AbstractHandler {
-
- protected final static LocalStringManagerImpl localStrings =
- new LocalStringManagerImpl(AbstractHandler.class);
-
- public HandlerProcessingResult processAnnotation(AnnotationInfo element) throws AnnotationProcessorException {
- AnnotatedElementHandler aeHandler = element.getProcessingContext().getHandler();
- SecurityPermission securityPermission = (SecurityPermission) element.getAnnotation();
-
- if (aeHandler instanceof RarBundleContext) {
- boolean isConnectionDefinition = hasConnectorAnnotation(element);
- if (isConnectionDefinition) {
- RarBundleContext rarContext = (RarBundleContext) aeHandler;
- ConnectorDescriptor desc = rarContext.getDescriptor();
- //XXX: Siva : For now use the first provided description
- String firstDesc = "";
- if (securityPermission.description().length > 0) {
- firstDesc = securityPermission.description()[0];
- }
- com.sun.enterprise.deployment.SecurityPermission permission =
- new com.sun.enterprise.deployment.SecurityPermission(firstDesc,
- securityPermission.permissionSpec());
- desc.addSecurityPermission(permission);
- } else {
- getFailureResult(element, "Not a @Connector annotation : @SecurityPermission must " +
- "be specified along with @Connector annotation", true);
- }
- } else {
- getFailureResult(element, "Not a rar bundle context", true);
- }
- return getDefaultProcessedResult();
- }
-
- public Class<? extends Annotation>[] getTypeDependencies() {
- return getConnectorAnnotationTypes();
- }
-
- /**
- * @return a default processed result
- */
- protected HandlerProcessingResult getDefaultProcessedResult() {
- return HandlerProcessingResultImpl.getDefaultResult(
- getAnnotationType(), ResultType.PROCESSED);
- }
-
- private boolean hasConnectorAnnotation(AnnotationInfo element) {
- Class c = (Class) element.getAnnotatedElement();
- return c.getAnnotation(Connector.class) != null;
- }
-
- private HandlerProcessingResultImpl getFailureResult(AnnotationInfo element, String message, boolean doLog) {
- HandlerProcessingResultImpl result = new HandlerProcessingResultImpl();
- result.addResult(getAnnotationType(), ResultType.FAILED);
- if (doLog) {
- Class c = (Class) element.getAnnotatedElement();
- String className = c.getName();
- Object args[] = new Object[]{
- element.getAnnotation(),
- className,
- message,
- };
- String localString = localStrings.getLocalString(
- "enterprise.deployment.annotation.handlers.connectorannotationfailure",
- "failed to handle annotation [ {0} ] on class [ {1} ], reason : {2}", args);
- logger.log(Level.WARNING, localString);
- }
- return result;
- }
-
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/LocalStrings.properties b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/LocalStrings.properties
deleted file mode 100644
index 3573171..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/LocalStrings.properties
+++ /dev/null
@@ -1,20 +0,0 @@
-#
-# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-enterprise.deployment.node.invaliddeploymentdescriptors=Invalid Deployment Descriptors in {0} \nError at line {1} Column {2} -- {3}
-
-enterprise.deployment.node.invalidvalue=Invalid value for a tag under {0} : {1}
-invalid.root.element={0} Element [{1}] is not a valid root element
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/RunAsNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/RunAsNode.java
deleted file mode 100644
index 3acf97e..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/RunAsNode.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * RunAsNode.java
- *
- * Created on January 30, 2002, 9:23 AM
- */
-
-package com.sun.enterprise.security.deployment.node;
-
-import com.sun.enterprise.deployment.RunAsIdentityDescriptor;
-import com.sun.enterprise.deployment.node.DeploymentDescriptorNode;
-import com.sun.enterprise.deployment.xml.EjbTagNames;
-import org.w3c.dom.Node;
-
-import java.util.Map;
-
-/**
- * This class handles the run-as xml fragment
- *
- * @author Jer ome Dochez
- * @version
- */
-public class RunAsNode extends DeploymentDescriptorNode {
-
- /**
- * all sub-implementation of this class can use a dispatch table to map xml element to
- * method name on the descriptor class for setting the element value.
- *
- * @return the map with the element name as a key, the setter method as a value
- */
- protected Map getDispatchTable() {
- // no need to be synchronized for now
- Map table = super.getDispatchTable();
- table.put(EjbTagNames.ROLE_NAME, "setRoleName");
- return table;
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node in the DOM tree
- * @param node name for the root element for this DOM tree fragment
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, RunAsIdentityDescriptor descriptor) {
- Node subNode = super.writeDescriptor(parent, nodeName, descriptor);
- writeLocalizedDescriptions(subNode, descriptor);
- appendTextChild(subNode, EjbTagNames.ROLE_NAME, descriptor.getRoleName());
- return subNode;
- }
-
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/SecurityRoleNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/SecurityRoleNode.java
deleted file mode 100644
index a659b97..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/SecurityRoleNode.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.node;
-
-import com.sun.enterprise.deployment.node.DeploymentDescriptorNode;
-import org.glassfish.security.common.Role;
-import com.sun.enterprise.deployment.SecurityRoleDescriptor;
-import com.sun.enterprise.deployment.xml.TagNames;
-import org.w3c.dom.Node;
-
-import java.util.Map;
-
-/**
- *
- * @author Jerome Dochez
- * @version
- */
-public class SecurityRoleNode extends DeploymentDescriptorNode {
-
- /**
- * Declare the setName method as an action on the SecurityRoleDescriptor, as initialized by the
- * DescriptorFactory.
- * <p>
- * The DeploymentDescriptorNode superclass specifies the setDescription method for the description
- * element, so we just add the setName action to that dispatch table.
- *
- * @return the map with the element name as a key, the setter method as a value
- */
- protected Map getDispatchTable() {
- Map table = super.getDispatchTable();
- table.put(TagNames.ROLE_NAME, "setName");
- return table;
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node in the DOM tree
- * @param node name for the root element of this xml fragment
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, Role descriptor) {
- Node roleNode = appendChild(parent, nodeName);
- appendTextChild(roleNode, TagNames.DESCRIPTION, descriptor.getDescription());
- appendTextChild(roleNode, TagNames.ROLE_NAME, descriptor.getName());
- return roleNode;
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node in the DOM tree
- * @param node name for the root element of this xml fragment
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, SecurityRoleDescriptor descriptor) {
- Node roleNode = appendChild(parent, nodeName);
- appendTextChild(roleNode, TagNames.DESCRIPTION, descriptor.getDescription());
- appendTextChild(roleNode, TagNames.ROLE_NAME, descriptor.getName());
- return roleNode;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/SecurityRoleRefNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/SecurityRoleRefNode.java
deleted file mode 100644
index 568df72..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/SecurityRoleRefNode.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * SecurityRoleRefNode.java
- *
- * Created on January 24, 2002, 4:57 PM
- */
-
-package com.sun.enterprise.security.deployment.node;
-
-import com.sun.enterprise.deployment.node.DeploymentDescriptorNode;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.RoleReference;
-import com.sun.enterprise.deployment.xml.EjbTagNames;
-import org.w3c.dom.Node;
-
-import java.util.Map;
-
-/**
- * This class handles the DD xml security-role-ref tag
- *
- * @author Jerome Dochez
- * @version
- */
-public class SecurityRoleRefNode extends DeploymentDescriptorNode {
-
- /**
- * all sub-implementation of this class can use a dispatch table to map xml element to
- * method name on the descriptor class for setting the element value.
- *
- * @return the map with the element name as a key, the setter method as a value
- */
- protected Map getDispatchTable() {
- // no need to be synchronized for now
- Map table = super.getDispatchTable();
- table.put(EjbTagNames.ROLE_NAME, "setName");
- table.put(EjbTagNames.ROLE_LINK, "setValue");
- return table;
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node in the DOM tree
- * @param node name for the root element for this DOM tree fragment
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, Descriptor descriptor) {
- if (! (descriptor instanceof RoleReference)) {
- throw new IllegalArgumentException(getClass() + " cannot handles descriptors of type " + descriptor.getClass());
- }
- RoleReference roleRef = (RoleReference) descriptor;
- Node subNode = super.writeDescriptor(parent, nodeName, roleRef);
-
- writeLocalizedDescriptions(subNode, descriptor);
-
- appendTextChild(subNode, EjbTagNames.ROLE_NAME, roleRef.getName());
- appendTextChild(subNode, EjbTagNames.ROLE_LINK, roleRef.getValue());
- return subNode;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/GroupNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/GroupNode.java
deleted file mode 100644
index 8211cae..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/GroupNode.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.security.deployment.node.runtime;
-
-import com.sun.enterprise.deployment.node.DeploymentDescriptorNode;
-import com.sun.enterprise.deployment.node.XMLElement;
-import com.sun.enterprise.deployment.xml.RuntimeTagNames;
-import org.glassfish.security.common.Group;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.xml.sax.Attributes;
-
-
-/**
- * This node handles the group definition in the runtime DDs
- *
- * @author Jerome Dochez
- * @version
- */
-public class GroupNode extends DeploymentDescriptorNode {
-
- Group group=null;
-
- /**
- * @return the descriptor instance to associate with this XMLNode
- */
- public Object getDescriptor() {
- return group;
- }
-
- /**
- * SAX Parser API implementation, we don't really care for now.
- */
- public void startElement(XMLElement element, Attributes attributes) {
-
- if (RuntimeTagNames.GROUP.equals(element.getQName())) {
- for (int i=0; i<attributes.getLength();i++) {
- if (RuntimeTagNames.NAME.equals(attributes.getQName(i))) {
- group = new Group(attributes.getValue(i));
- }
- }
- }
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node for the DOM tree
- * @param node name
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, Group descriptor) {
- Element principal = appendChild(parent, nodeName);
- setAttribute(principal, RuntimeTagNames.NAME, descriptor.getName());
- return principal;
-
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/IORConfigurationNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/IORConfigurationNode.java
deleted file mode 100644
index c3b9767..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/IORConfigurationNode.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * IORConfigurationNode.java
- *
- * Created on March 12, 2002, 9:51 AM
- */
-
-package org.glassfish.security.deployment.node.runtime;
-
-import com.sun.enterprise.deployment.EjbIORConfigurationDescriptor;
-import com.sun.enterprise.deployment.node.DeploymentDescriptorNode;
-import com.sun.enterprise.deployment.xml.RuntimeTagNames;
-import org.w3c.dom.Node;
-
-import java.util.Map;
-
-/**
- * This node handles all EJB IOR Configuration information
- *
- * @author Jerome Dochez
- * @version
- */
-public class IORConfigurationNode extends DeploymentDescriptorNode {
-
- EjbIORConfigurationDescriptor descriptor = new EjbIORConfigurationDescriptor();
-
- /**
- * @return the descriptor instance to associate with this XMLNode
- */
- public Object getDescriptor() {
- return descriptor;
- }
-
- /**
- * all sub-implementation of this class can use a dispatch table to map xml element to
- * method name on the descriptor class for setting the element value.
- *
- * @return the map with the element name as a key, the setter method as a value
- */
- protected Map getDispatchTable() {
- Map table = super.getDispatchTable();
-
- // transport-config
- table.put(RuntimeTagNames.INTEGRITY, "setIntegrity");
- table.put(RuntimeTagNames.CONFIDENTIALITY, "setConfidentiality");
- table.put(RuntimeTagNames.ESTABLISH_TRUST_IN_TARGET, "setEstablishTrustInTarget");
- table.put(RuntimeTagNames.ESTABLISH_TRUST_IN_CLIENT, "setEstablishTrustInClient");
-
- // as-context
- table.put(RuntimeTagNames.AUTH_METHOD, "setAuthenticationMethod");
- table.put(RuntimeTagNames.REALM, "setRealmName");
- table.put(RuntimeTagNames.REQUIRED, "setAuthMethodRequired");
-
- // sas-context
- table.put(RuntimeTagNames.CALLER_PROPAGATION, "setCallerPropagation");
-
- return table;
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node for the DOM tree
- * @param node name for
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, EjbIORConfigurationDescriptor iorDesc) {
- Node iorNode = appendChild(parent, nodeName);
- Node transportNode = appendChild(iorNode, RuntimeTagNames.TRANSPORT_CONFIG);
-
- appendTextChild(transportNode, RuntimeTagNames.INTEGRITY, iorDesc.getIntegrity());
- appendTextChild(transportNode, RuntimeTagNames.CONFIDENTIALITY, iorDesc.getConfidentiality());
- appendTextChild(transportNode, RuntimeTagNames.ESTABLISH_TRUST_IN_TARGET,
- iorDesc.getEstablishTrustInTarget());
- appendTextChild(transportNode, RuntimeTagNames.ESTABLISH_TRUST_IN_CLIENT,
- iorDesc.getEstablishTrustInClient());
-
- // These two sub-elements should only be added if needed.
- Node asContextNode = appendChild(iorNode, RuntimeTagNames.AS_CONTEXT);
- appendTextChild(asContextNode, RuntimeTagNames.AUTH_METHOD, iorDesc.getAuthenticationMethod());
- appendTextChild(asContextNode, RuntimeTagNames.REALM, iorDesc.getRealmName());
- appendTextChild(asContextNode, RuntimeTagNames.REQUIRED,
- Boolean.valueOf(iorDesc.isAuthMethodRequired()).toString());
-
- Node sasContextNode = appendChild(iorNode, RuntimeTagNames.SAS_CONTEXT);
- appendTextChild(sasContextNode, RuntimeTagNames.CALLER_PROPAGATION, iorDesc.getCallerPropagation());
- return iorNode;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/PrincipalNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/PrincipalNode.java
deleted file mode 100644
index 26685fa..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/PrincipalNode.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.security.deployment.node.runtime;
-
-import com.sun.enterprise.deployment.node.DeploymentDescriptorNode;
-import com.sun.enterprise.deployment.node.XMLElement;
-import com.sun.enterprise.deployment.xml.RuntimeTagNames;
-import org.glassfish.security.common.PrincipalImpl;
-import org.w3c.dom.Node;
-
-/**
- * This mode handles the principal definition in the runtine DDs
- *
- * @author Jerome Dochez
- * @version
- */
-public class PrincipalNode extends DeploymentDescriptorNode {
-
- PrincipalImpl principal=null;
-
- /**
- * @return the descriptor instance to associate with this XMLNode
- */
- public Object getDescriptor() {
- return principal;
- }
-
- /**
- * receives notification of the value for a particular tag
- *
- * @param element the xml element
- * @param value it's associated value
- */
- public void setElementValue(XMLElement element, String value) {
-
- if (RuntimeTagNames.NAME.equals(element.getQName())) {
- principal = new PrincipalImpl(value);
- } else super.setElementValue(element, value);
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node for the DOM tree
- * @param node name
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, PrincipalImpl descriptor) {
- Node principal = appendChild(parent, nodeName);
- appendTextChild(principal, RuntimeTagNames.NAME, descriptor.getName());
- return principal;
-
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/PrincipalNameNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/PrincipalNameNode.java
deleted file mode 100644
index b26ddb6..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/PrincipalNameNode.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.security.deployment.node.runtime.common;
-
-import com.sun.enterprise.deployment.node.XMLElement;
-import com.sun.enterprise.deployment.node.runtime.RuntimeDescriptorNode;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-import com.sun.enterprise.deployment.runtime.common.PrincipalNameDescriptor;
-import com.sun.enterprise.deployment.xml.RuntimeTagNames;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-
-/**
- * This node handles principal-name information
- *
- * @author deployment dev team
- */
-public class PrincipalNameNode extends RuntimeDescriptorNode {
-
- /**
- * receives notiification of the value for a particular tag
- *
- * @param element the xml element
- * @param value it's associated value
- */
- public void setElementValue(XMLElement element, String value) {
- PrincipalNameDescriptor principal =
- (PrincipalNameDescriptor) getDescriptor();
- if (RuntimeTagNames.PRINCIPAL_NAME.equals(element.getQName())) {
- principal.setName(value);
- Object rootDesc = getParentNode().getParentNode().getDescriptor();
- if (rootDesc instanceof RootDeploymentDescriptor) {
- principal.setClassLoader(((RootDeploymentDescriptor)rootDesc).getClassLoader());
- }
- } else super.setElementValue(element, value);
- }
-
- /**
- * parsed an attribute of an element
- *
- * @param the element name
- * @param the attribute name
- * @param the attribute value
- * @return true if the attribute was processed
- */
- protected boolean setAttributeValue(
- XMLElement element, XMLElement attribute, String value) {
-
- PrincipalNameDescriptor principal =
- (PrincipalNameDescriptor) getDescriptor();
- if (attribute.getQName().equals(RuntimeTagNames.CLASS_NAME)) {
- principal.setClassName(value);
- return true;
- }
- return false;
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node for the DOM tree
- * @param node name for
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(
- Node parent, String nodeName, PrincipalNameDescriptor descriptor) {
-
- //principal-name
- Element principal = (Element) appendTextChild(
- parent, RuntimeTagNames.PRINCIPAL_NAME, descriptor.getName());
-
- // class-name
- setAttribute(principal, RuntimeTagNames.CLASS_NAME, descriptor.getClassName());
-
- return principal;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/SecurityRoleMappingNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/SecurityRoleMappingNode.java
deleted file mode 100644
index a6ea0a3..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/SecurityRoleMappingNode.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.security.deployment.node.runtime.common;
-
-import com.sun.enterprise.deployment.node.XMLElement;
-import com.sun.enterprise.deployment.node.runtime.RuntimeDescriptorNode;
-import com.sun.enterprise.deployment.runtime.common.PrincipalNameDescriptor;
-import com.sun.enterprise.deployment.runtime.common.SecurityRoleMapping;
-import com.sun.enterprise.deployment.xml.RuntimeTagNames;
-import org.w3c.dom.Node;
-
-import java.util.List;
-
-/**
- * This node handles all the role mapping information
- *
- * @author Jerome Dochez
- * @version
- */
-public class SecurityRoleMappingNode extends RuntimeDescriptorNode {
-
- public SecurityRoleMappingNode() {
- registerElementHandler(
- new XMLElement(RuntimeTagNames.PRINCIPAL_NAME),
- PrincipalNameNode.class, "addPrincipalName");
- }
-
- /**
- * receives notiification of the value for a particular tag
- *
- * @param element the xml element
- * @param value it's associated value
- */
- public void setElementValue(XMLElement element, String value) {
- SecurityRoleMapping srm = (SecurityRoleMapping) getDescriptor();
- if (RuntimeTagNames.ROLE_NAME.equals(element.getQName())) {
- srm.setRoleName(value);
- } else if (RuntimeTagNames.GROUP_NAME.equals(element.getQName())) {
- srm.addGroupName(value);
- } else super.setElementValue(element, value);
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node for the DOM tree
- * @param node name
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, SecurityRoleMapping descriptor) {
- Node roleMapping = appendChild(parent, nodeName);
-
- //role-name
- appendTextChild(roleMapping, RuntimeTagNames.ROLE_NAME, descriptor.getRoleName());
-
- //principal-name+
- PrincipalNameNode principal = new PrincipalNameNode();
- List<PrincipalNameDescriptor> principals = descriptor.getPrincipalNames();
- for (int i = 0; i < principals.size(); i++) {
- principal.writeDescriptor(
- roleMapping, RuntimeTagNames.PRINCIPAL_NAME, principals.get(i));
- }
-
- //group+
- List<String> groups = descriptor.getGroupNames();
- for (int i = 0; i < groups.size(); i++) {
- appendTextChild(roleMapping, RuntimeTagNames.GROUP_NAME, groups.get(i));
- }
- return roleMapping;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/WLSecurityRoleAssignmentNode.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/WLSecurityRoleAssignmentNode.java
deleted file mode 100644
index de89a7d..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/node/runtime/common/WLSecurityRoleAssignmentNode.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package org.glassfish.security.deployment.node.runtime.common;
-
-import com.sun.enterprise.deployment.node.XMLElement;
-import com.sun.enterprise.deployment.node.runtime.RuntimeDescriptorNode;
-import com.sun.enterprise.deployment.runtime.common.WLSecurityRoleAssignment;
-import com.sun.enterprise.deployment.xml.RuntimeTagNames;
-import org.w3c.dom.Node;
-
-import java.util.List;
-
-/**
- * This node handles all the role mapping information for weblogic-application.xml
- *
- * @author Sudarsan Sridhar
- * @version
- */
-public class WLSecurityRoleAssignmentNode extends RuntimeDescriptorNode {
-
- public WLSecurityRoleAssignmentNode() {
- }
-
- /**
- * receives notification of the value for a particular tag
- *
- * @param element the xml element
- * @param value it's associated value
- */
- public void setElementValue(XMLElement element, String value) {
- WLSecurityRoleAssignment sra = (WLSecurityRoleAssignment) getDescriptor();
- if (RuntimeTagNames.ROLE_NAME.equals(element.getQName())) {
- sra.setRoleName(value);
- } else if (RuntimeTagNames.PRINCIPAL_NAME.equals(element.getQName())) {
- sra.addPrincipalName(value);
- } else if (RuntimeTagNames.EXTERNALLY_DEFINED.equals(element.getQName())) {
- sra.setExternallyDefined();
- } else {
- super.setElementValue(element, value);
- }
- }
-
- /**
- * write the descriptor class to a DOM tree and return it
- *
- * @param parent node for the DOM tree
- * @param node name
- * @param the descriptor to write
- * @return the DOM tree top node
- */
- public Node writeDescriptor(Node parent, String nodeName, WLSecurityRoleAssignment descriptor) {
- Node roleMapping = appendChild(parent, nodeName);
-
- //role-name
- appendTextChild(roleMapping, RuntimeTagNames.ROLE_NAME, descriptor.getRoleName());
-
- //externally-defined
- if (descriptor.isExternallyDefined()){
- appendChild(roleMapping, RuntimeTagNames.EXTERNALLY_DEFINED);
- }
-
- //principal-name+
- List<String> principals = descriptor.getPrincipalNames();
- for (int i = 0; i < principals.size(); i++) {
- appendTextChild(roleMapping, RuntimeTagNames.PRINCIPAL_NAME, principals.get(i));
- }
- return roleMapping;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/PrincipalNameDescriptor.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/PrincipalNameDescriptor.java
deleted file mode 100644
index 9bc9f4f..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/PrincipalNameDescriptor.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.runtime.common;
-
-import org.glassfish.deployment.common.Descriptor;
-
-import java.lang.reflect.Constructor;
-import java.security.Principal;
-
-/**
- * This is an in memory representation of the principal-name with its name of
- * the implementation class.
- * @author deployment dev team
- */
-public class PrincipalNameDescriptor extends Descriptor {
-
- private static final String defaultClassName =
- "org.glassfish.security.common.PrincipalImpl";
- private String principalName = null;
- private String className = null;
- private ClassLoader cLoader = null;
-
- public PrincipalNameDescriptor() {}
-
- public String getName() {
- return principalName;
- }
-
- public String getClassName() {
- if (className == null) {
- return defaultClassName;
- }
- return className;
- }
-
- public void setName(String name) {
- principalName = name;
- }
-
- public void setClassName(String name) {
- className = name;
- }
-
- public void setClassLoader(ClassLoader c) {
- cLoader = c;
- }
-
- public Principal getPrincipal() {
- try {
- if (cLoader == null) {
- cLoader = Thread.currentThread().getContextClassLoader();
- }
- Class clazz = Class.forName(getClassName(), true, cLoader);
- Constructor constructor =
- clazz.getConstructor(new Class[]{String.class});
- Object o = constructor.newInstance(new Object[]{principalName});
- return (Principal) o;
- } catch(Exception ex) {
- RuntimeException e = new RuntimeException();
- e.initCause(ex);
- throw e;
- }
- }
-
- public String toString() {
- return "principal-name " + principalName + "; className " + getClassName();
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/SecurityRoleMapping.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/SecurityRoleMapping.java
deleted file mode 100644
index 30084f5..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/SecurityRoleMapping.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.runtime.common;
-
-import com.sun.enterprise.deployment.runtime.RuntimeDescriptor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This is the in memory representation of the security-role-mapping
- * information. Note that we are keeping just the literal Strings
- * in this object. The implementation of Principal is not instantiated
- * here. This is because 1) the dol should avoid loading any classes
- * as the classloaders used for deployment and runtime can be different.
- * 2) verifier uses this information and it has not access to the rolemaper
- * on the server.
- *
- * @author Jerome Dochez
- */
-public class SecurityRoleMapping extends RuntimeDescriptor {
-
- private String roleName = null; //mandatory element
- private List<PrincipalNameDescriptor> principals =
- new ArrayList<PrincipalNameDescriptor>();
- private List<String> groups = new ArrayList<String>();
-
- public String getRoleName() {
- return roleName;
- }
-
- public void setRoleName(String name) {
- roleName = name;
- }
-
- public List<PrincipalNameDescriptor> getPrincipalNames() {
- return principals;
- }
-
- public void addPrincipalName(PrincipalNameDescriptor p) {
- principals.add(p);
- }
-
- public List<String> getGroupNames() {
- return groups;
- }
-
- public void addGroupName(String g) {
- groups.add(g);
- }
-
- /**
- *@deprecated
- *This method needs to be removed once the custom principal is fully
- *supported. We keep it for now for backward compatiblity in API. Note
- *that this method only returns the name of the principals, not their
- *class-names. Use with caution!
- */
- public String[] getPrincipalName() {
- String[] names = new String[principals.size()];
- for (int i = 0; i < principals.size(); i++) {
- names[i] = principals.get(i).getName();
- }
- return names;
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/WLSecurityRoleAssignment.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/WLSecurityRoleAssignment.java
deleted file mode 100644
index c28fa8b..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/runtime/common/WLSecurityRoleAssignment.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.runtime.common;
-
-import com.sun.enterprise.deployment.runtime.RuntimeDescriptor;
-
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * This is the in memory representation of the security-role-mapping
- * information. Note that we are keeping just the literal Strings
- * in this object. The implementation of Principal is not instantiated
- * here. This is because 1) the dol should avoid loading any classes
- * as the classloaders used for deployment and runtime can be different.
- * 2) verifier uses this information and it has not access to the
- * role-mapper on the server.
- *
- * @author Sudarsan Sridhar
- */
-public class WLSecurityRoleAssignment extends RuntimeDescriptor {
-
- private String roleName = null; //mandatory element
- private List<String> principals = new ArrayList<String>();
- private boolean externallyDefined = false;
-
- public boolean isExternallyDefined() {
- return externallyDefined;
- }
-
- public void setExternallyDefined() {
- externallyDefined = true;
- }
-
-
- public String getRoleName() {
- return roleName;
- }
-
- public void setRoleName(String name) {
- roleName = name;
- }
-
- public List<String> getPrincipalNames() {
- return principals;
- }
-
- public void addPrincipalName(String p) {
- principals.add(p);
- }
-}
diff --git a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/types/RoleMappingContainer.java b/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/types/RoleMappingContainer.java
deleted file mode 100644
index de05745..0000000
--- a/appserver/security/security-dol/src/main/java/com/sun/enterprise/security/deployment/types/RoleMappingContainer.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.security.deployment.types;
-
-import org.glassfish.deployment.common.SecurityRoleMapper;
-
-/**
- * This interface defines the behaviour of all Role Mapping container
- *
- * @author Jerome Dochez
- * @version
- */
-public interface RoleMappingContainer {
-
- /**
- * Return my mapping of rolename to users and groups on a particular
- * server.
- */
- public SecurityRoleMapper getRoleMapper();
-
-}
-
diff --git a/appserver/security/security-dol/src/test/java/.gitkeep_empty_dir b/appserver/security/security-dol/src/test/java/.gitkeep_empty_dir
deleted file mode 100644
index e69de29..0000000
--- a/appserver/security/security-dol/src/test/java/.gitkeep_empty_dir
+++ /dev/null
diff --git a/appserver/security/webintegration/pom.xml b/appserver/security/webintegration/pom.xml
index e37653d..d7e2f24 100644
--- a/appserver/security/webintegration/pom.xml
+++ b/appserver/security/webintegration/pom.xml
@@ -127,8 +127,8 @@
<version>${project.version}</version>
</dependency>
<dependency>
- <groupId>jakarta.security.auth.message</groupId>
- <artifactId>jakarta.security.auth.message-api</artifactId>
+ <groupId>jakarta.authentication</groupId>
+ <artifactId>jakarta.authentication-api</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish.external</groupId>
diff --git a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/LogUtils.java b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/LogUtils.java
index 0f4e32f..c4143d4 100644
--- a/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/LogUtils.java
+++ b/appserver/security/webservices.security/src/main/java/com/sun/enterprise/security/webservices/LogUtils.java
@@ -32,7 +32,7 @@
public static final String LOG_MESSAGES = "com.sun.enterprise.security.webservices.LogMessages";
@LoggerInfo(subsystem = "WEBSERVICES", description = "Web Services Security Logger", publish = true)
- public static final String LOG_DOMAIN = "javax.enterprise.webservices.security";
+ public static final String LOG_DOMAIN = "jakarta.enterprise.webservices.security";
private static final Logger LOGGER = Logger.getLogger(LOG_DOMAIN, LOG_MESSAGES);
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/LoggingCommandTest.java b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/LoggingCommandTest.java
index 144021b..c48ba75 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/LoggingCommandTest.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/LoggingCommandTest.java
@@ -261,37 +261,37 @@
private void testListLogLevleInServer(){
String testName = "testListLogLevleInServer";
AsadminReturn result = asadminWithOutput(LIST_LOG_LEVEL, SERVER);
- reportExpectedResult(testName, result, "javax.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
+ reportExpectedResult(testName, result, "jakarta.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
}
private void testListLogLevleInCluster(){
String testName = "testListLogLevleInCluster";
AsadminReturn result = asadminWithOutput(LIST_LOG_LEVEL, CLUSTER_NAME);
- reportExpectedResult(testName, result, "javax.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
+ reportExpectedResult(testName, result, "jakarta.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
}
private void testListLogLevleInStandaloneInstance(){
String testName = "testListLogLevleInStandaloneInstance";
AsadminReturn result = asadminWithOutput(LIST_LOG_LEVEL, STANDALONE_INSTANCE_NAME);
- reportExpectedResult(testName, result, "javax.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
+ reportExpectedResult(testName, result, "jakarta.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
}
private void testListLogLevleInServerConfig(){
String testName = "testListLogLevleInServerConfig";
AsadminReturn result = asadminWithOutput(LIST_LOG_LEVEL, SERVER+"-config");
- reportExpectedResult(testName, result, "javax.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
+ reportExpectedResult(testName, result, "jakarta.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
}
private void testListLogLevleInClusterConfig(){
String testName = "testListLogLevleInClusterConfig";
AsadminReturn result = asadminWithOutput(LIST_LOG_LEVEL, CLUSTER_NAME+"-config");
- reportExpectedResult(testName, result, "javax.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
+ reportExpectedResult(testName, result, "jakarta.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
}
private void testListLogLevleInStandaloneInstanceConfig(){
String testName = "testListLogLevleInStandaloneInstanceConfig";
AsadminReturn result = asadminWithOutput(LIST_LOG_LEVEL, STANDALONE_INSTANCE_NAME+"-config");
- reportExpectedResult(testName, result, "javax.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
+ reportExpectedResult(testName, result, "jakarta.enterprise.system.ssl.security","java.util.logging.ConsoleHandler");
}
private void testCollectLogFilesInServer(){
diff --git a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/monitoring/Jira.java b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/monitoring/Jira.java
index 1213189..8534db7 100644
--- a/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/monitoring/Jira.java
+++ b/appserver/tests/appserv-tests/devtests/admin/cli/src/admin/monitoring/Jira.java
@@ -324,7 +324,7 @@
// verify that changing mon-level does not cause any logging
// don't just ASSUME it is set to INFO!!!
- report(asadmin("set-log-levels", "javax.enterprise.system.tools.monitor=INFO"), "set-log-level-back");
+ report(asadmin("set-log-levels", "jakarta.enterprise.system.tools.monitor=INFO"), "set-log-level-back");
// clear log
listener.getLatest(3);
@@ -338,7 +338,7 @@
s = listener.getLatest(2);
report(s.indexOf("monitor") < 0, prepend + "no-log-output");
- report(asadmin("set-log-levels", "javax.enterprise.system.tools.monitor=FINE"), "set-log-level-to-fine");
+ report(asadmin("set-log-levels", "jakarta.enterprise.system.tools.monitor=FINE"), "set-log-level-to-fine");
s = listener.getLatest(5);
report(s.length() > 0, prepend + "set-log-level was noticed");
@@ -356,7 +356,7 @@
//report(s.indexOf("monitor") >= 0, prepend + "yes-log-output");
// return to original state
- report(asadmin("set-log-levels", "javax.enterprise.system.tools.monitor=INFO"), "set-log-level-back");
+ report(asadmin("set-log-levels", "jakarta.enterprise.system.tools.monitor=INFO"), "set-log-level-back");
s = listener.getLatest(5);
report(s.length() > 0, prepend + "set-log-level was noticed");
}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/build.xml b/appserver/tests/appserv-tests/devtests/cdi/build.xml
index 0d9d960..56f1e1e 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/build.xml
@@ -170,7 +170,11 @@
<target name="cdi">
<record name="cdi.output" action="start" />
<echo message="@@## Running all CDI developer tests##@@"/>
+
+ <echo message="Running smoke-tests"/>
<ant dir="smoke-tests" target="${cdi-target}"/>
+
+ <echo message="Running qualifiers"/>
<ant dir="qualifiers" target="${cdi-target}"/>
<!--
@@ -181,13 +185,29 @@
<ant dir="alternatives" target="${cdi-target}"/>
<ant dir="ambiguous-deps" target="${cdi-target}"/>
-->
+
+ <echo message="Running events"/>
<ant dir="events" target="${cdi-target}"/>
+
+ <echo message="Running injection-point"/>
<ant dir="injection-point" target="${cdi-target}"/>
+
+ <echo message="Running interceptors"/>
<ant dir="interceptors" target="${cdi-target}"/>
+
+ <echo message="Running javaee-component-resources"/>
<ant dir="javaee-component-resources" target="${cdi-target}"/>
+
+ <echo message="Running javaee-integration"/>
<ant dir="javaee-integration" target="${cdi-target}"/>
+
+ <echo message="Running managed-beans"/>
<ant dir="managed-beans" target="${cdi-target}"/>
+
+ <echo message="Running portable-extensions"/>
<ant dir="portable-extensions" target="${cdi-target}"/>
+
+ <echo message="Running producer-methods"/>
<ant dir="producer-methods" target="${cdi-target}"/>
<!--
@@ -198,13 +218,25 @@
<ant dir="programmatic-lookup" target="${cdi-target}"/>
-->
+ <echo message="Running scopes"/>
<ant dir="scopes" target="${cdi-target}"/>
+
+ <echo message="Running specialization"/>
<ant dir="specialization" target="${cdi-target}"/>
+
+ <echo message="Running stereotypes"/>
<ant dir="stereotypes" target="${cdi-target}"/>
+
+ <echo message="Running transactions"/>
<ant dir="transactions" target="${cdi-target}"/>
+
+ <echo message="Running unproxyable-deps"/>
<ant dir="unproxyable-deps" target="${cdi-target}"/>
+
+ <echo message="Running unsatisfied-deps"/>
<ant dir="unsatisfied-deps" target="${cdi-target}"/>
+ <echo message="Running implicit"/>
<ant dir="implicit" target="${cdi-target}"/>
<if>
@@ -213,9 +245,17 @@
<echo> Excluding testcase directory osgi-cdi for embedded mode</echo>
</then>
<else>
+ <!--
+ Not running until figherfish is back
+ -->
+ <!--
<ant dir="osgi-cdi" target="${cdi-target}"/>
+ -->
</else>
</if>
+
+ <echo message="***** DONE TESTING - GENERATING REPORT ******"/>
+
<!-- now generate report -->
<antcall target="report"/>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/implicit/deployment-option/client/Client.java.token b/appserver/tests/appserv-tests/devtests/cdi/implicit/deployment-option/client/Client.java.token
index f377ea1..aaba745 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/implicit/deployment-option/client/Client.java.token
+++ b/appserver/tests/appserv-tests/devtests/cdi/implicit/deployment-option/client/Client.java.token
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,7 +17,7 @@
import java.io.*;
import java.util.*;
-import javax.ejb.EJB;
+import jakarta.ejb.EJB;
import javax.naming.InitialContext;
import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/implicit/simple-ejb-cdi/client/Client.java.token b/appserver/tests/appserv-tests/devtests/cdi/implicit/simple-ejb-cdi/client/Client.java.token
index d1e456d..8fd82c4 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/implicit/simple-ejb-cdi/client/Client.java.token
+++ b/appserver/tests/appserv-tests/devtests/cdi/implicit/simple-ejb-cdi/client/Client.java.token
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,7 +17,7 @@
import java.io.*;
import java.util.*;
-import javax.ejb.EJB;
+import jakarta.ejb.EJB;
import javax.naming.InitialContext;
import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/WebTest.java b/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/WebTest.java
index 09cdfca..ec10196 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/WebTest.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/osgi-cdi/simple-wab-with-cdi/WebTest.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -28,8 +28,7 @@
*/
public class WebTest {
- private static SimpleReporterAdapter stat
- = new SimpleReporterAdapter("appserv-tests");
+ private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
private static final String TEST_NAME = "cdi-wab";
private static final String EXPECTED_RESPONSE = "Hello from Servlet 3.0";
@@ -42,7 +41,7 @@
port = args[1];
contextRoot = args[2];
}
-
+
public static void main(String[] args) {
stat.addDescription("Unit test for @WebServlet");
WebTest webTest = new WebTest(args);
@@ -51,7 +50,7 @@
}
public void doTest() {
- try {
+ try {
invoke();
} catch (Exception ex) {
System.out.println(TEST_NAME + " test failed");
@@ -61,12 +60,11 @@
}
private void invoke() throws Exception {
-
- Thread.sleep(2000); //WORKAROUND @XXX
+
+ Thread.sleep(2000); // WORKAROUND @XXX
String url = "http://" + host + ":" + port + contextRoot;
System.out.println("opening connection to " + url);
- HttpURLConnection conn = (HttpURLConnection)
- (new URL(url)).openConnection();
+ HttpURLConnection conn = (HttpURLConnection) (new URL(url)).openConnection();
int code = conn.getResponseCode();
if (code != 200) {
@@ -86,24 +84,23 @@
if (is != null) {
is.close();
}
- } catch(IOException ioe) {
+ } catch (IOException ioe) {
// ignore
}
try {
if (input != null) {
input.close();
}
- } catch(IOException ioe) {
+ } catch (IOException ioe) {
// ignore
}
}
if (EXPECTED_RESPONSE.equals(line)) {
stat.addStatus(TEST_NAME, stat.PASS);
} else {
- System.out.println("Wrong response. Expected: " +
- EXPECTED_RESPONSE + ", received: " + line);
+ System.out.println("Wrong response. Expected: " + EXPECTED_RESPONSE + ", received: " + line);
stat.addStatus(TEST_NAME, stat.FAIL);
}
- }
+ }
}
}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
index 0ce5910..05c481c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/portable-extensions/injection-target/servlet/test/servlet/PortableExtensionInjectionTargetTestServlet.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -35,8 +35,6 @@
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
-import com.sun.xml.bind.v2.schemagen.xmlschema.Annotated;
-
import test.beans.Preferred;
import test.beans.TestBean;
import test.beans.TransactionInterceptor;
@@ -45,23 +43,19 @@
import test.framework.TestFrameworkClassWithConstructorInjection;
import test.framework.TestFrameworkClassWithSetterAndFieldInjection;
-
-
@WebServlet(name = "mytest", urlPatterns = { "/myurl" })
public class PortableExtensionInjectionTargetTestServlet extends HttpServlet {
+
@Inject
@Preferred
TestBean tb;
-
+
@Inject
BeanManager bm;
-
+
String msg = "";
-
- public void service(HttpServletRequest req, HttpServletResponse res)
- throws IOException, ServletException {
-
+ public void service(HttpServletRequest req, HttpServletResponse res) throws IOException, ServletException {
PrintWriter writer = res.getWriter();
writer.write("Hello from Servlet 3.0.");
@@ -71,41 +65,38 @@
tb.m1();
if (!TransactionInterceptor.aroundInvokeCalled)
msg += "Business method interceptor aroundInvoke not called";
+
tb.m2();
if (TransactionInterceptor.aroundInvokeInvocationCount != 2)
- msg += "Business method interceptor invocation on method-level "
- + "interceptor annotation count not expected. "
- + "expected =2, actual="
+ msg += "Business method interceptor invocation on method-level " + "interceptor annotation count not expected. " + "expected =2, actual="
+ TransactionInterceptor.aroundInvokeInvocationCount;
if (!TransactionInterceptor.errorMessage.trim().equals(""))
msg += TransactionInterceptor.errorMessage;
-
- //check if our portable extension was called
+
+ // check if our portable extension was called
if (!MyExtension.beforeBeanDiscoveryCalled)
- msg += "Portable Extension lifecycle observer method: " +
- "beforeBeanDiscovery not called";
+ msg += "Portable Extension lifecycle observer method: " + "beforeBeanDiscovery not called";
if (!MyExtension.afterBeanDiscoveryCalled)
- msg += "Portable Extension lifecycle observer method: " +
- "afterBeanDiscovery not called or injection of BeanManager " +
- "in an observer method failed";
-
- if (!MyExtension.processAnnotatedTypeCalled)
- msg += "Portable Extension lifecycle observer method: process " +
- "annotated type not called";
+ msg += "Portable Extension lifecycle observer method: " + "afterBeanDiscovery not called or injection of BeanManager "
+ + "in an observer method failed";
- //BeanManager lookup
+ if (!MyExtension.processAnnotatedTypeCalled)
+ msg += "Portable Extension lifecycle observer method: process " + "annotated type not called";
+
+ // BeanManager lookup
if (bm == null)
msg += "Injection of BeanManager into servlet failed";
+
+ AnnotatedType<TestFrameworkClassWithConstructorInjection> atfc = bm.createAnnotatedType(TestFrameworkClassWithConstructorInjection.class);
- AnnotatedType<TestFrameworkClassWithConstructorInjection> atfc =
- bm.createAnnotatedType(TestFrameworkClassWithConstructorInjection.class);
- //First: Constructor Injection Framework class
+ // First: Constructor Injection Framework class
CreationalContext ctx = bm.createCreationalContext(null);
InjectionTarget<TestFrameworkClassWithConstructorInjection> it = bm.createInjectionTarget(atfc);
TestFrameworkClassWithConstructorInjection ctorInstance = it.produce(ctx);
- //Since this framework class needs to support constructor based injection
- //we need to ask the CDI runtime to produce the instance.
+
+ // Since this framework class needs to support constructor based injection
+ // we need to ask the CDI runtime to produce the instance.
it.inject(ctorInstance, ctx);
it.postConstruct(ctorInstance);
msg += ctorInstance.getInitialTestResults();
@@ -113,25 +104,22 @@
it.dispose(ctorInstance);
msg += ctorInstance.getFinalTestResults();
- //Second: Setter and Field based Injection into a Framework class
- AnnotatedType<TestFrameworkClassWithSetterAndFieldInjection> atsfi =
- bm.createAnnotatedType(TestFrameworkClassWithSetterAndFieldInjection.class);
+ // Second: Setter and Field based Injection into a Framework class
+ AnnotatedType<TestFrameworkClassWithSetterAndFieldInjection> atsfi = bm.createAnnotatedType(TestFrameworkClassWithSetterAndFieldInjection.class);
InjectionTarget<TestFrameworkClassWithSetterAndFieldInjection> it_set = bm.createInjectionTarget(atsfi);
- TestFrameworkClassWithSetterAndFieldInjection setterInstance =
- new TestFrameworkClassWithSetterAndFieldInjection("test");
+ TestFrameworkClassWithSetterAndFieldInjection setterInstance = new TestFrameworkClassWithSetterAndFieldInjection("test");
it_set.inject(setterInstance, ctx);
it_set.postConstruct(setterInstance);
msg += setterInstance.getInitialTestResults();
it_set.preDestroy(setterInstance);
it_set.dispose(setterInstance);
msg += setterInstance.getFinalTestResults();
-
+
writer.write(msg + "\n");
}
-
private void check(boolean condition, String errorMessage) {
- if(!condition){
+ if (!condition) {
msg += errorMessage;
}
}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/report.xml b/appserver/tests/appserv-tests/devtests/cdi/report.xml
index dde5850..a86c937 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/report.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/report.xml
@@ -1,6 +1,6 @@
<!--
- Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,22 +21,21 @@
<property name="htmlfile" value="${env.APS_HOME}/test_results.html" />
<target name="report">
-<echo message="Comparing results with expected results"/>
+ <echo message="Comparing results with expected results" />
-
- <xslt style="${stylesheet}"
- in="${xmlfile}"
- out="${htmlfile}"
- basedir="."
- destdir="."/>
- <antcall target="report-sh"/>
- <!--
- <ant dir="${env.APS_HOME}/util/filediff" target="modifyReport"/>
- -->
+ <if>
+ <available file="${xmlfile}" />
+ <then>
+ <xslt style="${stylesheet}" in="${xmlfile}" out="${htmlfile}" basedir="." destdir="." failOnNoResources="false" />
+ </then>
+ </if>
+
+
+ <antcall target="report-sh" />
</target>
<target name="report-sh">
<exec executable="sh">
- <arg value="./resultCount.sh"/>
+ <arg value="./resultCount.sh" />
</exec>
</target>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/resultCount.sh b/appserver/tests/appserv-tests/devtests/cdi/resultCount.sh
index f3d7be7..6a438a3 100755
--- a/appserver/tests/appserv-tests/devtests/cdi/resultCount.sh
+++ b/appserver/tests/appserv-tests/devtests/cdi/resultCount.sh
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,11 +16,10 @@
#
-#FILE=$APS_HOME/devtests/cdi/cdi.output
FILE=$APS_HOME/test_resultsValid.xml
echo "input file=$FILE"
-TOTAL=119
+TOTAL=115
PASSED=`grep "\"pass\"" $FILE | wc -l`
FAILED=`grep "\"fail\"" $FILE | wc -l`
TOTAL_RUN=`expr $PASSED + $FAILED `
diff --git a/appserver/tests/appserv-tests/devtests/cdi/run_test.sh b/appserver/tests/appserv-tests/devtests/cdi/run_test.sh
index f5181f3..d977d01 100755
--- a/appserver/tests/appserv-tests/devtests/cdi/run_test.sh
+++ b/appserver/tests/appserv-tests/devtests/cdi/run_test.sh
@@ -16,22 +16,32 @@
#
test_run(){
- #Fix for false positive
+ printf "\n%s \n\n" "===== TEST RUN - MAIN ====="
+
+ # Fix for false positive
echo "<property name=\"libraries\" value=\"' '\"/>" >> smoke-tests/simple-wab-with-cdi/build.properties
find . -name "RepRunConf.txt" | xargs rm -f
rm -rf *.output alltests.res ${APS_HOME}/test_results*
+
# Run the tests
set +e
- ant clean
+ ant clean -e -q > /dev/null
+
+ printf "\n%s \n\n" "===== TEST RUN - STARTING GLASSFISH AND DB ====="
${S1AS_HOME}/bin/asadmin start-domain
${S1AS_HOME}/bin/asadmin start-database
+
+ printf "\n%s \n\n" "===== TEST RUN - RUNNING TESTS ====="
ant ${TARGET} | tee ${TEST_RUN_LOG}
+
+ printf "\n%s \n\n" "===== TEST RUN - STOPPING GLASSFISH AND DB ====="
${S1AS_HOME}/bin/asadmin stop-domain
${S1AS_HOME}/bin/asadmin stop-database
set -e
}
get_test_target(){
+ printf "\n%s \n\n" "===== GETTING TEST TARGET ====="
case ${1} in
cdi_all )
TARGET=all
@@ -47,8 +57,8 @@
get_test_target ${1}
test_run
check_successful_run
- generate_junit_report ${1}
- change_junit_report_class_names
+ generate_junit_report ${1}
+ change_junit_report_class_names
}
list_test_ids(){
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/build.xml b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/build.xml
index a806c5e..1fc4423 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/build.xml
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/build.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="ISO-8859-1"?>
<!--
- Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -101,7 +101,10 @@
<echo> Excluding testcase simple-wab-with-cdi and slf4j-visibility for embedded mode</echo>
</then>
<else>
+ <echo> Excluding testcase simple-wab-with-cdi </echo>
+ <!--
<ant dir="simple-wab-with-cdi" target="${smoke-target}"/>
+ -->
<ant dir="slf4j-visibility" target="${smoke-target}"/>
</else>
</if>
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/client/Client.java.token b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/client/Client.java.token
index 39f9798..a375441 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/client/Client.java.token
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-cdi/client/Client.java.token
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2008, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2008, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -19,7 +19,7 @@
import java.io.*;
import java.util.*;
-import javax.ejb.EJB;
+import jakarta.ejb.EJB;
import javax.naming.InitialContext;
import com.sun.s1asdev.cdi.ejb.hello.session.*;
import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/client/Client.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/client/Client.java
index 412b13d..0d08e93 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/client/Client.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -16,74 +16,60 @@
package com.acme;
-
import jakarta.ejb.*;
import jakarta.annotation.*;
import javax.naming.InitialContext;
-import javax.management.j2ee.ManagementHome;
-import javax.management.j2ee.Management;
import javax.rmi.PortableRemoteObject;
import com.sun.ejte.ccl.reporter.SimpleReporterAdapter;
public class Client {
- private static SimpleReporterAdapter stat =
- new SimpleReporterAdapter("appserv-tests");
+ private static SimpleReporterAdapter stat = new SimpleReporterAdapter("appserv-tests");
private static String appName;
public static void main(String args[]) {
-
- appName = args[0];
- stat.addDescription(appName);
- Client client = new Client(args);
- client.doTest();
+ appName = args[0];
+ stat.addDescription(appName);
+ Client client = new Client(args);
+ client.doTest();
stat.printSummary(appName + "ID");
}
- public Client(String[] args) {}
+ public Client(String[] args) {
+ }
public void doTest() {
- try {
+ try {
+ Hello hello = (Hello) new InitialContext().lookup("java:global/" + appName + "/SingletonBean");
+ String response = hello.hello();
+ addStatus("Singleton bean response", response.equals("hello, world!\n"));
- // Ensure that MEJB is registered under all three of its JNDI names
- System.out.println("Looking up MEJB Homes");
- ManagementHome mh1Obj = (ManagementHome) new InitialContext().lookup("ejb/mgmt/MEJB");
- ManagementHome mh2Obj = (ManagementHome) new InitialContext().lookup("java:global/mejb/MEJBBean");
- ManagementHome mh3Obj = (ManagementHome) new InitialContext().lookup("java:global/mejb/MEJBBean!javax.management.j2ee.ManagementHome");
- addStatus("mejb relative lookup", (mh1Obj != null));
- addStatus("mejb global lookup", (mh2Obj != null));
- addStatus("mejb global lookup with explicit ManagedHome interface", (mh3Obj != null));
+ try {
+ hello.testError();
+ addStatus("Expected EJBException from Singleton.testError()", false);
+
+ throw new RuntimeException("Expected EJBException");
+ } catch (EJBException e) {
+ addStatus("Expected EJBException from Singleton.testError()", true);
+ }
- Hello hello = (Hello) new InitialContext().lookup("java:global/" + appName + "/SingletonBean");
- String response = hello.hello();
- addStatus("Singleton bean response", response.equals("hello, world!\n"));
+ String injectionStatus = hello.testInjection();
+ System.out.println("Injection tests in server response" + injectionStatus);
+ addStatus("Testing Injection in EJB Singleton", injectionStatus.trim().equals(""));
- try {
- hello.testError();
- addStatus("Expected EJBException from Singleton.testError()", false);
- throw new RuntimeException("Expected EJBException");
- } catch(EJBException e) {
- addStatus("Expected EJBException from Singleton.testError()", true);
- }
-
- String injectionStatus = hello.testInjection();
- System.out.println("Injection tests in server response"+ injectionStatus);
- addStatus("Testing Injection in EJB Singleton" , injectionStatus.trim().equals(""));
-
- } catch(Exception e) {
- stat.addStatus("local main", stat.DID_NOT_RUN);
- e.printStackTrace();
- }
+ } catch (Exception e) {
+ stat.addStatus("local main", stat.DID_NOT_RUN);
+ e.printStackTrace();
+ }
}
- private void addStatus(String message, boolean result){
- stat.addStatus(message, (result ? stat.PASS: stat.FAIL));
+ private void addStatus(String message, boolean result) {
+ stat.addStatus(message, (result ? stat.PASS : stat.FAIL));
}
-
}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Foo.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Foo.java
index 4546976..70d8f4c 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Foo.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Foo.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -20,10 +20,13 @@
public class Foo {
- @EJB Hello hello;
- @jakarta.inject.Inject TestBean tb;
+ @EJB
+ Hello hello;
- public boolean testInjection(){
+ @jakarta.inject.Inject
+ TestBean tb;
+
+ public boolean testInjection() {
return tb != null;
}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Hello.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Hello.java
index 23f4df7..756416f 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Hello.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/Hello.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -21,6 +21,7 @@
String hello();
void testError();
+
String testInjection();
}
diff --git a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/SingletonBean.java b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/SingletonBean.java
index b0bc385..62b0702 100644
--- a/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/SingletonBean.java
+++ b/appserver/tests/appserv-tests/devtests/cdi/smoke-tests/simple-ejb-singleton/hello/ejb/SingletonBean.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2010, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -22,86 +22,56 @@
import javax.naming.InitialContext;
-import javax.management.j2ee.ManagementHome;
import jakarta.inject.Inject;
@Singleton
@Remote(Hello.class)
- @EJB(name="mejb", beanInterface=javax.management.j2ee.ManagementHome.class, mappedName="ejb/mgmt/MEJB")
@Startup
public class SingletonBean {
@Resource
private ORB orb;
- @Inject Foo foo;
- @Inject TestBean tb;
-
- /*Object returned from IIOP_OBJECT_FACTORY is still ior
- @EJB(mappedName="ejb/mgmt/MEJB")
- ManagementHome mHome1;
- */
-
- /* Object returned from IIOP_OBJECT_FACTORY is still ior
- @EJB(lookup="java:global/mejb/MEJBBean")
- ManagementHome mHome2;
- */
-
- /* Doesn't work b/c actual MEJB app Home interface is new glassfish
- * type, so actual type derived from field declaration is tacked
- * onto mappedName and results in NameNotFound
- @EJB(mappedName="java:global/mejb/MEJBBean")
- ManagementHome mHome2;
- */
-
+ @Inject
+ Foo foo;
-
-
- //MEJBHome mHome2;
+ @Inject
+ TestBean tb;
@PostConstruct
public void init() {
System.out.println("In SingletonBean::init()");
System.out.println("orb = " + orb);
- if( orb == null ) {
- throw new EJBException("null ORB");
- }
- try {
- // same problem ManagementHome mHomeL = (ManagementHome) new InitialContext().lookup("java:comp/env/mejb");
- // same problem ManagementHome mHomeL2 = (ManagementHome) new InitialContext().lookup("java:global/mejb/MEJBBean");
- // System.out.println("mHomeL = " + mHomeL);
- // System.out.println("mHomeL2 = " + mHomeL2);
- } catch(Exception e) {
- throw new EJBException(e);
- }
-
- // System.out.println("mHome1 = " + mHome1);
- // System.out.println("mHome2 = " + mHome2);
-
+ if (orb == null) {
+ throw new EJBException("null ORB");
+ }
}
-
+
public String hello() {
- System.out.println("In SingletonBean::hello()");
- return "hello, world!\n";
+ System.out.println("In SingletonBean::hello()");
+ return "hello, world!\n";
}
public void testError() {
- throw new Error("test java.lang.Error");
+ throw new Error("test java.lang.Error");
}
- public String testInjection(){
- if (foo == null) return "foo is null";
- if (tb == null) return "tb is null";
- if (!foo.testInjection()) return "testInjection in Foo failed";
+ public String testInjection() {
+ if (foo == null)
+ return "foo is null";
+
+ if (tb == null)
+ return "tb is null";
+
+ if (!foo.testInjection())
+ return "testInjection in Foo failed";
+
return "";
}
-
@PreDestroy
public void destroy() {
System.out.println("In SingletonBean::destroy()");
}
-
-
}
diff --git a/appserver/tests/appserv-tests/devtests/deployment/dol/override/build.xml b/appserver/tests/appserv-tests/devtests/deployment/dol/override/build.xml
index f47baa6..5f53e7e 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/dol/override/build.xml
+++ b/appserver/tests/appserv-tests/devtests/deployment/dol/override/build.xml
@@ -72,7 +72,7 @@
<jvmarg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/>
<jvmarg value="-Dcom.sun.aas.installRoot=${inst}"/>
<jvmarg value="-Dwriteout.xml=true"/>
- <jvmarg value="-Djavax.enterprise.system.tools.deployment.org.glassfish.deployment.common=FINE"/>
+ <jvmarg value="-Djakarta.enterprise.system.tools.deployment.org.glassfish.deployment.common=FINE"/>
<classpath>
<path refid="gfv3.classpath"/>
diff --git a/appserver/tests/appserv-tests/devtests/deployment/dol/validation/build.xml b/appserver/tests/appserv-tests/devtests/deployment/dol/validation/build.xml
index cd21f57..adfab82 100644
--- a/appserver/tests/appserv-tests/devtests/deployment/dol/validation/build.xml
+++ b/appserver/tests/appserv-tests/devtests/deployment/dol/validation/build.xml
@@ -166,7 +166,7 @@
<jvmarg value="-Dorg.omg.CORBA.ORBInitialPort=${orb.port}"/>
<jvmarg value="-Dcom.sun.aas.installRoot=${inst}"/>
<jvmarg value="-Dwriteout.xml=true"/>
- <jvmarg value="-Djavax.enterprise.system.tools.deployment.org.glassfish.deployment.common=FINE"/>
+ <jvmarg value="-Djakarta.enterprise.system.tools.deployment.org.glassfish.deployment.common=FINE"/>
<classpath>
<path refid="gfv3.classpath"/>
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/nbproject/private/private.properties b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/nbproject/private/private.properties
index 95dc1e5..3fa2c6c 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/nbproject/private/private.properties
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/cluster-tests/asynctest/SFSBDriver/nbproject/private/private.properties
@@ -16,7 +16,7 @@
deploy.ant.properties.file=/space/home/mk/.netbeans/6.9/gfv3-1235695917.properties
-j2ee.platform.classpath=${j2ee.server.home}/modules/javax.security.auth.message.jar:${j2ee.server.home}/modules/hibernate-validator.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.resource.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/javax.management.j2ee.jar:${j2ee.server.home}/modules/javax.security.jacc.jar:${j2ee.server.home}/modules/javax.enterprise.deploy.jar:${j2ee.server.home}/modules/javax.transaction.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/jsf-impl.jar:${j2ee.server.home}/modules/mail.jar:${j2ee.server.home}/modules/javax.jms.jar:${j2ee.server.home}/modules/endorsed/javax.annotation.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.servlet.jar:${j2ee.server.home}/modules/jstl-impl.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/javax.ejb.jar:${j2ee.server.home}/modules/jsf-api.jar
+j2ee.platform.classpath=${j2ee.server.home}/modules/javax.security.auth.message.jar:${j2ee.server.home}/modules/hibernate-validator.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jar:${j2ee.server.home}/modules/javax.resource.jar:${j2ee.server.home}/modules/endorsed/webservices-api-osgi.jar:${j2ee.server.home}/modules/javax.management.j2ee.jar:${j2ee.server.home}/modules/javax.security.jacc.jar:${j2ee.server.home}/modules/javax.transaction.jar:${j2ee.server.home}/modules/javax.persistence.jar:${j2ee.server.home}/modules/jsf-impl.jar:${j2ee.server.home}/modules/mail.jar:${j2ee.server.home}/modules/javax.jms.jar:${j2ee.server.home}/modules/endorsed/javax.annotation.jar:${j2ee.server.home}/modules/javax.servlet.jsp.jstl.jar:${j2ee.server.home}/modules/weld-osgi-bundle.jar:${j2ee.server.home}/modules/javax.servlet.jar:${j2ee.server.home}/modules/jstl-impl.jar:${j2ee.server.home}/modules/endorsed/jaxb-api-osgi.jar:${j2ee.server.home}/modules/javax.ejb.jar:${j2ee.server.home}/modules/jsf-api.jar
j2ee.platform.is.jsr109=true
j2ee.server.home=/space/work/v3/trunk/glassfishv3/glassfish
j2ee.server.instance=[/space/work/v3/trunk/glassfishv3/glassfish]deployer:gfv3ee6:localhost:4848
diff --git a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/client/Client.java b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/client/Client.java
index 4f9ba17..b14150c 100644
--- a/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/ejb/ee/timer/getalltimers/client/Client.java
@@ -57,7 +57,7 @@
public void prepare() {
try {
- asadmin("set-log-levels", "javax.enterprise.system.container.ejb=FINE");
+ asadmin("set-log-levels", "jakarta.enterprise.system.container.ejb=FINE");
asadmin("create-cluster", CLUSTER_NAME);
asadmin("create-local-instance", "--cluster", CLUSTER_NAME, CLUSTER_NAME+INSTANCE1_NAME);
asadmin("create-local-instance", "--cluster", CLUSTER_NAME, CLUSTER_NAME+INSTANCE2_NAME);
@@ -71,10 +71,10 @@
public void deploy(String path) {
try {
- asadmin("set-log-levels", "javax.enterprise.system.container.ejb=FINE", "--target", CLUSTER_NAME);
+ asadmin("set-log-levels", "jakarta.enterprise.system.container.ejb=FINE", "--target", CLUSTER_NAME);
asadmin("deploy", "--target", CLUSTER_NAME, path);
System.out.println("Deployed " + path);
- asadmin("set-log-levels", "javax.enterprise.system.container.ejb=INFO", "--target", CLUSTER_NAME);
+ asadmin("set-log-levels", "jakarta.enterprise.system.container.ejb=INFO", "--target", CLUSTER_NAME);
} catch (Exception e) {
e.printStackTrace();
}
diff --git a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/client/Client.java b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/client/Client.java
index 0228477..926b8de 100644
--- a/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/client/Client.java
+++ b/appserver/tests/appserv-tests/devtests/transaction/ee/dblogs/base/client/Client.java
@@ -71,7 +71,7 @@
asadmin("set-log-levels", "ShoalLogger=FINER");
asadmin("set-log-levels", "--target", CLUSTER_NAME, "ShoalLogger=FINER");
}
- asadmin("set-log-levels", "--target", CLUSTER_NAME, "javax.enterprise.system.core.transaction=FINE");
+ asadmin("set-log-levels", "--target", CLUSTER_NAME, "jakarta.enterprise.system.core.transaction=FINE");
asadmin("start-cluster", CLUSTER_NAME);
System.out.println("Started cluster. Setting up resources.");
diff --git a/appserver/tests/appserv-tests/devtests/web/build.xml b/appserver/tests/appserv-tests/devtests/web/build.xml
index a3a1ddc..8871a47 100644
--- a/appserver/tests/appserv-tests/devtests/web/build.xml
+++ b/appserver/tests/appserv-tests/devtests/web/build.xml
@@ -326,6 +326,7 @@
<ant dir="servlet-4.0/defaultContextPathEar" target="all"/>
<ant dir="servlet-4.0/contextCharEncoding" target="all"/>
<ant dir="servlet-4.0/reqResEncoding" target="all"/>
+ <ant dir="servlet-4.0/reqResEncodingGFWebxml" target="all"/>
<ant dir="servlet-4.0/mappingDiscovery" target="all"/>
<ant dir="servlet-4.0/pushStatic" target="all"/>
<ant dir="servlet-4.0/pushCacheable" target="all"/>
diff --git a/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml b/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml
index d86230f..807b2d2 100644
--- a/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml
+++ b/appserver/tests/appserv-tests/devtests/web/elBigDecimal/build.xml
@@ -36,7 +36,7 @@
<target name="compile">
<javac
srcdir="."
- classpath="${env.APS_HOME}/lib/reportbuilder.jar;${env.S1AS_HOME}/modules/jakarta.el.jar"
+ classpath="${env.APS_HOME}/lib/reportbuilder.jar;${env.S1AS_HOME}/modules/jakarta.el.jar;${env.S1AS_HOME}/modules/jakarta.el-api.jar"
includes="WebTest.java"/>
</target>
@@ -46,6 +46,7 @@
<classpath>
<pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
<pathelement location="${env.S1AS_HOME}/modules/jakarta.el.jar"/>
+ <pathelement location="${env.S1AS_HOME}/modules/jakarta.el-api.jar"/>
<pathelement location="."/>
</classpath>
</java>
diff --git a/appserver/tests/appserv-tests/devtests/web/osgiServlet/README b/appserver/tests/appserv-tests/devtests/web/osgiServlet/README
index 4aa7c53..04e0a12 100644
--- a/appserver/tests/appserv-tests/devtests/web/osgiServlet/README
+++ b/appserver/tests/appserv-tests/devtests/web/osgiServlet/README
@@ -7,13 +7,13 @@
See the output/server.log. You will see something like this:
-[#|2012-06-15T14:25:16.733+0530|INFO|44.0|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|Registered servlet1 with mapping /aa/bb and servlet2 with mapping /aa|#]
+[#|2012-06-15T14:25:16.733+0530|INFO|44.0|jakarta.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|Registered servlet1 with mapping /aa/bb and servlet2 with mapping /aa|#]
-[#|2012-06-15T14:25:16.781+0530|INFO|44.0|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|<html><body>Servlet 1 </body></html>|#]
+[#|2012-06-15T14:25:16.781+0530|INFO|44.0|jakarta.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|<html><body>Servlet 1 </body></html>|#]
-[#|2012-06-15T14:25:16.781+0530|INFO|44.0|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|Unregistered servlet1|#]
+[#|2012-06-15T14:25:16.781+0530|INFO|44.0|jakarta.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|Unregistered servlet1|#]
-[#|2012-06-15T14:25:16.790+0530|INFO|44.0|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|java.io.FileNotFoundException: http://localhost:8080/osgi/aa/bb
+[#|2012-06-15T14:25:16.790+0530|INFO|44.0|jakarta.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|java.io.FileNotFoundException: http://localhost:8080/osgi/aa/bb
at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1434)
at java.net.URL.openStream(URL.java:1010)
at sahoo.osgihttp.test1.Activator.test(Activator.java:63)
@@ -66,8 +66,8 @@
at java.lang.Thread.run(Thread.java:662)
|#]
-[#|2012-06-15T14:25:16.792+0530|INFO|44.0|javax.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|Started sahoo.issue_18808 [270]|#]
+[#|2012-06-15T14:25:16.792+0530|INFO|44.0|jakarta.enterprise.system.std.com.sun.enterprise.server.logging|_ThreadID=12;_ThreadName=admin-listener(2);|Started sahoo.issue_18808 [270]|#]
-[#|2012-06-15T14:25:16.892+0530|INFO|44.0|javax.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=12;_ThreadName=admin-listener(2);|issue_18808 was successfully deployed in 1,755 milliseconds.|#]
+[#|2012-06-15T14:25:16.892+0530|INFO|44.0|jakarta.enterprise.system.tools.admin.org.glassfish.deployment.admin|_ThreadID=12;_ThreadName=admin-listener(2);|issue_18808 was successfully deployed in 1,755 milliseconds.|#]
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/WebTest.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/WebTest.java
new file mode 100644
index 0000000..b2decec
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/WebTest.java
@@ -0,0 +1,137 @@
+/*
+ * Copyright (c) 2020 Fujitsu Limited and/or its affiliates. All rights
+ * reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+import java.lang.*;
+import java.io.*;
+import java.net.*;
+
+import com.sun.ejte.ccl.reporter.*;
+import org.glassfish.grizzly.test.http2.*;
+
+/**
+ * Unit test for request-character-encoding, response-character-encoding in web.xml and parameter-encoding in glassfish-web.xml
+ */
+public class WebTest {
+
+ private static SimpleReporterAdapter stat
+ = new SimpleReporterAdapter("appserv-tests");
+
+ private static final String TEST_NAME = "servlet-4.0-req-res-encoding-gfwebxml";
+ private static final String JCHARSET_REQUEST = "Shift_JIS";
+ private static final String JCHARSET_RESPONSE = "Shift_JIS";
+ private static final String JSTR = "\u3053\u3093\u306b\u3061\u306f";
+ private static final String EXPECTED_RESPONSE = "true:" + JSTR;
+
+ private String host;
+ private int port;
+ private String contextRoot;
+ private Socket sock = null;
+
+ public WebTest(String[] args) {
+ host = args[0];
+ port = Integer.parseInt(args[1]);
+ contextRoot = args[2];
+ }
+
+ public static void main(String[] args) {
+ stat.addDescription("Unit test for request-character-encoding, response-character-encoding in web.xml and parameter-encoding in glassfish-web.xml");
+ WebTest webTest = new WebTest(args);
+ try {
+ webTest.doTest();
+ stat.addStatus(TEST_NAME, stat.PASS);
+ } catch (Exception ex) {
+ stat.addStatus(TEST_NAME, stat.FAIL);
+ ex.printStackTrace();
+ } finally {
+ try {
+ if (webTest.sock != null) {
+ webTest.sock.close();
+ }
+ } catch (IOException ioe) {
+ // ignore
+ }
+ }
+
+ stat.printSummary(TEST_NAME);
+ }
+
+ public void doTest() throws Exception {
+ // Static Content
+ try (HttpClient httpClient = HttpClient.builder().
+ host(host).port(port).build()) {
+ httpClient.request().path(contextRoot + "/index.html")
+ .method("GET")
+ .build().send();
+ HttpResponse httpResponse = httpClient.getHttpResponse();
+ int code = httpResponse.getStatus();
+ if (code != 200) {
+ throw new Exception("Unexpected return code: " + code);
+ }
+ String contentType = httpResponse.getHeader("Content-Type");
+ int ind = contentType.indexOf(";charset=");
+ String charset = null;
+ if (ind > 0) {
+ charset = contentType.substring(ind + 9).trim();
+ }
+ System.out.println("--> headers = " + httpResponse.getHeaders());
+ String line = httpResponse.getBody(charset).trim();
+ System.out.println("--> line = " + line);
+ if (!JCHARSET_RESPONSE.equals(charset)) {
+ throw new Exception("Wrong Content-Type charset. Expected: " +
+ JCHARSET_RESPONSE + ", received: " + charset);
+ }
+
+ if (!EXPECTED_RESPONSE.equals(line)) {
+ throw new Exception("Wrong response. Expected: " +
+ EXPECTED_RESPONSE + ", received: " + line);
+ }
+ }
+
+ // Servlet
+ try (HttpClient httpClient = HttpClient.builder().
+ host(host).port(port).build()) {
+ httpClient.request().path(contextRoot + "/TestServlet")
+ .method("POST").contentType("application/x-www-form-urlencoded")
+ .characterEncoding(JCHARSET_REQUEST)
+ .content("japaneseName=" + JSTR)
+ .build().send();
+ HttpResponse httpResponse = httpClient.getHttpResponse();
+ int code = httpResponse.getStatus();
+ if (code != 200) {
+ throw new Exception("Unexpected return code: " + code);
+ }
+ String contentType = httpResponse.getHeader("Content-Type");
+ int ind = contentType.indexOf(";charset=");
+ String charset = null;
+ if (ind > 0) {
+ charset = contentType.substring(ind + 9).trim();
+ }
+ System.out.println("--> headers = " + httpResponse.getHeaders());
+ String line = httpResponse.getBody(charset).trim();
+ System.out.println("--> line = " + line);
+ if (!JCHARSET_RESPONSE.equals(charset)) {
+ throw new Exception("Wrong Content-Type charset. Expected: " +
+ JCHARSET_RESPONSE + ", received: " + charset);
+ }
+
+ if (!EXPECTED_RESPONSE.equals(line)) {
+ throw new Exception("Wrong response. Expected: " +
+ EXPECTED_RESPONSE + ", received: " + line);
+ }
+ }
+ }
+}
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/build.properties b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/build.properties
new file mode 100644
index 0000000..312914c
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/build.properties
@@ -0,0 +1,26 @@
+<!--
+
+ Copyright (c) 2020 Fujitsu Limited and/or its affiliates. All rights
+ reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+
+<property name="module" value="web"/>
+<property name="appname" value="${module}-servlet-4.0-req-res-encoding-gfwebxml"/>
+<property name="assemble" value="${build.classes.dir}/archive"/>
+<property name="contextroot" value="/${appname}"/>
+<property name="web.xml" value="descriptor/web.xml"/>
+<property name="glassfish-web.xml" value="descriptor/glassfish-web.xml"/>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/build.xml b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/build.xml
new file mode 100644
index 0000000..d8fffcf
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/build.xml
@@ -0,0 +1,96 @@
+<?xml version="1.0" encoding="ISO-8859-1"?>
+<!--
+
+ Copyright (c) 2020 Fujitsu Limited and/or its affiliates. All rights
+ reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<!DOCTYPE project [
+<!ENTITY commonSetup SYSTEM "./../../../../config/properties.xml">
+<!ENTITY commonBuild SYSTEM "./../../../../config/common.xml">
+<!ENTITY testproperties SYSTEM "./build.properties">
+]>
+
+<project name="reqResEncodingGFWebxml_unittest" default="all" basedir=".">
+
+ &commonSetup;
+ &commonBuild;
+ &testproperties;
+
+ <target name="all" depends="build,deploy,run,undeploy"/>
+
+ <target name="clean" depends="init-common">
+ <antcall target="clean-common"/>
+ <delete>
+ <fileset dir="." includes="*.class"/>
+ </delete>
+ </target>
+
+ <target name="compile" depends="clean">
+ <antcall target="compile-common">
+ <param name="src" value="servlet"/>
+ </antcall>
+ </target>
+
+ <target name="build" depends="compile">
+ <property name="hasWebclient" value="yes"/>
+ <antcall target="webclient-war-common">
+ <param name="hasWebclient" value="yes"/>
+ <param name="webclient.war.classes" value="**/*.class"/>
+ </antcall>
+ <javac srcdir="." includes="WebTest.java">
+ <classpath>
+ <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
+ <pathelement location="${env.APS_HOME}/lib/webtest.jar"/>
+ </classpath>
+ </javac>
+ </target>
+
+ <target name="build-publish-war" depends="build, publish-war-common" />
+
+ <target name="re-deploy" depends="init-common">
+ <antcall target="deploy-war-common"/>
+ </target>
+
+ <target name="deploy" depends="init-common">
+ <antcall target="deploy-war-common"/>
+ </target>
+
+ <target name="run" depends="init-common">
+ <java classname="WebTest" fork="true">
+ <jvmarg value="-Djava.endorsed.dirs=${env.S1AS_HOME}/modules/endorsed"/>
+ <sysproperty key="S1AS_HOME" value="${env.S1AS_HOME}"/>
+ <arg value="${http.host}"/>
+ <arg value="${https.port}"/>
+ <arg value="${contextroot}"/>
+ <classpath>
+ <pathelement location="${env.APS_HOME}/lib/reportbuilder.jar"/>
+ <pathelement location="${env.APS_HOME}/lib/webtest.jar"/>
+ <pathelement location="${env.S1AS_HOME}/modules/nucleus-grizzly-all.jar"/>
+ <pathelement location="${env.S1AS_HOME}/modules/glassfish-grizzly-extra-all.jar"/>
+ <pathelement location="."/>
+ </classpath>
+ </java>
+ </target>
+
+ <target name="undeploy" depends="init-common">
+ <antcall target="undeploy-war-common"/>
+ </target>
+
+ <target name="usage">
+ <antcall target="usage-common"/>
+ </target>
+</project>
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/descriptor/glassfish-web.xml b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/descriptor/glassfish-web.xml
new file mode 100644
index 0000000..a7d95c5
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/descriptor/glassfish-web.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright (c) 2020 Fujitsu Limited and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
+<glassfish-web-app>
+ <parameter-encoding default-charset="Shift_JIS"/>
+</glassfish-web-app>
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/descriptor/web.xml b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/descriptor/web.xml
new file mode 100644
index 0000000..5b793dc
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/descriptor/web.xml
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+
+ Copyright (c) 2020 Fujitsu Limited and/or its affiliates. All rights reserved.
+
+ This program and the accompanying materials are made available under the
+ terms of the Eclipse Public License v. 2.0, which is available at
+ http://www.eclipse.org/legal/epl-2.0.
+
+ This Source Code may also be made available under the following Secondary
+ Licenses when the conditions for such availability set forth in the
+ Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ version 2 with the GNU Classpath Exception, which is available at
+ https://www.gnu.org/software/classpath/license.html.
+
+ SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+
+-->
+
+<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="4.0" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd">
+ <request-character-encoding>UTF-8</request-character-encoding>
+ <response-character-encoding>Shift_JIS</response-character-encoding>
+</web-app>
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/docroot/index.html b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/docroot/index.html
new file mode 100644
index 0000000..710d553
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/docroot/index.html
@@ -0,0 +1 @@
+true:±ñÉ¿Í
\ No newline at end of file
diff --git a/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/servlet/TestServlet.java b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/servlet/TestServlet.java
new file mode 100644
index 0000000..d6dd089
--- /dev/null
+++ b/appserver/tests/appserv-tests/devtests/web/servlet-4.0/reqResEncodingGFWebxml/servlet/TestServlet.java
@@ -0,0 +1,41 @@
+/*
+ * Copyright (c) 2020 Fujitsu Limited and/or its affiliates. All rights
+ * reserved.
+ *
+ * This program and the accompanying materials are made available under the
+ * terms of the Eclipse Public License v. 2.0, which is available at
+ * http://www.eclipse.org/legal/epl-2.0.
+ *
+ * This Source Code may also be made available under the following Secondary
+ * Licenses when the conditions for such availability set forth in the
+ * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
+ * version 2 with the GNU Classpath Exception, which is available at
+ * https://www.gnu.org/software/classpath/license.html.
+ *
+ * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
+ */
+
+import java.io.*;
+import java.util.Locale;
+import jakarta.servlet.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.http.*;
+
+@WebServlet("/TestServlet")
+public class TestServlet extends HttpServlet {
+ @Override
+ protected void doPost(HttpServletRequest req, HttpServletResponse res)
+ throws ServletException, IOException {
+
+ boolean passed = false;
+
+ String name = req.getParameter("japaneseName");
+ if ("\u3053\u3093\u306b\u3061\u306f".equals(name)){
+ passed = true;
+ }
+
+ res.setContentType("text/html;charset=" + res.getCharacterEncoding());
+
+ res.getWriter().print(passed + ":" + name);
+ }
+}
diff --git a/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/etc/client/logging.properties b/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/etc/client/logging.properties
index 2a1b82f..887a5f6 100644
--- a/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/etc/client/logging.properties
+++ b/appserver/tests/appserv-tests/devtests/webservice/annotations/soaptcp/etc/client/logging.properties
@@ -44,7 +44,7 @@
# Here, the level for each package is specified.
# The global level is used by default, so levels
# specified here simply act as an override.
-# javax.enterprise.resource.webservices.jaxws.client.tcp.level=ALL
+# jakarta.enterprise.resource.webservices.jaxws.client.tcp.level=ALL
com.sun.xml.ws.transport.tcp.level=INFO
#com.sun.xml.ws.transport.tcp.dump.level=FINEST
diff --git a/appserver/tests/common_test.sh b/appserver/tests/common_test.sh
index a069c35..3bc2759 100755
--- a/appserver/tests/common_test.sh
+++ b/appserver/tests/common_test.sh
@@ -1,6 +1,6 @@
#!/bin/bash -ex
#
-# Copyright (c) 2017, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2017, 2020 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
@@ -51,6 +51,7 @@
java -version
ant -version
mkdir -p ${WORKSPACE}/results/junitreports
+ printf "\n\n"
}
zip_test_results(){
@@ -62,7 +63,7 @@
printf "\n%s \n\n" "===== UNZIP TEST RESOURCES ====="
for i in "${@}"; do
if [[ ${i} == *.zip* ]]; then
- unzip -o ${i}
+ unzip -qq -o ${i}
else
tar --overwrite -xf ${i}
fi
@@ -72,13 +73,13 @@
copy_test_artifacts(){
printf "\n%s \n\n" "===== COPY TEST ARTIFACTS ====="
mkdir -p ${WORKSPACE}/results/junitreports
- tar -cvf ${WORKSPACE}/results/domainArchive.tar.gz ${S1AS_HOME}/domains
+ tar -cf ${WORKSPACE}/results/domainArchive.tar.gz ${S1AS_HOME}/domains
cp ${S1AS_HOME}/domains/domain1/logs/server.log* ${WORKSPACE}/results/ || true
cp ${TEST_RUN_LOG} ${WORKSPACE}/results/
cp ${APS_HOME}/test_results*.* ${WORKSPACE}/results/ || true
cp `pwd`/*/*logs.zip ${WORKSPACE}/results/ || true
cp `pwd`/*/*/*logs.zip ${WORKSPACE}/results/ || true
- tar -cvf ${WORKSPACE}/${1}-results.tar.gz ${WORKSPACE}/results
+ tar -cf ${WORKSPACE}/${1}-results.tar.gz ${WORKSPACE}/results
}
generate_junit_report(){
diff --git a/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml b/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml
index f1739e3..c2bee9a 100644
--- a/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml
+++ b/appserver/tests/embedded/web/web-api/src/main/resources/org/glassfish/tests/webapi/my-default-web.xml
@@ -33,7 +33,7 @@
<!-- Init parameter to force the XML validation of JSF configuration -->
- <!-- ressources. -->
+ <!-- resources. -->
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
@@ -53,7 +53,7 @@
<!-- ================== Built In Servlet Definitions ==================== -->
- <!-- The DefaultDervlet, which is responsible for serving static -->
+ <!-- The DefaultServlet, which is responsible for serving static -->
<!-- resources. -->
<!-- This servlet processes any requests that are not mapped to other -->
<!-- servlets with servlet mappings (defined either here or in your own -->
diff --git a/appserver/tests/quicklook/QuickLook_Test_Instructions.html b/appserver/tests/quicklook/QuickLook_Test_Instructions.html
index d2c60c7..59af537 100644
--- a/appserver/tests/quicklook/QuickLook_Test_Instructions.html
+++ b/appserver/tests/quicklook/QuickLook_Test_Instructions.html
@@ -40,46 +40,45 @@
QuickLook tests:</B></FONT></P>
<P><BR>The QuickLook (QL) implements three profiles (web profile,
dev_debug profile and glassfish profile) to run QL in 3 different
-scenarios: testing v3 web distribution, testing v3 web distribution
-in debug mode, testing v3 glassfish distribution.<BR><BR>First,
+scenarios: testing web distribution, testing web distribution
+in debug mode, testing glassfish distribution.<BR><BR>First,
install/unzip the glassfish bundle to a directory. Let's call the
-full path to glassfish directory as {V3 Installation Dir}.
-Please do not install glassfish under v3/tests/quicklook since the
+full path to glassfish directory as {Installation Dir}.
+Please do not install glassfish under tests/quicklook since the
"clean" target of QL will clean up all war files under
-quicklook directory. Change directory to <B>v3/tests/quicklook</B>.
+quicklook directory. Change directory to <B>appserver/tests/quicklook</B>.
All italic text below indicate a command. <BR><BR>QL will work with
the default admin password "NULL" (empty). Please clean up
the previous ~/.asadminpass if it contains other password.<BR><BR><B>1.
-To Run QL in Glassfish Profile:</B><BR><BR>The v3 glassfish
-distribution includes extra modules such as EJB, jts and corba other
-than the modules in web distribution. The glassfish profile is the
+To Run QL in Glassfish Profile:</B><BR><BR>The glassfish
+full profile distribution includes extra modules such as EJB, jts and corba other
+than the modules in web distribution. The glassfish full profile is the
<B>default</B> profile of QL. <BR><B>New:</B> Added cluster testing
support for QL glassfish.
</P>
<UL>
- <LI><P STYLE="margin-bottom: 0in">For <B>glassfish</B> bundle of V3,
- {V3 Installation Dir} is equivalent to /test/glassfish in the
+ <LI><P STYLE="margin-bottom: 0in">For <B>glassfish</B> bundle,
+ {Installation Dir} is equivalent to /test/glassfish in the
example above.
</P>
<UL>
- <LI><P STYLE="margin-bottom: 0in"><I>mvn -Dglassfish.home={V3
- Installation Dir} test | tee run.log </I>
+ <LI><P STYLE="margin-bottom: 0in"><I>mvn -Dglassfish.home={Installation Dir} test | tee run.log </I>
</P>
</UL>
<LI><P STYLE="margin-bottom: 0in">For <B>glassfish-ips.zip</B>
- bundle of V3, the same command can be used but {V3 Installation Dir}
+ bundle, the same command can be used but {Installation Dir}
is equivelent to in /test/glassfish6/glassfish:
</P>
- <LI><P>To run cluster tests only, you can go to <B>v3/tests/quicklook</B>
- and do: <I>ant -Dglassfish.home={V3 Installation Dir} all_cluster</I></P>
+ <LI><P>To run cluster tests only, you can go to <B>tests/quicklook</B>
+ and do: <I>ant -Dglassfish.home={Installation Dir} all_cluster</I></P>
</UL>
<P STYLE="margin-bottom: 0in">The test results will be in test-output
directory.</P>
<P STYLE="margin-bottom: 0in"><A NAME="__DdeLink__0_178707749"></A><B>2.
To Run QL in Web Profile:</B><BR>The web profile (-P test_wd) should
-be used for testing the v3 web distribution.</P>
+be used for testing the web distribution.</P>
<UL>
- <LI><P><I>mvn -Dglassfish.home={V3 Installation Dir} <B>-P test_wd
+ <LI><P><I>mvn -Dglassfish.home={Installation Dir} <B>-P test_wd
test</B> | tee run.log </I>
</P>
</UL>
@@ -87,9 +86,9 @@
</P>
<P STYLE="margin-bottom: 0in"><B>3. To Run QL in Embedded
Profile:</B><BR>The web profile (-P test_em) should be used for
-testing the v3 embedded mode.</P>
+testing the embedded mode.</P>
<UL>
- <LI><P><I>mvn -Dglassfish.home={V3 Installation Dir} <B>-P test_em
+ <LI><P><I>mvn -Dglassfish.home={Installation Dir} <B>-P test_em
test</B> | tee run.log </I>
</P>
</UL>
@@ -97,29 +96,29 @@
</P>
<P STYLE="margin-bottom: 0in"><B>4. To Run QL in Glassfish</B>
<B>Profile with Security Manager Turned On:</B><BR><BR>The web
-profile (-P test_wd_security) should be used for testing the v3 web
+profile (-P test_wd_security) should be used for testing the web
distribution.</P>
<UL>
- <LI><P><I>mvn -Dglassfish.home={V3 Installation Dir} <B>-P
+ <LI><P><I>mvn -Dglassfish.home={Installation Dir} <B>-P
test_gd_security test</B> | tee run.log </I>
</P>
</UL>
<P><B>5. To Run QL in Web Profile with Security Manager Turned
On:</B><BR><BR>The web profile (-P test_wd_security) should be used
-for testing the v3 web distribution.</P>
+for testing the web distribution.</P>
<UL>
- <LI><P><I>mvn -Dglassfish.home={V3 Installation Dir} <B>-P
+ <LI><P><I>mvn -Dglassfish.home={Installation Dir} <B>-P
test_wd_security test</B> | tee run.log </I>
</P>
</UL>
-<P><B>6. To Run QL in V3 Debug Profile:</B><BR><BR>Usually, user
-wants to run QL against a running v3 instance started in debug mode.
+<P><B>6. To Run QL in Debug Profile:</B><BR><BR>Usually, user
+wants to run QL against a running instance started in debug mode.
The dev_debug profile can be used (-P dev_debug) in this scenario.
</P>
<UL>
- <LI><P STYLE="margin-bottom: 0in">Start v3 in debug mode. For
+ <LI><P STYLE="margin-bottom: 0in">Start glassfish in debug mode. For
example: <I>java -jar modules/glassfish.jar</I></P>
- <LI><P><I>mvn -Dglassfish.home={V3 Installation Dir} </I><I><B>-Pdev_debug</B></I>
+ <LI><P><I>mvn -Dglassfish.home={Installation Dir} </I><I><B>-Pdev_debug</B></I>
<I>test | tee run.log</I></P>
</UL>
<P>Note: The tests require restart domain (admincli) will be skipped
@@ -132,14 +131,14 @@
bundle:</P>
<UL>
<UL>
- <LI><P STYLE="margin-bottom: 0in"><I>{V3 Installation
+ <LI><P STYLE="margin-bottom: 0in"><I>{Installation
Dir}/bin/asadmin start-domain</I></P>
- <LI><P STYLE="margin-bottom: 0in"><I>{V3 Installation
+ <LI><P STYLE="margin-bottom: 0in"><I>{Installation
Dir}/bin/asadmin start-database</I>
</P>
<LI><P STYLE="margin-bottom: 0in"><I>cd ejb/slsbnicmt</I>
</P>
- <LI><P><I>ant -Dglassfish.home={V3 Installation Dir} all</I></P>
+ <LI><P><I>ant -Dglassfish.home={Installation Dir} all</I></P>
</UL>
</UL>
<P><B>8. Using Local Maven Repository in Non-Default
@@ -211,7 +210,7 @@
suite hellouniverse. All italic text indicate a command. Unix OS is
used for the commands<BR><BR><I>% cp -r helloworld hellouniverse</I><BR><I>%
cd hellouniverse</I><BR><BR>Please make the following changes to
-build.properties<BR> <BR>war.file=hellouniverse<BR>testsuite.name=basicweb<BR>testng.test.name=web_jsp_hello_universe<BR>contextroot=hellouniverse<BR>deploy.platform=v3<BR><BR>Please
+build.properties<BR> <BR>war.file=hellouniverse<BR>testsuite.name=basicweb<BR>testng.test.name=web_jsp_hello_universe<BR>contextroot=hellouniverse<BR><BR>Please
make following changes to build.xml. Change Project
name<BR><project name="hello-universe" default="default"
basedir="."><BR>Under runtest target<BR><param
@@ -225,15 +224,14 @@
complete, lets try to build/deploy/run from leaf level (hellouniverse
level)<BR><BR>Assume we are using web.zip for glassfish. Make sure
javadb and server are started (please use ant 1.6.5)<BR><I>% cd
-v3/test/quicklook</I><BR><I>% ant -Dglassfish.home={V3 Installation
-Dir} startDerby</I><BR><I>% ant -Dglassfish.home={V3 Installation
+test/quicklook</I><BR><I>% ant -Dglassfish.home={Installation
+Dir} startDerby</I><BR><I>% ant -Dglassfish.home={Installation
Dir} start-server</I><BR><BR>Once the server and derby are started,
go to <BR><I>% cd web/hellouniverse</I><BR><I>% ant
--Dglassfish.home={V3 Installation Dir} build </I><BR><BR>Make sure no
-errorss on consol<BR><I>% ant -Dglassfish.home={V3 Installation
+-Dglassfish.home={Installation Dir} build </I><BR><BR>Make sure no
+errorss on consol<BR><I>% ant -Dglassfish.home={Installation
Dir} deploy </I><BR><BR>make sure no errors in server.log (while
-loading application)<BR><I>% ant -Dglassfish.home={V3
-Installation Dir} runtest</I></P>
+loading application)<BR><I>% ant -Dglassfish.home={Installation Dir} runtest</I></P>
<P STYLE="margin-bottom: 0in">Now you should see 4 tests run and
passed <BR>Please add "all" target to include "build
deploy runtest"</P>
diff --git a/appserver/tests/quicklook/build.properties b/appserver/tests/quicklook/build.properties
index a659253..e6917d7 100644
--- a/appserver/tests/quicklook/build.properties
+++ b/appserver/tests/quicklook/build.properties
@@ -20,7 +20,6 @@
glassfish.http.port=8080
glassfish.admin.port=4848
#glassfish.home=/v3/glassfish6/glassfish
-v3=true
maven.repo.local=${user.home}/.m2/repository
plugin_classpath=${maven.repo.local}/org/testng/testng/6.11/testng-6.11.jar
diff --git a/appserver/tests/quicklook/build.xml b/appserver/tests/quicklook/build.xml
index d10a5c3..5ac71d7 100644
--- a/appserver/tests/quicklook/build.xml
+++ b/appserver/tests/quicklook/build.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,7 +17,7 @@
-->
-<project name="GlassFish-V3-QuickLook" default="all" basedir=".">
+<project name="GlassFish-QuickLook" default="all" basedir=".">
<property environment="env"/>
<property file="build.properties"/>
@@ -25,7 +25,7 @@
<import file="${basedir}/gfproject/db-targets.xml"/>
<import file="${basedir}/gfproject/utils.xml"/>
- <description>Builds, tests, and runs the project V3 Quicklook</description>
+ <description>Builds, tests, and runs the project Quicklook</description>
<presetdef name="javac">
<javac includeantruntime="false" />
@@ -591,7 +591,7 @@
<property name="APPCLIENT" value="${glassfish.home}\bin\appclient.bat"/>
</target>
-<target name="start-server-hk2" depends="setOSConditions" if="v3">
+<target name="start-server-hk2" depends="setOSConditions">
<echo>+-----------------------------+</echo>
<echo>| |</echo>
@@ -620,7 +620,7 @@
</exec>
</target>
-<target name="start-server-felix" depends="setOSConditions" if="v3">
+<target name="start-server-felix" depends="setOSConditions">
<echo>+-----------------------------+</echo>
<echo>| |</echo>
diff --git a/appserver/tests/quicklook/gfproject/db-targets.xml b/appserver/tests/quicklook/gfproject/db-targets.xml
index e87e6c8..68fdc0c 100644
--- a/appserver/tests/quicklook/gfproject/db-targets.xml
+++ b/appserver/tests/quicklook/gfproject/db-targets.xml
@@ -19,7 +19,7 @@
<project name="db-targets" default="all" basedir=".">
-<target name="start-derby" depends="setOSConditions" if="v3">
+<target name="start-derby" depends="setOSConditions" >
<antcall target="start-derby-unix"/>
<antcall target="start-derby-windows"/>
</target>
@@ -38,7 +38,7 @@
</exec>
</target>
-<target name="stop-derby" depends="setOSConditions" if="v3">
+<target name="stop-derby" depends="setOSConditions" >
<antcall target="stop-derby-unix"/>
<antcall target="stop-derby-windows"/>
</target>
diff --git a/appserver/tests/quicklook/run_test.sh b/appserver/tests/quicklook/run_test.sh
index 3ce2f38..5f8ca53 100755
--- a/appserver/tests/quicklook/run_test.sh
+++ b/appserver/tests/quicklook/run_test.sh
@@ -17,7 +17,7 @@
copy_ql_results(){
if [[ ${1} = "ql_gf_web_profile_all" || ${1} = "ql_gf_full_profile_all" || "ql_gf_embedded_profile_all" = ${1} ]]; then
- tar -cvf ${WORKSPACE}/results/domainArchive.tar.gz ${WORKSPACE}/glassfish6/glassfish/domains
+ tar -cf ${WORKSPACE}/results/domainArchive.tar.gz ${WORKSPACE}/glassfish6/glassfish/domains
cp ${WORKSPACE}/glassfish6/glassfish/domains/domain1/logs/server.log* ${WORKSPACE}/results/ || true
cp -r ${WORKSPACE}/appserver/tests/quicklook/test-output/* ${WORKSPACE}/results/
cp ${WORKSPACE}/appserver/tests/quicklook/test-output/TESTS-TestSuites.xml ${WORKSPACE}/results/junitreports/test_results_junit.xml
@@ -26,38 +26,54 @@
cp ${WORKSPACE}/nucleus/domains/domain1/logs/server.log* ${WORKSPACE}/results
fi
cp ${TEST_RUN_LOG} ${WORKSPACE}/results/
- tar -cvf ${WORKSPACE}/${1}-results.tar.gz ${WORKSPACE}/results
+ tar -cf ${WORKSPACE}/${1}-results.tar.gz ${WORKSPACE}/results
change_junit_report_class_names
}
run_test_id(){
if [[ ${1} = "ql_gf_full_profile_all" ]]; then
+
+ # Run quick look full profile tests using the full glassfish distribution (GD) build
+
unzip_test_resources ${WORKSPACE}/bundles/glassfish.zip
+
cd ${WORKSPACE}/appserver/tests/quicklook/
+
mvn -Dglassfish.home=${S1AS_HOME} -Ptest_gd_security,report test | tee ${TEST_RUN_LOG}
elif [[ ${1} = "ql_gf_nucleus_all" || ${1} = "nucleus_admin_all" ]]; then
+
+ # Run quick look nucleus tests using the nucleus build
+
unzip_test_resources ${WORKSPACE}/bundles/nucleus-new.zip
+
if [[ ${1} = "ql_gf_nucleus_all" ]]; then
cd ${WORKSPACE}/nucleus/tests/quicklook
elif [[ ${1} = "nucleus_admin_all" ]]; then
cd ${WORKSPACE}/nucleus/tests/admin
fi
+
mvn -Dmaven.test.failure.ignore=true -Dnucleus.home=${WORKSPACE}/nucleus clean test | tee ${TEST_RUN_LOG}
+
if [[ ${1} = "ql_gf_nucleus_all" ]]; then
merge_junit_xmls ${WORKSPACE}/nucleus/tests/quicklook/target/surefire-reports/junitreports
elif [[ ${1} = "nucleus_admin_all" ]]; then
merge_junit_xmls ${WORKSPACE}/nucleus/tests/admin/target/surefire-reports/junitreports
fi
elif [[ ${1} = "ql_gf_web_profile_all" || $1 = "ql_gf_embedded_profile_all" ]]; then
- unzip_test_resources ${WORKSPACE}/bundles/web.zip
+
+ # Run quick look EE web profile tests using the web profile glassfish distribution (WD, Web Distribution) build
+
+ unzip_test_resources ${WORKSPACE}/bundles/web.zip
+
cd ${WORKSPACE}/appserver/tests/quicklook/
+
if [[ ${1} = "ql_gf_web_profile_all" ]]; then
mvn -Dglassfish.home=${S1AS_HOME} -Ptest_wd_security,report test | tee ${TEST_RUN_LOG}
elif [[ ${1} = "ql_gf_embedded_profile_all" ]]; then
mvn -Dglassfish.home=${S1AS_HOME} -Ptest_em,report test | tee ${TEST_RUN_LOG}
fi
else
- echo "Invalid Test Id"
+ echo "Invalid Test Id!"
exit 1
fi
}
diff --git a/appserver/tests/quicklook/testng/testng_wd.xml b/appserver/tests/quicklook/testng/testng_wd.xml
index ae43513..3412cf0 100644
--- a/appserver/tests/quicklook/testng/testng_wd.xml
+++ b/appserver/tests/quicklook/testng/testng_wd.xml
@@ -18,6 +18,11 @@
<!DOCTYPE suite SYSTEM "http://testng.org/testng-1.0.dtd" >
+<!--
+
+ Tests for "WD" (Web Distribution, aka Jakarta EE Web Profile)
+
+ -->
<suite name="QuickLookTests" verbose="2">
<parameter name="admin.url" value="http://localhost:4848/__asadmin" />
@@ -140,10 +145,12 @@
</classes>
</test>
+<!-- Uncomment when/if fighterfish is reenabled
<test name="osgi_test">
<classes>
<class name="test.osgi.hello.HelloOSGITestNG" />
</classes>
</test>
+-->
</suite>
diff --git a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-client.xml b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-client.xml
index 8004271..a8b417e 100644
--- a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-client.xml
+++ b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-client.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,12 +17,12 @@
-->
-<bindings
+<bindings
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
wsdlLocation="http://localhost:8080/JaxwsFromWsdl/addnumbers?wsdl"
- xmlns="http://java.sun.com/xml/ns/jaxws">
+ xmlns="https://jakarta.ee/xml/ns/jaxws">
<bindings node="ns1:definitions" xmlns:ns1="http://schemas.xmlsoap.org/wsdl/">
<package name="jaxwsfromwsdl.client"/>
</bindings>
diff --git a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-server.xml b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-server.xml
index c1d994c..eb459ca 100644
--- a/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-server.xml
+++ b/appserver/tests/quicklook/wsit/JaxwsFromWsdl/etc/custom-server.xml
@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!--
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,12 +17,12 @@
-->
-<bindings
+<bindings
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- xmlns:jaxb="http://java.sun.com/xml/ns/jaxb"
+ xmlns:jaxb="https://jakarta.ee/xml/ns/jaxb"
xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/"
wsdlLocation="AddNumbers.wsdl"
- xmlns="http://java.sun.com/xml/ns/jaxws">
+ xmlns="https://jakarta.ee/xml/ns/jaxws">
<bindings node="ns1:definitions" xmlns:ns1="http://schemas.xmlsoap.org/wsdl/">
<package name="jaxwsfromwsdl.server"/>
</bindings>
diff --git a/appserver/transaction/jts/src/main/java/com/sun/enterprise/transaction/jts/JavaEETransactionManagerJTSDelegate.java b/appserver/transaction/jts/src/main/java/com/sun/enterprise/transaction/jts/JavaEETransactionManagerJTSDelegate.java
index bcd72fb..d16387a 100644
--- a/appserver/transaction/jts/src/main/java/com/sun/enterprise/transaction/jts/JavaEETransactionManagerJTSDelegate.java
+++ b/appserver/transaction/jts/src/main/java/com/sun/enterprise/transaction/jts/JavaEETransactionManagerJTSDelegate.java
@@ -117,7 +117,7 @@
initTransactionProperties();
setInstance(this);
- transactionManagerImpl = TransactionManagerImpl.getTransactionManagerImpl();
+ //transactionManagerImpl = TransactionManagerImpl.getTransactionManagerImpl();
}
public boolean useLAO() {
diff --git a/appserver/verifier/verifier-impl/exclude.xml b/appserver/verifier/verifier-impl/exclude.xml
deleted file mode 100644
index f4a3cda..0000000
--- a/appserver/verifier/verifier-impl/exclude.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<!--
-
- Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<FindBugsFilter>
- <!--
- Exclude all low priority bugs in the verifier code,
- which has a huge number of bugs, and which isn't currently
- resourced sufficiently to fix these.
- -->
- <Match>
- <Or>
- <Priority value="2"/>
- <Priority value="3"/>
- </Or>
- <Class name="~com\.sun\.enterprise\.tools\.verifier\..*"/>
- </Match>
-</FindBugsFilter>
diff --git a/appserver/verifier/verifier-impl/osgi.bundle b/appserver/verifier/verifier-impl/osgi.bundle
deleted file mode 100644
index 707a7f9..0000000
--- a/appserver/verifier/verifier-impl/osgi.bundle
+++ /dev/null
@@ -1,27 +0,0 @@
-#
-# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-
-
-# We only export a selected set of classes
--exportcontents: com.sun.enterprise.tools.verifier; \
- include:="Verifier, VerifierFrameworkContext, ResultManager"; \
- version=${project.osgi.version}
-Import-Package: \
- !javax.help, \
- *
-
diff --git a/appserver/verifier/verifier-impl/pom.xml b/appserver/verifier/verifier-impl/pom.xml
deleted file mode 100755
index 7362940..0000000
--- a/appserver/verifier/verifier-impl/pom.xml
+++ /dev/null
@@ -1,195 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.glassfish.main</groupId>
- <artifactId>glassfish-parent</artifactId>
- <version>6.0.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>verifier</artifactId>
- <packaging>glassfish-jar</packaging>
-
- <name>Verifier implementation module</name>
-
- <properties>
- <findbugs.exclude>${project.basedir}/exclude.xml</findbugs.exclude>
- </properties>
-
- <build>
- <plugins>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifest>
- <addClasspath>false</addClasspath>
- <mainClass>org.glassfish.hk2.tools.verifier.VerifierMain</mainClass>
- </manifest>
- <manifestEntries>
- <!-- Don't add this, as we can't rely on Class-Path manifest because of some strange
- issue in static mode in glassfish
- <Class-Path>../lib/embedded/glassfish-embedded-static-shell.jar ../lib/javahelp.jar</Class-Path>
- -->
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- <plugin>
- <groupId>org.apache.maven.plugins</groupId>
- <artifactId>maven-compiler-plugin</artifactId>
- <configuration>
- <compilerArgument>-XDignore.symbol.file</compilerArgument>
- </configuration>
- </plugin>
- </plugins>
- </build>
-
- <developers>
- <developer>
- <id>ss141213</id>
- <name>Sahoo</name>
- <organization>Oracle, Inc.</organization>
- <roles>
- <role>lead</role>
- </roles>
- </developer>
- </developers>
-
- <dependencies>
- <!-- All the dependencies have been marked provided so that
- when some module like deployment depends on verifier, they
- don't automatically see verifier's dependency, nor these
- jars appear in Class-Path manifest.-->
- <dependency>
- <groupId>org.glassfish.main.deployment</groupId>
- <artifactId>deployment-javaee-full</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>jakarta.ejb</groupId>
- <artifactId>jakarta.ejb-api</artifactId>
- <optional>true</optional>
- </dependency>
- <dependency>
- <groupId>org.glassfish.main.ejb</groupId>
- <artifactId>ejb-container</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.main.deployment</groupId>
- <artifactId>deployment-common</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.main.persistence.cmp</groupId>
- <artifactId>cmp-support-ejb</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.main.persistence</groupId>
- <artifactId>jpa-container</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.main.common</groupId>
- <artifactId>glassfish-api</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency> <!-- depends on bootstrap classes like ASMainFelix -->
- <groupId>org.glassfish.main.core</groupId>
- <artifactId>glassfish</artifactId>
- <version>${project.version}</version>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.main.web</groupId>
- <artifactId>web-glue</artifactId>
- <version>${project.version}</version>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>jakarta.servlet.jsp</groupId>
- <artifactId>jakarta.servlet.jsp-api</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish</groupId>
- <artifactId>jakarta.el</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>jakarta.jms</groupId>
- <artifactId>jakarta.jms-api</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.persistence</groupId>
- <artifactId>org.eclipse.persistence.jpa</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.eclipse.persistence</groupId>
- <artifactId>org.eclipse.persistence.core</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.osgi</groupId>
- <artifactId>osgi.core</artifactId>
- <optional>true</optional>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>javax.help</groupId>
- <artifactId>javahelp</artifactId>
- <scope>provided</scope>
- </dependency>
- <dependency>
- <groupId>org.glassfish.metro</groupId>
- <artifactId>webservices-api-osgi</artifactId>
- </dependency>
- </dependencies>
-</project>
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/BaseVerifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/BaseVerifier.java
deleted file mode 100755
index f0ba152..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/BaseVerifier.java
+++ /dev/null
@@ -1,213 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.List;
-import java.util.ArrayList;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.w3c.dom.Document;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.deployment.BundleDescriptor;
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.XMLValidationHandler;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * The base class of all the verifiers. It has all the common
- * logic required in the verification process.
- *
- * @author Vikas Awasthi
- */
-public abstract class BaseVerifier {
-
- protected Logger logger = LogDomains.getLogger(LogDomains.AVK_VERIFIER_LOGGER);
- protected VerifierFrameworkContext verifierFrameworkContext = null;
- protected VerifierTestContext context = null;
-
- public abstract void verify() throws Exception;
-
- public abstract Descriptor getDescriptor();
-
- protected abstract ClassLoader createClassLoader()
- throws IOException;
-
- protected abstract String getArchiveUri();
-
- protected abstract String getClassPath() throws IOException;
-
- protected void createDocumentObject(Descriptor descriptor)
- throws IOException, ParserConfigurationException, SAXException {
- InputStream is = null;
- InputSource source = null;
-
- String archBase = new File(context.getAbstractArchive().getURI()).getAbsolutePath();
- String uri = null;
- if(descriptor instanceof Application) {
- uri = archBase;
- } else {
- BundleDescriptor bundleDesc =
- BundleDescriptor.class.cast(descriptor);
- if(bundleDesc.getModuleDescriptor().isStandalone()) {
- uri = archBase;
- } else {
- uri = archBase + File.separator + getArchiveUri();
- }
- }
- String dd[] = getDDString();
- for (int i = 0; i < dd.length; i++) {
- try{
- is = getInputStreamFromAbstractArchive(uri, dd[i]);
- if (is != null) {
- source = new InputSource(is);
- createDOMObject(source, dd[i]);
- is.close();
- }
- } finally {
- try {
- if(is != null) {
- is.close();
- }
- } catch(Exception e) {}
- }
- }
- }
-
- protected boolean areTestsNotRequired(
- boolean isModuleGivenInPartiotioningArgs) {
- return (verifierFrameworkContext.isPartition() &&
- !isModuleGivenInPartiotioningArgs);
- }
-
- protected void preVerification() throws Exception {
- logger.log(Level.INFO, "Verifying: [ " + getArchiveUri() + " ]");
- ClassLoader loader = createClassLoader();
- context = new VerifierTestContext(loader);
- context.setAppserverMode(!verifierFrameworkContext.isPortabilityMode());
- context.setAbstractArchive(verifierFrameworkContext.getArchive());
- context.setClassPath(getClassPath());
- logger.log(Level.FINE, "Using CLASSPATH: " + getClassPath());
- }
-
- protected void verify(Descriptor descriptor, CheckMgr checkMgrImpl)
- throws Exception {
- //hs for creating DOM object for runtime tests
- createDocumentObject(descriptor);
- // now start calling each individual test, as per spec
- checkMgrImpl.setVerifierContext(context);
- checkMgrImpl.check(descriptor);
- logger.log(Level.FINE,
- getClass().getName() + ".debug.endStaticVerification"); // NOI18N
- }
-
- protected void createDOMObject(InputSource source, String dd)
- throws ParserConfigurationException, SAXException, IOException {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- factory.setValidating(true);
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- factory.setNamespaceAware(true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- EntityResolver dh = new XMLValidationHandler(false);
- builder.setEntityResolver(dh);
- Document document = builder.parse(source);
-
- if ((dd.indexOf("sun-")) < 0) { // NOI18N
- if ((dd.indexOf("webservices")) < 0) { // NOI18N
- context.setDocument(document);
- } else {
- context.setWebServiceDocument(document);
- }
- } else
- context.setRuntimeDocument(document);
- }
-
- protected abstract String[] getDDString();
-
- protected InputStream getInputStreamFromAbstractArchive(String uri,
- String ddName)
- throws IOException {
- FileArchive arch = new FileArchive();
- arch.open(new File(uri).toURI());
- InputStream deploymentEntry = arch.getEntry(ddName);
- return deploymentEntry;
- }
-
- /**
- *
- * @param appRoot The location of the exploded archive
- * @param libdirPath library-directory location as specified in aplication.xml
- * @return Classpath string containing list of jar files in the library directory
- * separated by File.separator char
- * @throws IOException
- */
- protected String getLibdirClasspath(String appRoot, String libdirPath) throws IOException{
- StringBuilder classpath=new StringBuilder();
- libdirPath = libdirPath.replace('/', File.separatorChar);
- List<String> jars = getAllJars(new File(appRoot, libdirPath));
- for (String s : jars) {
- classpath.append(s);
- classpath.append(File.pathSeparator);
- }
- return classpath.toString();
- }
-
- /**
- *
- * @param file
- * @return returns a list of jars in the a directory
- * @throws IOException
- */
- private List<String> getAllJars(File file) throws IOException{
- List<String> list = new ArrayList<String>();
- if (file.isDirectory() || file.canRead()) {
- File[] files = file.listFiles();
- for (int i=0; i<files.length; i++) {
- File jar = files[i];
- if ( FileUtils.isJar(jar)) {
- list.add( jar.getCanonicalPath() );
- }
- }
- }
- return list;
- }
-
- /** converts list of paths to a string of paths separated by pathSeparator*/
- protected String getClassPath(List<String> classPath) {
- if (classPath == null) return "";
- StringBuilder cp = new StringBuilder("");
- for (int i = 0; i < classPath.size(); i++) {
- cp.append(classPath.get(i));
- cp.append(File.pathSeparator);
- }
- return cp.toString();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/CLIPParser.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/CLIPParser.java
deleted file mode 100644
index 80664f1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/CLIPParser.java
+++ /dev/null
@@ -1,408 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-
-public class CLIPParser {
-
-// NOTE: the current design does not allow LongOptions to have optional arguments.
-// They should either have or not have arguments
-
-
- /**
- * helper property to get to the localized strings
- */
- protected static final com.sun.enterprise.util.LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
-
- /**
- * argument values for options that take an argument are stored here.
- */
- protected String optarg;
-
-
- /**
- * When an unrecognized option is encountered, getopt will return a '?'
- * and store the value of the invalid option here.
- */
- protected int optopt = '?';
-
- /**
- * The next character to be scanned in the option-element
- * in which the last option character we returned was found.
- * This allows us to pick up the scan where we left last.
- * If cn is a null string, advance to next argv
- */
- protected String cn;
-
- /**
- * This is the string describing the valid short options.
- */
- protected String optstring;
-
- /**
- * array of LongOption objects describing the valid long options.
- */
- protected LongOption[] longopt;
-
- /**
- * Stores the index into the longopt array of the long option detected
- */
- protected int longind;
-
- /**
- * A flag which communicates whether or not processLOpt() did all
- * necessary processing for the current option
- */
- protected boolean processed;
-
- /**
- * The index of the first non-option in argv[]
- */
- protected int fno = 1;
-
- /**
- * The index of the last non-option in argv[]
- */
- protected int lno = 1;
-
- /**
- * Index in argv of the next element to be scanned.
- * This is used for returning to and from the driver
- * and for returning between successive calls to getopt.
- * On entry to getopt zero means this is the first call.
- * When getopt returns -1 this is the index of the first of the
- * non-option elements that the caller should itself scan.
- * Otherwise optind returns from one call to the next
- * how much of argv has been parsed so far.
- */
- protected int optind = 0;
-
- /**
- * The arguments to be CLIP parsed
- */
- protected String[] argv;
-
- /**
- * The utility name.
- */
- protected String progname;
-
- Logger logger = LogDomains.getLogger(LogDomains.AVK_VERIFIER_LOGGER);
-
- /**
- * flag when set to true will result in getopt returning -1 the next time it is called.
- */
- private boolean endparse = false;
-
- /**
- * @param progname The name to display as the program name when printing errors
- * @param argv String array passed as the command line to the program
- * @param optstring String containing a description of the valid short options for this program
- * @param longopt array of LongOption objects that describes the valid long options for this program
- */
- public CLIPParser(String progname, String[] argv, String optstring,
- LongOption[] longopt) {
- if (optstring.length() == 0)
- optstring = " "; // NOI18N
-
- this.progname = progname;
- this.argv = argv;
- this.optstring = optstring;
- this.longopt = longopt;
- }
-
- /**
- * validity checker for long options.
- *
- * @return the corresponding short option character or ?.
- */
- protected int processLOpt() {
- LongOption currlopt = null;
- boolean ambiguous;
- boolean exact;
- int eoname;
-
- processed = true;
- ambiguous = false;
- exact = false;
- longind = -1;
-
- eoname = cn.indexOf("="); // NOI18N
- if (eoname == -1)
- eoname = cn.length();
-
- for (int i = 0; i < longopt.length; i++) {
-
- if (longopt[i].getName().startsWith(cn.substring(0, eoname))) {
- if (longopt[i].getName().equals(cn.substring(0, eoname))) {
- // Exact match found
- currlopt = longopt[i];
- longind = i;
- exact = true;
- break;
- } else if (currlopt == null) {
- // First nonexact match found
- currlopt = longopt[i];
- longind = i;
- } else {
- // Second or subsequent nonexact match found
- ambiguous = true;
- }
- }
- }
-
- if (ambiguous && !exact) {
- logger.log(Level.SEVERE, getClass().getName() + ".ambig",
- new Object[]{progname, argv[optind]});
- cn = "";
- optopt = 0;
- ++optind;
-
- return '?';
- }
-
- if (currlopt != null) {
- ++optind;
-
- if (eoname != cn.length()) {
- if (currlopt.argPresent) {
- if (cn.substring(eoname).length() > 1)
- optarg = cn.substring(eoname + 1);
- else
- optarg = "";
- } else {
- if (argv[optind - 1].startsWith("--")) { // NOI18N
- logger.log(Level.SEVERE, getClass().getName() +
- ".loptnoarg", // NOI18N
- new Object[]{progname, currlopt.name});
- } else {
- logger.log(Level.SEVERE,
- getClass().getName() + ".optnoarg", // NOI18N
- new Object[]{progname,
- new Character(
- argv[optind - 1].charAt(0)).toString(),
- currlopt.name});
- }
-
- cn = "";
- optopt = currlopt.value;
-
- return '?';
- }
- } else if (currlopt.argPresent) {
- if (optind < argv.length) {
- optarg = argv[optind];
- ++optind;
- } else {
- logger.log(Level.SEVERE, getClass().getName() + ".reqargs",
- new Object[]{progname, argv[optind - 1]});
-
- cn = "";
- optopt = currlopt.value;
- if (optstring.charAt(0) == ':')
- return ':';
- else
- return '?';
- }
- }
-
- cn = "";
-
- if (currlopt.holder != null) {
- currlopt.holder.setLength(0);
- currlopt.holder.append(currlopt.value);
-
- return (0);
- }
-
- return currlopt.value;
- }
-
- processed = false;
-
- return (0);
- }
-
- /**
- * @return The character representing the current option that has been
- * parsed from the command line. If the option takes an argument,
- * then the member optarg is set to contain the value of the
- * argument. If an invalid option is found CLIP parser prints an
- * error message and a ? character is returned. Member variable
- * optopt will as usual store the option character. A -1 is returned
- * when end of option parsing is detected. Upon return optind will
- * be pointing to the first non-option argument in argv
- */
- public int getopt() {
- optarg = null;
-
- if (endparse == true)
- return (-1);
-
- if ((cn == null) || (cn.equals(""))) {
- if (lno > optind)
- lno = optind;
- if (fno > optind)
- fno = optind;
-
- if ((optind != argv.length) && argv[optind].equals("--")) { // NOI18N
- optind++;
-
- if (fno == lno)
- fno = optind;
-
- lno = argv.length;
- optind = argv.length;
- }
-
- if (optind == argv.length) {
- // Set the next arg index to point at the non-options
- // that we previously skipped.
- if (fno != lno)
- optind = fno;
-
- return -1;
- }
-
- // If we have come to a non-option stop the scan
- if (argv[optind].equals("") || (argv[optind].charAt(0) != '-') ||
- argv[optind].equals("-")) { // NOI18N
- return -1;
-
- }
-
- // We have found another.
- if (argv[optind].startsWith("--")) // NOI18N
- cn = argv[optind].substring(2);
- else
- cn = argv[optind].substring(1);
- }
-
- if ((longopt != null) && (argv[optind].startsWith("--"))) { // NOI18N
- int c = processLOpt();
-
- if (processed)
- return c;
-
- // unrecognized long/short options
- if (argv[optind].startsWith("--")) { // NOI18N
- logger.log(Level.SEVERE, getClass().getName() + ".loptunknown",
- new Object[]{progname, argv[optind]});
- } else {
- logger.log(Level.SEVERE, getClass().getName() + ".optunknown",
- new Object[]{progname,
- new Character(argv[optind].charAt(0)).toString(),
- cn});
- }
-
- cn = "";
- ++optind;
- optopt = 0;
-
- return '?';
- }
-
- // handle the next short option-character
- int c = cn.charAt(0);
- if (cn.length() > 1)
- cn = cn.substring(1);
- else
- cn = "";
-
- String ct = null;
- if (optstring.indexOf(c) != -1)
- ct = optstring.substring(optstring.indexOf(c));
-
- if (cn.equals(""))
- ++optind;
-
- if ((ct == null) || (c == ':')) {
- /* if ( c != '?') {
- log(smh.getLocalString(getClass().getName() + ".invalidopt",
- "{0}: invalid option [-{1} ].",
- new Object[] {progname, new Character((char)c).toString()}));
- }*/
-
- optopt = c;
-
- return '?';
- }
-
- if ((ct.length() > 1) && (ct.charAt(1) == ':')) {
- if ((ct.length() > 2) && (ct.charAt(2) == ':'))
- // option that accepts an optional argument
- {
- if (!cn.equals("")) {
- optarg = cn;
- ++optind;
- } else {
- optarg = null;
- }
-
- cn = null;
- } else {
- if (!cn.equals("")) {
- optarg = cn;
- ++optind;
- } else if (optind == argv.length) {
- logger.log(Level.SEVERE, getClass().getName() + ".reqsarg",
- new Object[]{progname,
- new Character((char) c).toString()});
-
- optopt = c;
-
- if (optstring.charAt(0) == ':')
- return ':';
- else
- return '?';
- } else {
- optarg = argv[optind];
- ++optind;
- }
-
- cn = null;
- }
- }
-
- return c;
- }
-
- public int getOptind() {
- return optind;
- }
-
-
- public String getOptarg() {
- return optarg;
- }
-
- public int getOptopt() {
- return optopt;
- }
-
- public int getLongind() {
- return longind;
- }
-
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/CheckMgr.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/CheckMgr.java
deleted file mode 100644
index 6bfd2f9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/CheckMgr.java
+++ /dev/null
@@ -1,510 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.EventObject;
-import java.util.Vector;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import com.sun.enterprise.deployment.*;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.VerifierConstants;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.webservices.WebServiceCheckMgrImpl;
-import com.sun.enterprise.tools.verifier.persistence.PersistenceUnitCheckMgrImpl;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-public abstract class CheckMgr {
-
- /* This class provides the event notification methods for the check managers
- * used by EjbCheckMgrImpl, AppCheckMgrImpl, WebCheckMgrImpl, AppClientCheckMgrImpl
- */
- static Vector<VerifierEventsListener> listenerList = new Vector<VerifierEventsListener>();
-
- /**
- * <p/>
- * Entry point for executing all tests pertinent to this architecture
- * </p>
- *
- * @param descriptor <code>ConnectorDescritor</code> the deployment descriptor
- */
- protected void check(Descriptor descriptor) throws Exception {
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.CheckMgr.check",
- new Object[]{getClass().getName(), descriptor.getName()});
-
- setRuntimeDDPresent(getAbstractArchiveUri(descriptor));
-
- // Load the list of tests from the property file for this manager
- loadTestInformationFromPropsFile();
-
- // These temporary placeholder will keep the results of the tests
-
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.CheckMgr.RunAllTests",
- new Object[]{descriptor.getName()});
- String schemaVersion = getSchemaVersion(descriptor);
- context.setSchemaVersion(schemaVersion);
- context.setJavaEEVersion(verifierFrameworkContext.getJavaEEVersion());
- context.setComponentNameConstructor(getComponentNameConstructor(descriptor));
- FileArchive moduleArchive = new FileArchive();
- moduleArchive.open(getAbstractArchiveUri(descriptor));
- context.setModuleArchive(moduleArchive);
- ResultManager resultManager = verifierFrameworkContext.getResultManager();
- for (int i = 0; i < test.size(); i++) {
- TestInformation ti = (TestInformation) test.elementAt(i);
- String minVersion = ti.getMinimumVersion();
- String maxVersion = ti.getMaximumVersion();
- // does this test apply to the schema version implemented by
- // this component's descriptor
- if (schemaVersion != null && minVersion != null &&
- schemaVersion.compareTo(minVersion) < 0) {
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.CheckMgr.version.NOT_APPLICABLE",
- new Object[]{ti.getClassName()});
- continue;
- }
- if (schemaVersion != null && maxVersion != null &&
- schemaVersion.compareTo(maxVersion) > 0) {
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.CheckMgr.version.NOT_APPLICABLE",
- new Object[]{ti.getClassName()});
- continue;
- }
- if(!isApplicable(ti, descriptor)) {
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.CheckMgr.version.NOT_APPLICABLE",
- new Object[]{ti.getClassName()});
- continue;
- }
- try {
- Class c = Class.forName(ti.getClassName());
- VerifierCheck t = (VerifierCheck) c.newInstance();
- t.setVerifierContext(context);
- Result r = t.check(descriptor);
- // no need to setComponentName as it is already set in
- // VerifierTest.getInitialisedResult(). By Sahoo
- // r.setComponentName(getArchiveUri(descriptor));
- setModuleName(r);
- resultManager.add(r);
- // notify listeners of test completion
- fireTestFinishedEvent(r);
- } catch (Throwable e) {
- LogRecord logRecord = new LogRecord(Level.SEVERE,
- ti.getClassName());
- logRecord.setThrown(e);
- resultManager.log(logRecord);
- }
- }
-
- fireAllTestsFinishedEvent();
- // done adding it to hastable vector.
- }
-
- protected abstract ComponentNameConstructor getComponentNameConstructor(Descriptor descriptor);
-
- /**
- * This method sets the Context object
- */
- public void setVerifierContext(VerifierTestContext context) {
- this.context = context;
- }
-
- /**
- * support notification of test completion with a ChangeEvent
- * the ChangeEvent source is the corresponding Result object
- *
- * @param l change listener
- */
- public static void addVerifierEventsListener(VerifierEventsListener l) {
- listenerList.add(l);
- }
-
- /**
- * Remove change listener
- *
- * @param l change listener
- */
- public static void removeVerifierEventsListener(VerifierEventsListener l) {
- listenerList.remove(l);
- }
-
- /**
- * <p/>
- *
- * @return <code>String</code> the file name containing the list of tests
- * to be performed by this manager on each archive file
- * </p>
- */
- protected abstract String getTestsListFileName();
-
- protected abstract void setModuleName(Result r);
-
- protected abstract String getSchemaVersion(Descriptor descriptor);
-
- /**
- * Adding a new function to get the SunONE AS test lists for Ejb tests
- */
- protected abstract String getSunONETestsListFileName();
-
- protected String getArchiveUri(Descriptor descriptor) {
- String archiveUri = getBundleDescriptor(descriptor).getModuleDescriptor().getArchiveUri();
- return new File(archiveUri).getName();
- }
-
- /**
- * This method is overridden in EjbCheckMgrImpl. This method is used to
- * ensure that entity and mdb tests are not run for session descriptors and
- * similarly the other way round.
- */
- protected boolean isApplicable(TestInformation test, Descriptor descriptor) {
- return true;
- }
-
- // call once per test, when r is complete
- protected void fireTestFinishedEvent(Result r) {
-
- Object[] listeners;
- synchronized (listenerList) {
- listeners = listenerList.toArray();
- }
- if (listeners == null)
- return;
-
- // Process the listeners last to first, notifying
- // those that are interested in this event
- for (int i = 0; i < listeners.length; i++) {
- if (listeners[i] instanceof VerifierEventsListener) {
- // create the event:
- EventObject event = new EventObject(r);
- ((VerifierEventsListener) listeners[i]).testFinished(event);
- }
- }
- }
-
- // call once per test, when all tests for the mgr are done
- protected void fireAllTestsFinishedEvent() {
-
- Object[] listeners;
- synchronized (listenerList) {
- listeners = listenerList.toArray();
- }
- if (listeners == null)
- return;
-
- // Process the listeners last to first, notifying
- // those that are interested in this event
- for (int i = 0; i < listeners.length; i++) {
- if (listeners[i] instanceof VerifierEventsListener) {
- // create the event:
- EventObject event = new EventObject(this);
- ((VerifierEventsListener) listeners[i]).allTestsFinished(event);
- }
- }
- }
-
- /**
- * <p/>
- * load all the test names from the property file. Each manager has its
- * list of test to be performed for each archive in a property file.
- * The tests list of a list of class name implementing a particular test
- * </p>
- */
- private void loadTestInformationFromPropsFile()
- throws ParserConfigurationException, SAXException, IOException {
-
- if(!test.isEmpty())
- return;
- logger.log(Level.FINE,
- "com.sun.enterprise.tools.verifier.CheckMgr.TestnamesPropsFile"); // NOI18N
-
- InputStream is = getTestsFileInputStreamFor(getTestsListFileName());
-
- try
- {
- // parse the xml file
- DocumentBuilder db = DocumentBuilderFactory.newInstance()
- .newDocumentBuilder();
- Document doc = db.parse(is);
- NodeList list = doc.getElementsByTagName("test"); // NOI18N
- for (int i = 0; i < list.getLength(); i++) {
- Element e = (Element) list.item(i);
- NodeList nl = e.getChildNodes();
- TestInformation ti = new TestInformation();
- for (int j = 0; j < nl.getLength(); j++) {
- String nodeName = nl.item(j).getNodeName();
- if ("test-class".equals(nodeName.trim())) { // NOI18N
- Node el = nl.item(j);
- ti.setClassName(el.getFirstChild().getNodeValue().trim());
- }
- if ("minimum-version".equals(nodeName.trim())) { // NOI18N
- Node el = nl.item(j);
- ti.setMinimumVersion(
- el.getFirstChild().getNodeValue().trim());
- }
- if ("maximum-version".equals(nodeName.trim())) { // NOI18N
- Node el = nl.item(j);
- ti.setMaximumVersion(
- el.getFirstChild().getNodeValue().trim());
- }
- }
- test.addElement(ti);
- }
-
- if ((!verifierFrameworkContext.isPortabilityMode() &&
- getRuntimeDDPresent()))
- readSunONETests(test);
- // to get the list of tests to be excluded
- Vector<TestInformation> testExcluded = getTestFromExcludeList();
- // to exclude the tests
- test = getFinalTestList(test, testExcluded);
- }
- finally
- {
- is.close();
- }
- }
-
- /**
- * @return <code>boolean</code> successful completion of getting exclude list
- */
- protected Vector<TestInformation> getTestFromExcludeList()
- throws ParserConfigurationException, SAXException, IOException {
- Vector<TestInformation> testExcluded = new Vector<TestInformation>();
- logger.log(Level.FINE,
- "com.sun.enterprise.tools.verifier.CheckMgr.TestnamesPropsFile"); // NOI18N
- // parse the xml file
- InputStream is = getTestsFileInputStreamFor(excludeListFileName);
- try {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = factory.newDocumentBuilder();
-
- Document doc = builder.parse(is);
- NodeList list = doc.getElementsByTagName("test"); // NOI18N
- for (int i = 0; i < list.getLength(); i++) {
- Element e = (Element) list.item(i);
- NodeList nl = e.getChildNodes();
- TestInformation ti = new TestInformation();
- for (int j = 0; j < nl.getLength(); j++) {
- String nodeName = nl.item(j).getNodeName();
- if ("test-class".equals(nodeName.trim())) { // NOI18N
- Node el = nl.item(j);
- ti.setClassName(el.getFirstChild().getNodeValue().trim());
- }
- }
- testExcluded.addElement(ti);
- }
- } finally {
- is.close();
- }
- return testExcluded;
- }
-
- /**
- * @param orignalList
- * @param excludeList
- * @return <code>vector</code> successful completion of getting exclude list
- */
- protected Vector<TestInformation> getFinalTestList(
- Vector<TestInformation> orignalList,
- Vector<TestInformation> excludeList) {
- if (excludeList == null) return orignalList;
- if (orignalList.size() != 0 && excludeList.size() != 0) {
- for (int i = 0; i < excludeList.size(); i++) {
- for (int j = 0; j < orignalList.size(); j++) {
- if (((TestInformation) orignalList.elementAt(j)).getClassName()
- .equals(
- ((TestInformation) excludeList.elementAt(i)).getClassName())) {
- orignalList.remove(j);
- }
- }
- }
- }
- return orignalList;
- }
-
- protected void checkWebServices(Descriptor descriptor)
- throws Exception {
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isWebServices())
- return;
- BundleDescriptor bundleDescriptor = (BundleDescriptor) descriptor;
- WebServiceCheckMgrImpl webServiceCheckMgr = new WebServiceCheckMgrImpl(
- verifierFrameworkContext);
- if (bundleDescriptor.hasWebServices()) {
- WebServicesDescriptor wdesc = bundleDescriptor.getWebServices();
- webServiceCheckMgr.setVerifierContext(context);
- webServiceCheckMgr.check(wdesc);
- }
- }
-
- protected void checkPersistenceUnits(RootDeploymentDescriptor descriptor)
- throws Exception {
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isPersistenceUnits())
- return;
- CheckMgr puCheckMgr = new PersistenceUnitCheckMgrImpl(
- verifierFrameworkContext, context);
- for(PersistenceUnitsDescriptor pus :
- descriptor.getExtensionsDescriptors(PersistenceUnitsDescriptor.class)) {
- for (PersistenceUnitDescriptor pu :
- pus.getPersistenceUnitDescriptors()) {
- puCheckMgr.check(pu);
- }
- }
- }
-
- // end of code added for WebServices
-
- protected static String getSunPrefix() {
- return "sun-"; // NOI18N
- }
-
- protected void setRuntimeDDPresent(String uri) {
- logger.warning("setRuntimeDDPresent method not implemented");
-// InputStream is = null;
-// try {
-// AbstractArchive abstractArchive = new FileArchiveFactory().openArchive(
-// uri);
-// Archivist archivist = ArchivistFactory.getArchivistForArchive(
-// abstractArchive);
-// if(archivist != null) {
-// String ddFileEntryName = archivist.getRuntimeDeploymentDescriptorPath();
-// is = abstractArchive.getEntry(ddFileEntryName);
-// if (is != null) {
-// isDDPresent = true;
-// }
-// }
-//
-// } catch (IOException e) {
-// isDDPresent = false;
-// } finally {
-// try {
-// if(is != null)
-// is.close();
-// } catch (Exception e) {
-// // nothing to do here
-// }
-// }
- }
-
- private boolean getRuntimeDDPresent() {
- return isDDPresent;
- }
-
- private void readSunONETests(Vector<TestInformation> test)
- throws ParserConfigurationException, SAXException, IOException {
- String sunonetests = getSunONETestsListFileName();
- if (sunonetests == null)
- return;
- InputStream is = getTestsFileInputStreamFor(sunonetests);
- if (is == null)
- return;
- try
- {
- DocumentBuilder db = DocumentBuilderFactory.newInstance()
- .newDocumentBuilder();
- Document doc = db.parse(is);
- NodeList list = doc.getElementsByTagName("test"); // NOI18N
- for (int i = 0; i < list.getLength(); i++) {
- Element e = (Element) list.item(i);
- NodeList nl = e.getChildNodes();
- TestInformation ti = new TestInformation();
- for (int j = 0; j < nl.getLength(); j++) {
- String nodeName = nl.item(j).getNodeName();
- if ("test-class".equals(nodeName.trim())) { // NOI18N
- Node el = nl.item(j);
- ti.setClassName(el.getFirstChild().getNodeValue().trim());
- }
- if ("minimum-version".equals(nodeName.trim())) { // NOI18N
- Node el = nl.item(j);
- ti.setMinimumVersion(
- el.getFirstChild().getNodeValue().trim());
- }
- if ("maximum-version".equals(nodeName.trim())) { // NOI18N
- Node el = nl.item(j);
- ti.setMaximumVersion(
- el.getFirstChild().getNodeValue().trim());
- }
- }
- test.addElement(ti);
- }
- }
- finally
- {
- is.close();
- }
- }
-
- /**
- * Retrieve Web tests from TestNamesWeb.conf file
- *
- * @param filename file listing all web tests to run
- * @return <code>File</code> File handle for tests to run
- */
- private InputStream getTestsFileInputStreamFor(String filename) {
- // We expect all the resources to be in this pkg
- return getClass().getClassLoader().getResourceAsStream(VerifierConstants.CFG_RESOURCE_PREFIX +filename);
- }
-
- protected String getAbstractArchiveUri(Descriptor descriptor) {
- String archBase = context.getAbstractArchive().getURI().toString();
- if (descriptor instanceof Application)
- return archBase;
- ModuleDescriptor mdesc = getBundleDescriptor(descriptor).getModuleDescriptor();
- if(mdesc.isStandalone()) {
- return archBase;
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(mdesc.getArchiveUri());
- }
- }
- /**
- * EjbCheckMgrImpl, WebServiceClientCheckMgrImpl and WebServiceCheckMgrImpl
- * classes override this method. For each of these areas the tests are run
- * on descriptors rather than bundle descriptors.
- */
- protected BundleDescriptor getBundleDescriptor(Descriptor descriptor) {
- return (BundleDescriptor) descriptor;
- }
-
- protected VerifierFrameworkContext verifierFrameworkContext = null;
- final protected boolean debug = Verifier.isDebug();
- protected VerifierTestContext context = null;
-
- /* TestExcludeList.xml Excluded tests */
- private static final String excludeListFileName = "TestExcludeList.xml"; // NOI18N
- private Logger logger = LogDomains.getLogger(
- LogDomains.AVK_VERIFIER_LOGGER);
- protected boolean isDDPresent = false;
- private Vector<TestInformation> test = new Vector<TestInformation>();
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/DescriptorFactory.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/DescriptorFactory.java
deleted file mode 100644
index f5c1cb4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/DescriptorFactory.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import com.sun.enterprise.deploy.shared.ArchiveFactory;
-import org.glassfish.api.deployment.archive.ReadableArchive;
-import org.glassfish.api.deployment.archive.ArchiveHandler;
-import org.glassfish.api.deployment.archive.Archive;
-import org.glassfish.api.deployment.DeployCommandParameters;
-import org.glassfish.api.admin.ServerEnvironment;
-import org.glassfish.internal.deployment.Deployment;
-import com.sun.enterprise.deployment.archivist.Archivist;
-import com.sun.enterprise.deployment.archivist.ArchivistFactory;
-import com.sun.enterprise.deployment.archivist.ApplicationFactory;
-import com.sun.enterprise.config.serverbeans.DasConfig;
-import com.sun.enterprise.deployment.Application;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.util.ApplicationVisitor;
-import com.sun.enterprise.deployment.util.ApplicationValidator;
-import com.sun.enterprise.util.io.FileUtils;
-import org.glassfish.deployment.common.DeploymentContextImpl;
-import org.glassfish.deployment.common.DeploymentUtils;
-import org.glassfish.internal.deployment.ExtendedDeploymentContext;
-import com.sun.enterprise.v3.common.HTMLActionReporter;
-import org.glassfish.api.ActionReport;
-
-import org.jvnet.hk2.annotations.Service;
-import jakarta.inject.Inject;
-
-import org.xml.sax.SAXException;
-
-import java.io.File;
-import java.io.IOException;
-
-/**
- * @author Hong.Zhang@Sun.COM
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-@Service
-public class DescriptorFactory
-{
- public static class ResultHolder {
- Application application;
- Archive archive;
- }
-
- @Inject
- Deployment deployment;
-
- @Inject
- protected ArchiveFactory archiveFactory;
-
- @Inject
- ArchivistFactory archivistFactory;
-
- @Inject
- protected ApplicationFactory applicationFactory;
-
- @Inject
- DasConfig dasConfig;
-
- @Inject
- ServerEnvironment env;
-
- /**
- * Returns the parsed DOL object from archive
- *
- * @param archiveFile original archive file
- * @param destRootDir root destination directory where the application
- * should be expanded under in case of archive deployment
- * @param parentCl parent classloader
- *
- * @return the parsed DOL object
- */
- public ResultHolder createApplicationDescriptor(File archiveFile, File destRootDir, ClassLoader parentCl) throws IOException {
- ReadableArchive archive = null;
- Application application = null;
- try {
- Descriptor.setBoundsChecking(false);
- archive = archiveFactory.openArchive(archiveFile);
- ArchiveHandler archiveHandler = deployment.getArchiveHandler(archive);
- ActionReport dummyReport = new HTMLActionReporter();
-
- String appName = DeploymentUtils.getDefaultEEName(archiveFile.getName());
-
- DeployCommandParameters params = new DeployCommandParameters();
- params.name = appName;
-
- ExtendedDeploymentContext context = new DeploymentContextImpl(dummyReport, archive, params, env);
- context.setArchiveHandler(archiveHandler);
-
- if (!archiveFile.isDirectory()) {
- // expand archive
- File destDir = new File(destRootDir, appName);
- if (destDir.exists()) {
- FileUtils.whack(destDir);
- }
- destDir.mkdirs();
- archiveHandler.expand(archive, archiveFactory.createArchive(destDir), context);
- archive.close();
- archive = archiveFactory.openArchive(destDir);
- context.setSource(archive);
- }
-
- context.addTransientAppMetaData(ExtendedDeploymentContext.IS_TEMP_CLASSLOADER, Boolean.TRUE); // issue 14564
- String archiveType = context.getArchiveHandler().getArchiveType();
- ClassLoader cl = archiveHandler.getClassLoader(parentCl, context);
- Archivist archivist = archivistFactory.getArchivist(archiveType, cl);
- if (archivist == null) {
- throw new IOException("Cannot determine the Java EE module type for " + archive.getURI());
- }
- archivist.setAnnotationProcessingRequested(true);
- String xmlValidationLevel = dasConfig.getDeployXmlValidation();
- archivist.setXMLValidationLevel(xmlValidationLevel);
- if (xmlValidationLevel.equals("none")) {
- archivist.setXMLValidation(false);
- }
- archivist.setRuntimeXMLValidation(false);
- try {
- application = applicationFactory.openArchive(
- appName, archivist, archive, true);
- } catch(SAXException e) {
- throw new IOException(e);
- }
- if (application != null) {
- application.setClassLoader(cl);
- application.visit((ApplicationVisitor) new ApplicationValidator());
- }
- } finally {
- if (archive != null) {
- archive.close();
- }
- // We need to reset it after descriptor building
- Descriptor.setBoundsChecking(true);
- }
-
- ResultHolder result = new ResultHolder();
- result.application = application;
- result.archive = archive;
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/FaultLocation.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/FaultLocation.java
deleted file mode 100644
index 83ec0f5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/FaultLocation.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Field;
-import java.util.ArrayList;
-
-/**
- * This class represents the fault location of the failed verifier assertions.
- * It can be used by IDE's to open the faulty source file in the editor.
- *
- * The location object is initialized as part of Result initialization and so it
- * is available in every assertion. Just like every assertion has to populate
- * the result object, it will have to populate this location.
- * For now, few assertions in package 'tests.ejb.ejb30' are modified to provide
- * the location information.
- *
- * @author Vikas Awasthi
- */
-public class FaultLocation {
-
- private Class faultyClass;
- private Method faultyMethod;
- private Field faultyField;
- private String faultyClassName;
- private String faultyMethodName;
- private String[] faultyMethodParams;
-
- public Class getFaultyClass() {
- return faultyClass;
- }
-
- public void setFaultyClass(Class faultyClass) {
- this.faultyClass = faultyClass;
- }
-
- public Method getFaultyMethod() {
- return faultyMethod;
- }
-
- public void setFaultyMethod(Method faultyMethod) {
- this.faultyMethod = faultyMethod;
- }
-
- public String getFaultyClassName() {
- if(faultyClassName==null && faultyClass != null)
- faultyClassName = faultyClass.getName();
- return faultyClassName;
- }
-
- public void setFaultyClassName(String faultyClassName) {
- this.faultyClassName = faultyClassName;
- }
-
- public String getFaultyMethodName() {
- if(faultyMethodName==null && faultyMethod != null)
- faultyMethodName = faultyMethod.getName();
- return faultyMethodName;
- }
-
- public void setFaultyMethodName(String faultyMethodName) {
- this.faultyMethodName = faultyMethodName;
- }
-
- public Field getFaultyField() {
- return faultyField;
- }
-
- public void setFaultyField(Field faultyField) {
- this.faultyField = faultyField;
- }
-
- public String[] getFaultyMethodParams() {
- if(faultyMethodParams==null && faultyMethod != null) {
- ArrayList<String> l = new ArrayList<String>();
- for (Class<?> aClass : faultyMethod.getParameterTypes())
- l.add(aClass.getName());
- faultyMethodParams = l.toArray(new String[]{});
- }
- return faultyMethodParams;
- }
-
- public void setFaultyClassAndMethod(Method faultyMethod) {
- this.faultyClass = faultyMethod.getDeclaringClass();
- this.faultyMethod = faultyMethod;
- }
-
- public void setFaultyClassAndField(Field faultyField) {
- this.faultyField = faultyField;
- this.faultyClass = faultyField.getDeclaringClass();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Initializer.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Initializer.java
deleted file mode 100755
index c08526c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Initializer.java
+++ /dev/null
@@ -1,716 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.io.File;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.util.logging.ConsoleHandler;
-
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.VerifierFormatter;
-import com.sun.enterprise.tools.verifier.util.VerifierConstants;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-/**
- * Initialization of arguments and other temporary variables is done here. This
- * class is responsible for creating the framework context and setting proper
- * argument values to it.
- *
- * @author Vikas Awasthi
- */
-public class Initializer {
-
- private LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
- private Logger logger = LogDomains.getLogger(
- LogDomains.AVK_VERIFIER_LOGGER);
-
- private VerifierFrameworkContext verifierFrameworkContext = null;
- private String _FOStr = "Failures only"; // NOI18N
- private String _WFOStr = "Warning and Failures only"; // NOI18N
- private String _AOStr = "All"; // NOI18N
-
- /**
- * Constructor for creating the intitializer object.
- * @param args
- */
- public Initializer(String[] args) {
- this.verifierFrameworkContext = new VerifierFrameworkContext();
- parseArgs(args);
- }
-
- /**
- *
- * @return returns the initialized FrameworkContext object
- */
- public VerifierFrameworkContext getVerificationContext() {
- return verifierFrameworkContext;
- }
-
- /**
- * parses the arguments passed to verifier and sets the framework context
- * object.
- * @param argv
- */
- private void parseArgs(String[] argv) {
- int c;
- String arg;
- boolean isVerboseSet = false;
- LongOption[] longopts = new LongOption[20];
- // The set of valid long options for verifier
- StringBuffer sb = new StringBuffer();
- longopts[0] = new LongOption("help", false, null, 'h'); // NOI18N
- longopts[1] = new LongOption("timestamp", false, null, 't'); // NOI18N
- longopts[2] = new LongOption("verbose", false, null, 'v'); // NOI18N
- longopts[3] = new LongOption("version", false, null, 'V'); // NOI18N
- longopts[4] = new LongOption("destdir", true, sb, 'd'); // NOI18N
- longopts[5] = new LongOption("reportlevel", true, sb, 'r'); // NOI18N
- longopts[6] = new LongOption("gui", false, null, 'u'); // NOI18N
- longopts[7] = new LongOption("app", false, null, 'a'); // NOI18N
- longopts[8] = new LongOption("appclient", false, null, 'A'); // NOI18N
- longopts[9] = new LongOption("connector", false, null, 'c'); // NOI18N
- longopts[10] = new LongOption("ejb", false, null, 'e'); // NOI18N
- longopts[11] = new LongOption("web", false, null, 'w'); // NOI18N
- longopts[12] = new LongOption("webservices", false, null, 's'); // NOI18N
- longopts[13] = new LongOption("webservicesclient", false, null, 'l'); // NOI18N
- longopts[14] = new LongOption("persistence", false, null, 'P'); // NOI18N
- longopts[15] = new LongOption("configdir", true, null, 'C'); // NOI18N
- longopts[16] = new LongOption("portability", false, null, 'p'); // NOI18N
- longopts[17] = new LongOption("domain", true, null, 'D'); // NOI18N
- longopts[18] = new LongOption("extDir", true, null, 'E'); // NOI18N
- longopts[19] = new LongOption("mode", true, null, 'm'); // NOI18N
-
- //The set of valid reportlevel arguments
- String[] levels = new String[6];
- levels[0] = "a"; // NOI18N
- levels[1] = "w"; // NOI18N
- levels[2] = "f"; // NOI18N
- levels[3] = "all"; // NOI18N
- levels[4] = "warnings"; // NOI18N
- levels[5] = "failures"; // NOI18N
-
-
- CLIPParser parser = null;
- parser =
- new CLIPParser("verifier", argv, "-:vtVhud:r:aAcewslC:pPm:D:E:", // NOI18N
- longopts);
-
- while ((c = parser.getopt()) != -1)
- switch (c) {
- case 0:
- arg = parser.getOptarg();
- processValidLongOpt(
- (char) Integer.parseInt(sb.toString()),
- arg, levels);
- break;
- case 'v':
- logger.setLevel(Level.FINEST);
- isVerboseSet = true;
- Handler[] handler = Logger.getLogger("").getHandlers();
- for (int i = 0; i < handler.length; i++) {
- handler[i].setLevel(Level.FINEST);
- }
- logger.log(Level.FINE,
- getClass().getName() + ".debug.verboseFlag"); // NOI18N
- break;
-
- case 't':
- verifierFrameworkContext.setUseTimeStamp(true);
- break;
-
- case 'h':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.helpMessage"); // NOI18N
- usage();
- break;
-
- case 'V':
- logger.log(Level.INFO, getClass().getName() + ".Version");
- System.exit(0);
- break;
-
- case 'u':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.startGUI"); // NOI18N
- verifierFrameworkContext.setUsingGui(true);
- break;
-
- case 'r':
- arg = parser.getOptarg();
- if (arg == null) {
- logger.log(Level.SEVERE,
- getClass().getName() + ".reqargs", // NOI18N
- new Object[]{"verifier", "-r"}); // NOI18N
- usage();
-
- } else {
- boolean validLevel = false;
- for (int i = 0; i < levels.length; i++) {
- if (arg.equals(levels[i])) {
- validLevel = true;
- break;
- }
- }
- if (!validLevel) {
- logger.log(Level.SEVERE, getClass().getName() +
- ".invalidreplevel", // NOI18N
- new Object[]{"verifier", arg}); // NOI18N
- usage();
- } else {
- setReportingLevel(arg.charAt(0));
- }
- }
- break;
-
- case 'd':
- arg = parser.getOptarg();
- if (arg == null) {
- logger.log(Level.SEVERE, getClass().getName() +
- ".reqargs", // NOI18N
- new Object[]{"verifier", "-d"}); // NOI18N
- usage();
- } else if (!verifyAndSetResultDir(arg)) {
- usage();
- }
- break;
-
- case ':':
- // probably it will never come here
- logger.log(Level.SEVERE, getClass().getName() + ".reqsarg",
- new Object[]{"verifier", // NOI18N
- new Character(
- (char) parser.getOptopt()).toString()});
- usage();
- break;
- case 'a':
- logger.log(Level.FINE, getClass().getName() + ".debug.app");
- verifierFrameworkContext.setApp(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case 'A':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.appclient"); // NOI18N
- verifierFrameworkContext.setAppClient(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case 'c':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.connector"); // NOI18N
- verifierFrameworkContext.setConnector(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case 'e':
- logger.log(Level.FINE, getClass().getName() + ".debug.ejb");
- verifierFrameworkContext.setEjb(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case 'w':
- logger.log(Level.FINE, getClass().getName() + ".debug.web");
- verifierFrameworkContext.setWeb(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case 's':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.webservices"); // NOI18N
- verifierFrameworkContext.setWebServices(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case 'l':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.webservicesclient"); // NOI18N
- verifierFrameworkContext.setWebServicesClient(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case 'P':
- verifierFrameworkContext.setPersistenceUnits(true);
- verifierFrameworkContext.setPartition(true);
- break;
-
- case '?':
- char x = (char) parser.getOptopt();
- if (x == '?') {
- usage();
- }
- logger.log(Level.SEVERE,
- getClass().getName() + ".invalidarg", // NOI18N
- new Object[]{"verifier", // NOI18N
- new Character(x).toString()});
- usage();
- break;
-
- case 'C':
- arg = parser.getOptarg();
- if (arg == null || !(new File(arg).exists())) {
- logger.log(Level.SEVERE, getClass().getName() +
- ".reqargs", // NOI18N
- new Object[]{"verifier", "-C"}); // NOI18N
- usage();
- }
- verifierFrameworkContext.setConfigDirStr(arg);
- break;
-
- case 'p':
- verifierFrameworkContext.setPortabilityMode(true);
- break;
-
- case 'm':
- arg = parser.getOptarg();
- if (arg != null &&
- (arg.equals(SpecVersionMapper.JavaEEVersion_1_2) ||
- arg.equals(SpecVersionMapper.JavaEEVersion_1_3) ||
- arg.equals(SpecVersionMapper.JavaEEVersion_1_4) ||
- arg.equals(SpecVersionMapper.JavaEEVersion_5))) {
- verifierFrameworkContext.setJavaEEVersion(arg);
- } else {
- logger.log(Level.SEVERE,
- getClass().getName() + ".invalidjavaeeversion", // NOI18N
- new Object[]{"verifier", arg}); // NOI18N
- usage();
- }
- logger.log(Level.INFO, getClass().getName() + ".specversion",
- new Object[]{verifierFrameworkContext.getJavaEEVersion()});
- break;
-
- case 'D':
- arg = parser.getOptarg();
- if (arg == null) {
- logger.log(Level.SEVERE, getClass().getName() +
- ".reqargs", // NOI18N
- new Object[]{"verifier", "-D"}); // NOI18N
- usage();
- }
- if(!new File(arg).exists()) {
- logger.log(Level.SEVERE, getClass().getName() +
- ".log.noDirExists", // NOI18N
- new Object[]{arg});
- usage();
- }
- verifierFrameworkContext.setDomainDir(arg);
- break;
-
- case 'E':
- arg = parser.getOptarg();
- if (arg == null) {
- logger.log(Level.SEVERE, getClass().getName() +
- ".reqargs", // NOI18N
- new Object[]{"verifier", "-E"}); // NOI18N
- usage();
- }
- verifierFrameworkContext.setExtDir(arg);
- break;
-
- default:
- logger.log(Level.SEVERE,
- getClass().getName() + ".invalidarg", // NOI18N
- new Object[]{"verifier", // NOI18N
- new Character((char) c).toString()});
- usage();
- break;
- }
-
- int i = parser.getOptind();
- if (i < argv.length) {
- File jarFile = new File(argv[i]);
- if (!jarFile.exists()) {
- logger.log(Level.SEVERE,
- getClass().getName() + ".invalidArchive", // NOI18N
- new Object[]{argv[i]});
- usage();
- }
- verifierFrameworkContext.setJarFileName(jarFile.getPath());
- logger.log(Level.FINE, getClass().getName() + ".debug.jarFileName",
- new Object[]{verifierFrameworkContext.getJarFileName()});
-
- i++;
- for (; i < argv.length; i++)
- logger.log(Level.INFO, getClass().getName() + ".extraargs",
- new Object[]{"verifier", argv[i]}); // NOI18N
-
- } else {
- if (!verifierFrameworkContext.isUsingGui()) {
- logger.log(Level.SEVERE, getClass().getName() + ".jarmissing",
- new Object[]{"verifier"}); // NOI18N
- usage();
- }
- }
- if(!isVerboseSet)
- setFormatter();
- logger.log(Level.FINE, getClass().getName() + ".debug.endParseArgs");
-
- }
-
- /**
- * validates long cli options
- * @param c
- * @param arg
- * @param levels
- */
- private void processValidLongOpt(int c, String arg, String[] levels) {
-
- switch (c) {
- case 'v':
- logger.setLevel(Level.FINEST);
- Handler[] handler = Logger.getLogger("").getHandlers();
- for (int i = 0; i < handler.length; i++) {
- handler[i].setLevel(Level.FINEST);
- }
- logger.log(Level.FINE,
- getClass().getName() + ".debug.verboseFlag"); // NOI18N
- break;
-
- case 't':
- verifierFrameworkContext.setUseTimeStamp(true);
- break;
-
- case 'h':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.helpMessage"); // NOI18N
- usage();
- break;
-
- case 'V':
- logger.log(Level.INFO, getClass().getName() + ".Version");
- System.exit(0);
- break;
-
- case 'u':
- logger.log(Level.FINE,
- getClass().getName() + ".debug.startGUI"); // NOI18N
- verifierFrameworkContext.setUsingGui(true);
- break;
-
- case 'r':
- if (arg == null) {
- logger.log(Level.SEVERE, getClass().getName() + ".reqargs",
- new Object[]{"verifier", "-r"}); // NOI18N
- usage();
- } else {
- boolean validLevel = false;
- for (int i = 0; i < levels.length; i++) {
- if (arg.equals(levels[i])) {
- validLevel = true;
- break;
- }
- }
- if (!validLevel) {
- logger.log(Level.SEVERE, getClass().getName() +
- ".invalidreplevel", // NOI18N
- new Object[]{"verifier", arg}); // NOI18N
- usage();
- } else {
- setReportingLevel(arg.charAt(0));
- }
- }
- break;
-
- case 'd':
- if (arg == null) {
- logger.log(Level.SEVERE, getClass().getName() + ".reqargs",
- new Object[]{"verifier", "-d"}); // NOI18N
- usage();
- } else if (!verifyAndSetResultDir(arg)) {
- usage();
- }
- break;
-
- default:
- // should never come here
- logger.log(Level.SEVERE, getClass().getName() + ".invalidarg",
- new Object[]{"verifier", // NOI18N
- new Character((char) c).toString()});
- usage();
- break;
- }
- }
-
- /**
- * set the reporting level of verifier based on the option used while
- * invoking verifier.
- * @param c
- */
- private void setReportingLevel(char c) {
-
- boolean setWarningLevelOnce = false;
- switch (c) {
- case 'w':
- if (!setWarningLevelOnce) {
- logger.log(Level.FINE,
- getClass().getName() +
- ".debug.displayWarningFailures"); // NOI18N
- verifierFrameworkContext.setReportLevel(VerifierConstants.WARN);
- setWarningLevelOnce = true;
- } else {
- logger.log(Level.FINE,
- getClass().getName() + ".debug.reportLevel", // NOI18N
- new Object[]{
- getReportLevelString(
- verifierFrameworkContext.getReportLevel())});
- }
- break;
-
- case 'f':
- if (!setWarningLevelOnce) {
- logger.log(Level.FINE,
- getClass().getName() + ".debug.displayFailures"); // NOI18N
- verifierFrameworkContext.setReportLevel(VerifierConstants.FAIL);
- setWarningLevelOnce = true;
- } else {
- logger.log(Level.FINE,
- getClass().getName() + ".debug.reportLevel", // NOI18N
- new Object[]{
- getReportLevelString(
- verifierFrameworkContext.getReportLevel())});
- }
- break;
-
- case 'a':
- if (!setWarningLevelOnce) {
- logger.log(Level.FINE,
- getClass().getName() + ".debug.displayAll"); // NOI18N
- verifierFrameworkContext.setReportLevel(VerifierConstants.ALL);
- setWarningLevelOnce = true;
- } else {
- logger.log(Level.FINE,
- getClass().getName() + ".debug.reportLevel", // NOI18N
- new Object[]{
- getReportLevelString(
- verifierFrameworkContext.getReportLevel())});
- }
- break;
-
- default:
- // should never come here
- logger.log(Level.SEVERE,
- getClass().getName() + ".invalidreplevel", // NOI18N
- new Object[]{"verifier", new Character(c).toString()}); // NOI18N
- usage();
- }
- }
-
- /**
- * Display usage message to user upon encountering invalid option
- */
- private void usage() {
- if (!verifierFrameworkContext.isUsingGui()) {
- logger.log(Level.INFO, getUsageString());
- //If any argument is found invalid then Veriifer will bail out.
- System.exit(1);
- }
- }
-
- /**
- *
- * @return string
- */
- private String getUsageString() {
- String usage = "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine1", // NOI18N
- "usage: VERIFIER [optional_params] <jarFile>")) // NOI18N
- + "\n\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine2", // NOI18N
- "[optional_params]: can be:")) // NOI18N
- + "\n\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine5", // NOI18N
- " -d|--destdir <destination dir> : Verifier " + // NOI18N
- "results are put in the specified existing directory")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine35", // NOI18N
- " -D|--domain : Absolute path of the domain directory. Domain directory will be ignored if verifier is run with -p option. The default domain directory is <AS_INSTALL_DIR>/domains/domain1")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine36", // NOI18N
- " -p|--portability : Verifier will be run in portability mode with this option. Verifier runs in appserver mode by default. In the default mode verifier additionally checks correct usage of Sun application server features.")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine16", // NOI18N
- " -h|--help|-? : display verifier help")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine34", // NOI18N
- " -t|--timestamp : verifer results are generated with timestamp appended to it")) // NOI18N
- + "\n\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine7", // NOI18N
- " -u|--gui : use Verifier GUI")) // NOI18N
- + "\n\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine4", // NOI18N
- " -v|--verbose : Display more execution information ")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine17", // NOI18N
- " -V|--version : display verifier tool version")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine8", // NOI18N
- " (Note: Overrides default behavior,required jarFile not needed) ")) // NOI18N
- + "\n\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine10", // NOI18N
- " -r|--reportlevel : result reporting level")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine11", // NOI18N
- " level= a|all : set output report level to " + // NOI18N
- "display all results")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine14", // NOI18N
- " f|failures : set output report level results " + // NOI18N
- "to display only failure")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine12", // NOI18N
- " w|warnings : set output report level failure results " + // NOI18N
- "to display only warning and")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine27", // NOI18N
- " -a|--app : run only the Application tests")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine28", // NOI18N
- " -A|--appclient : run only the Application Client tests")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine29", // NOI18N
- " -c|--connector : run only the Connector tests")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine30", // NOI18N
- " -e|--ejb : run only the EJB tests")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine31", // NOI18N
- " -w|--web : run only the Web tests")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine32", // NOI18N
- " -s|--webservices : run only the WebServices tests")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine33", // NOI18N
- " -l|--webservicesclient : run only the WebServicesClient tests")) // NOI18N
- + "\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine37", // NOI18N
- " -P|--persistence : run only the EJB 3.0 persistence tests")) // NOI18N
- + "\n\n\n" + // NOI18N
- (smh.getLocalString
- (getClass().getName() + ".usageLine19", // NOI18N
- "Note: The default mode is non-verbose mode and the " + // NOI18N
- "default reportlevel is to display only warning and failure results.\n")) // NOI18N
- //*****
- + "\n\n" +
- (smh.getLocalString
- (getClass().getName() + ".usageLine20",
- "<jarFile>: ear/war/jar/rar file to perform static " +
- "verification on "))
- + "\n\n" +
- (smh.getLocalString
- (getClass().getName() + ".usageLine21",
- "Below is an example which runs verifier in verbose mode and writes all the results of static verification of file sample.ear to the destination directory /verifierresults"))
- + "\n\n" +
- (smh.getLocalString
- (getClass().getName() + ".usageLine24",
- " verifier -v -ra -d /verifierresults sample.ear"))
- + "\n\n" +
- (smh.getLocalString
- (getClass().getName() + ".usageLine25",
- " The results get generated in both text and xml format."))
- + "\n" +
- (smh.getLocalString
- (getClass().getName() + ".usageLine26",
- " Two result files, sample.ear.txt and sample.ear.xml, " +
- "will be created."))
- + "\n\n";
-
- return usage;
- }
-
- /**
- * verifies and sets the output directory for keeping the result files.
- * @param name The output directory to keep the result files
- * @return true if output directory is writable, otherwise false.
- */
- private boolean verifyAndSetResultDir(String name) {
-
- File outputDir = new File(name);
- if (outputDir.exists()) {
- if (outputDir.isDirectory()) {
- if (outputDir.canWrite()) {
- verifierFrameworkContext.setOutputDirName(name);
- return true;
- } else {
- logger.log(Level.SEVERE, getClass().getName() +
- ".log.noPermissions", new Object[]{name}); // NOI18N
- return false;
- }
- } else {
- logger.log(Level.SEVERE, getClass().getName() +
- ".log.notADir", new Object[]{name}); // NOI18N
- return false;
-
- }
- } else {
- logger.log(Level.SEVERE, getClass().getName() +
- ".log.noDirExists", new Object[]{name}); // NOI18N
- return false;
- }
- }
-
- /**
- * This method is only used in standalone invocation. For backend
- * invocations this method should not be called. The logger should continue
- * to use the default formatter when verifier is invoked from backend.
- */
- private void setFormatter() {
- Handler[] handlers = logger.getParent().getHandlers();
- for (int i = 0; i < handlers.length; i++)
- if(handlers[i] instanceof ConsoleHandler)
- handlers[i].setFormatter(new VerifierFormatter());
- }
-
- /**
- * @param rl
- * @return reporting level string.
- */
- private String getReportLevelString(int rl) {
- String rls = "";
- if (rl == VerifierConstants.FAIL) {
- rls = _FOStr;
- } else if (rl == VerifierConstants.WARN) {
- rls = _WFOStr;
- } else if (rl == VerifierConstants.ALL) {
- rls = _AOStr;
- }
- return rls;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/JarCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/JarCheck.java
deleted file mode 100755
index dea2c72..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/JarCheck.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import org.glassfish.deployment.common.Descriptor;
-
-
-/**
- * All classes responsible for performing compliance tests on an J2EE architecture
- * like web applications or connectors implement this interface to be called by
- * the verifier harness. Classes with such a responsibility are called managers
- * in the verifier harness.
- *
- * @author Jerome Dochez
- */
-public interface JarCheck {
-
- /**
- * <p/>
- * Entry point to perform all tests pertinent to this implemented
- * architecture on a J2EE archive file (ear, war, rar...)
- * </p>
- *
- * @param descriptor descriptor instance for the J2EE
- * archive to test
- */
- void check(Descriptor descriptor) throws Exception;
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/LongOption.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/LongOption.java
deleted file mode 100644
index 2e5ba14..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/LongOption.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-public class LongOption {
-
- protected String name;
- protected boolean argPresent;
- protected StringBuffer holder;
- protected int value;
-
- public LongOption(String name, boolean arg, StringBuffer hld, int val) {
- this.name = name;
- argPresent = arg;
- holder = hld;
- value = val;
- }
-
- public boolean getHasArg() {
- return argPresent;
- }
-
- public String getName() {
- return name;
- }
-
- public StringBuffer getHolder() {
- return holder;
- }
-
- public int getVal() {
- return value;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/NameToken.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/NameToken.java
deleted file mode 100755
index adf8e0d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/NameToken.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.io.ByteArrayInputStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import javax.xml.parsers.SAXParserFactory;
-
-import org.xml.sax.InputSource;
-import org.xml.sax.XMLReader;
-
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.XMLValidationHandler;
-
-public class NameToken {
-
- final static String XMLtop =
- "<!DOCTYPE NameToken [ <!ELEMENT NameToken EMPTY> <!ATTLIST NameToken value NMTOKEN #REQUIRED>]> <NameToken value=\""; // NOI18N
-
-
- final static String XMLbottom = "\"/>"; // NOI18N
-
- // Logger to log messages
- private static Logger logger = LogDomains.getLogger(
- LogDomains.AVK_VERIFIER_LOGGER);
-
- /**
- * Determine is value is legal NMToken type
- *
- * @param value xml element to be checked
- * @return <code>boolean</code> true if xml element is legal NMToken,
- * false otherwise
- */
- public static boolean isNMTOKEN(String value) {
-/*
- com.sun.enterprise.util.LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
-*/
- String XMLdoc = XMLtop + value + XMLbottom;
- logger.log(Level.FINE,
- "com.sun.enterprise.tools.verifier.NameToken.print", // NOI18N
- new Object[]{XMLdoc});
-
- try {
- InputSource source = new InputSource(
- new ByteArrayInputStream(XMLdoc.getBytes()));
- SAXParserFactory spf = SAXParserFactory.newInstance();
- spf.setValidating(true);
- // ValidatingParser p = new ValidatingParser();
- XMLReader p = spf.newSAXParser().getXMLReader();
-// XMLErrorHandler eh = new XMLErrorHandler(null);
- p.setErrorHandler(new XMLValidationHandler());
- p.parse(source);
- return true;
-
- } catch (Exception e) {
- return false;
- }
- }
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ReportHandler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ReportHandler.java
deleted file mode 100755
index dcc106c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ReportHandler.java
+++ /dev/null
@@ -1,589 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.io.OutputStream;
-import java.io.ByteArrayOutputStream;
-import java.io.File;
-import java.io.FileOutputStream;
-import java.io.FileInputStream;
-import java.io.OutputStreamWriter;
-import java.io.IOException;
-import java.io.PrintWriter;
-import java.io.StringWriter;
-import java.io.InputStream;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Enumeration;
-import java.util.Vector;
-import java.util.Locale;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.transform.OutputKeys;
-import javax.xml.transform.Transformer;
-import javax.xml.transform.TransformerFactory;
-import javax.xml.transform.dom.DOMSource;
-import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.NodeList;
-
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.VerifierConstants;
-import com.sun.enterprise.util.SystemPropertyConstants;
-
-/**
- * This class is responsible for generating the final output report file in xml and txt file.
- *
- * @author Sudipto Ghosh
- */
-
-public class ReportHandler {
-
- private final String TEST = "test"; // NOI18N
- private final String TEST_NAME = "test-name"; // NOI18N
- private final String TEST_DESC = "test-description"; // NOI18N
- private final String TEST_ASSERTION = "test-assertion"; // NOI18N
- private final String STATIC_VER = "static-verification"; // NOI18N
- private final String FAILED = "failed"; // NOI18N
- private final String PASSED = "passed"; // NOI18N
- private final String NOTAPPLICABLE = "not-applicable"; // NOI18N
- private final String WARNING = "warning"; // NOI18N
-
- private final String FAILNUMBER = "failure-number"; // NOI18N
- private final String WARNINGNUMBER = "warning-number"; // NOI18N
- private final String ERRORNUMBER = "error-number"; // NOI18N
- private final String FAILCOUNT = "failure-count"; // NOI18N
-
- private final String ERROR = "error"; // NOI18N
- private final String ERROR_NAME = "error-name"; // NOI18N
- private final String ERROR_DESC = "error-description"; // NOI18N
- private final String XSL_FILE = "textFormatForVerifierSS"; // NOI18N
- private String outputFileStr = null;
-
- private Element rootNode = null;
- private Document document;
- private String textResult; // verification result in TEXT form.
- private ResultManager resultMgr;
- private VerifierFrameworkContext verifierFrameworkContext;
- private Logger logger = LogDomains.getLogger(LogDomains.AVK_VERIFIER_LOGGER);
-
- /**
- * Verifier uses this constructor to generate test report.
- * @param verifierFrameworkContext
- */
- public ReportHandler(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- this.resultMgr = verifierFrameworkContext.getResultManager();
-
- String onlyJarFile = new File(verifierFrameworkContext.getJarFileName()).getName();
- String outputDirName = formatOutputDirName(verifierFrameworkContext.getOutputDirName());
- outputDirName = (outputDirName == null) ?
- "" : outputDirName + File.separator;
- if (verifierFrameworkContext.isUseTimeStamp()) {
- SimpleDateFormat dateFormatter = new SimpleDateFormat(
- "yyyyMMddhhmmss"); // NOI18N
- outputFileStr = outputDirName + onlyJarFile +
- dateFormatter.format(new Date());
- } else
- outputFileStr = outputDirName + onlyJarFile;
- }
-
- /**
- * This api is called from verfier framework to generate the final report
- *
- * @throws IOException
- */
- public void generateAllReports() throws IOException {
- try {
- createResultsDocument(verifierFrameworkContext.getReportLevel());
- writeToXmlFile();
- writeToTxtFile();
- writeToConsole();
- } catch (IOException e) {
- throw e;
- }
- }
-
- /**
- * writes the final output report file to the console.
- */
- private void writeToConsole() {
- if (verifierFrameworkContext.isUsingGui())
- return;
- if (verifierFrameworkContext.isBackend()) {
- logger.log(Level.SEVERE, textResult);
- } else {
- logger.log(Level.INFO, getClass().getName() + ".resultSummary",
- new Object[]{new Integer(resultMgr.getFailedCount()),
- new Integer(resultMgr.getWarningCount()),
- new Integer(resultMgr.getErrorCount())});
- }
- if((resultMgr.getFailedCount() + resultMgr.getWarningCount()
- + resultMgr.getErrorCount()) != 0
- || verifierFrameworkContext.getReportLevel() == VerifierConstants.ALL)
- logger.log(Level.INFO, getClass().getName() +
- ".LookInResultsTestAssertions", // NOI18N
- new Object[]{outputFileStr + ".txt"}); // NOI18N
- else
- logger.log(Level.INFO, getClass().getName() +
- ".LookInResultsTestAssertions1"); // NOI18N
- }
-
- /**
- * This api initializes the document object and calls generate apis to add results
- * to the document. Finally failureCount() api is called to add the error, failure
- * and warning counts to the document.
- *
- * @param reportLevel
- * @throws IOException
- */
- private void createResultsDocument(int reportLevel) throws IOException {
- createDOMTree();
- if (reportLevel != VerifierConstants.FAIL)
- addResultsToDocument(WARNING, resultMgr.getWarningResults());
- if (reportLevel == VerifierConstants.ALL) {
- addResultsToDocument(PASSED, resultMgr.getOkayResults());
- addResultsToDocument(NOTAPPLICABLE, resultMgr.getNaResults());
- }
-
- addResultsToDocument(FAILED, resultMgr.getFailedResults());
- Vector error = resultMgr.getError();
- if (!error.isEmpty()) {
- for (int i = 0; i < error.size(); i++) {
- LogRecord lr = (LogRecord) error.get(i);
- generateErrors(lr);
- }
- }
- failureCount();
- }
-
- /**
- * create the new Document tree with root node <static-verification>
- *
- * @throws IOException
- */
- private void createDOMTree() throws IOException {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- DocumentBuilder builder = null;
- try {
- factory.setValidating(true);
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- builder = factory.newDocumentBuilder();
- } catch (Exception e) {
- IOException ioe = new IOException(e.getMessage());
- ioe.initCause(e);
- throw ioe;
- }
- document = builder.newDocument();
- rootNode = document.createElement(STATIC_VER);
- document.appendChild(rootNode);
- }
-
- /**
- * This api adds each result to the document tree based on the status.
- *
- * @param status
- * @param resultVector
- */
- private void addResultsToDocument(String status, Vector resultVector) {
- for (int i = 0; i < resultVector.size(); i++) {
- Enumeration en;
- Result r = (Result) resultVector.get(i);
- String moduleName = r.getModuleName();
- if (status == FAILED) {
- en = r.getErrorDetails().elements();
- } else if (status == WARNING) {
- en = r.getWarningDetails().elements();
- } else if (status == PASSED)
- en = r.getGoodDetails().elements();
- else
- en = r.getNaDetails().elements();
- createNode(moduleName, status);
- addToDocument(moduleName, status, r, en);
- }
- }
-
- /**
- * This api is used to add the error logs into the document.
- *
- * @param record
- */
- private void generateErrors(LogRecord record) {
- Element errorNode = null;
- //start adding nodes to document
- //check if the node already exists. If not, add it.
- NodeList nodeList = document.getElementsByTagName(ERROR);
- if (nodeList.getLength() == 0) {
- errorNode = document.createElement(ERROR);
- rootNode.appendChild(errorNode);
- } else {
- errorNode = (Element) nodeList.item(0); //there is only 1 node with tag of errorNode value
- }
- Element excepName = getTextNode(ERROR_NAME, record.getMessage());
- errorNode.appendChild(excepName);
- if (record.getThrown() != null) {
- Element excepDescr = getTextNode(ERROR_DESC,
- writeStackTraceToFile(record.getThrown()));
- errorNode.appendChild(excepDescr);
- }
- }
-
- /**
- * This method is responsible for creating nodes in the DOM tree like
- * <p>
- * <ejb>
- * <failed></failed>
- * </ejb>
- * where moduleName is ejb and status is failed.
- *
- * @param moduleName
- * @param status
- */
- private void createNode(String moduleName, String status) {
- NodeList nodeList;
- Element moduleNode;
- nodeList = document.getElementsByTagName(moduleName);
- if (nodeList.getLength() == 0) {
- moduleNode = document.createElement(moduleName);
- rootNode.appendChild(moduleNode);
- } else {
- moduleNode = (Element) nodeList.item(0); //there is only 1 node with tag of moduleNode value
- }
- nodeList = moduleNode.getChildNodes();
- Element statusNode = null;
-
- if (nodeList.getLength() == 0) {
- statusNode = document.createElement(status);
- moduleNode.appendChild(statusNode);
- } else {
- for (int j = 0; j < nodeList.getLength(); j++) {
- if (((Element) nodeList.item(j)).getTagName().equals(status)) {
- statusNode = (Element) nodeList.item(j);
- break;
- }
- }
- if (statusNode == null) {
- statusNode = document.createElement(status);
- moduleNode.appendChild(statusNode);
- }
- }
- }
-
- /**
- * This method adds the result value to the appropriate location in the DOM
- * tree.
- * @param moduleName
- * @param status
- * @param r
- * @param en
- */
- private void addToDocument(String moduleName, String status, Result r,
- Enumeration en) {
- if (r == null) return;
- NodeList nodeList;
- //this nodeList is the list of nodes below the moduleNode
- nodeList =
- document.getElementsByTagName(moduleName).item(0)
- .getChildNodes();
- Element statusNode = null;
- for (int j = 0; j < nodeList.getLength(); j++) {
- if (((Element) nodeList.item(j)).getTagName().equals(status)) {
- statusNode = (Element) nodeList.item(j);
- break;
- }
- }
- // now get the stuff and write out from result object r
- Element test = document.createElement(TEST);
- Element testName = getTextNode(TEST_NAME, r.getTestName());
- Element testAssertion = getTextNode(TEST_ASSERTION, r.getAssertion());
- // loop thru Details vector
- String string = "";
- while (en.hasMoreElements()) {
- string = string + (String) en.nextElement() + "\n"; // NOI18N
- }
- Element testDescr = getTextNode(TEST_DESC, string);
- test.appendChild(testName);
- test.appendChild(testAssertion);
- test.appendChild(testDescr);
- statusNode.appendChild(test);
- }
-
- /**
- * Convenience for creating a node <tag>text<tag>.
- *
- * @param tag
- * @param text
- * @return
- */
- private Element getTextNode(String tag, String text) {
- Element element = document.createElement(tag);
- element.appendChild(document.createTextNode(text));
- return element;
- }
-
- /**
- * wites the final result report to the output xml file
- *
- * @throws IOException
- */
- private void writeToXmlFile() throws IOException {
- FileOutputStream fos = null;
- try {
- File outputFile = extractResultsFileToTmpDir(
- outputFileStr + ".xml"); // NOI18N
- DOMSource domSource = new DOMSource(document);
- TransformerFactory tfactory = TransformerFactory.newInstance();
- tfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_DTD, "");
- tfactory.setAttribute(XMLConstants.ACCESS_EXTERNAL_STYLESHEET, "");
- Transformer transformer = tfactory.newTransformer();
- transformer.setOutputProperty(OutputKeys.INDENT, "yes"); // NOI18N
- transformer.setOutputProperty(OutputKeys.METHOD, "xml"); // NOI18N
- String encoding = System.getProperty("file.encoding");
- transformer.setOutputProperty(OutputKeys.ENCODING, encoding);
- fos = new FileOutputStream(outputFile);
- transformer.transform(domSource, new StreamResult(fos));
- } catch (Exception e) {
- IOException ioe = new IOException(e.getMessage());
- ioe.initCause(e);
- throw ioe;
- } finally {
- try {
- if(fos != null)
- fos.close();
- } catch (Exception e){}
- }
- }
-
- /**
- * writes the final result report to output txt file
- *
- * @throws IOException
- */
- private void writeToTxtFile() throws IOException {
- try (InputStream xslFile = getLocalizedXSLFile();
- ByteArrayOutputStream output = new ByteArrayOutputStream()) {
- Document dynamicDocument = document;
-
- generateText(dynamicDocument, xslFile, output);
- textResult = output.toString("UTF-8");
-
- // dump to text file.
- File outputFile = extractResultsFileToTmpDir(outputFileStr + ".txt"); // NOI18N
- try (OutputStreamWriter fw = new OutputStreamWriter(
- new FileOutputStream(outputFile))) {
- fw.write(textResult);
- }
- }
- }
-
- private File extractResultsFileToTmpDir(String jarFile) {
- File tmpJarFile = null;
- String fullFilename;
- tmpJarFile = new File(jarFile);
- fullFilename = tmpJarFile.getAbsolutePath();
- if (new File(fullFilename).getParent() != null) {
- (new File(new File(fullFilename).getParent())).mkdirs();
- }
- return tmpJarFile;
- }
-
- /**
- * Transforms the xml report to txt report.
- * @param xmlResult
- * @param stylesheet
- * @throws IOException
- */
- private void generateText(Document xmlResult, InputStream stylesheet,
- OutputStream output)
- throws IOException {
- // Produce Output:
- FileOutputStream fos = null;
- try {
- StreamSource styleSource;
- Transformer transformer;
- TransformerFactory tFactory = TransformerFactory.newInstance();
- if (stylesheet != null) {
- styleSource = new StreamSource(stylesheet);
- transformer = tFactory.newTransformer(styleSource);
- } else {
- transformer = tFactory.newTransformer();
- }
- DOMSource source = new DOMSource(xmlResult);
- StreamResult streamResult = new StreamResult(output);
- transformer.transform(source, streamResult);
-
- } catch (Exception e) {
- IOException ioe = new IOException(e.getMessage());
- ioe.initCause(e);
- throw ioe;
- } finally {
- try {
- if(fos != null)
- fos.close();
- } catch (Exception e) {}
- }
- }
-
- private void failureCount() {
- int failedCount = resultMgr.getFailedCount();
- int warningCount = resultMgr.getWarningCount();
- int errorCount = resultMgr.getErrorCount();
-
- Element failureNode = null;
- NodeList nodeList = document.getElementsByTagName(FAILCOUNT);
- if (nodeList.getLength() == 0) {
- failureNode = document.createElement(FAILCOUNT);
- rootNode.appendChild(failureNode);
- } else {
- failureNode = (Element) nodeList.item(0);
- }
-
- nodeList = failureNode.getChildNodes();//document.getElementsByTagName(FAILED);
- Element failed_count = null;
- Element warning_count = null;
- Element error_count = null;
-
- if (nodeList.getLength() == 0) {
- failed_count =
- getTextNode(FAILNUMBER,
- new Integer(failedCount).toString());
- failureNode.appendChild(failed_count);
-
- warning_count =
- getTextNode(WARNINGNUMBER,
- new Integer((warningCount)).toString());
- failureNode.appendChild(warning_count);
-
- error_count =
- getTextNode(ERRORNUMBER,
- new Integer(errorCount).toString());
- failureNode.appendChild(error_count);
- } else {
- for (int j = 0; j < nodeList.getLength(); j++) {
- if (((Element) nodeList.item(j)).getTagName().equals(
- FAILNUMBER)) {
- failed_count = (Element) nodeList.item(j);
- (failed_count.getFirstChild()).setNodeValue(
- new Integer(failedCount).toString());
- }
- if (((Element) nodeList.item(j)).getTagName().equals(
- WARNINGNUMBER)) {
- warning_count = (Element) nodeList.item(j);
- (warning_count.getFirstChild()).setNodeValue(
- new Integer(warningCount).toString());
- }
- if (((Element) nodeList.item(j)).getTagName().equals(
- ERRORNUMBER)) {
- error_count = (Element) nodeList.item(j);
- (error_count.getFirstChild()).setNodeValue(
- new Integer(errorCount).toString());
- }
- }
- if (failed_count == null) {
- failed_count =
- getTextNode(FAILNUMBER,
- new Integer(failedCount).toString());
- failureNode.appendChild(failed_count);
- }
- if (warning_count == null) {
- warning_count =
- getTextNode(WARNINGNUMBER,
- new Integer(warningCount).toString());
- failureNode.appendChild(warning_count);
- }
- if (error_count == null) {
- error_count =
- getTextNode(ERRORNUMBER,
- new Integer(errorCount).toString());
- failureNode.appendChild(error_count);
- }
- }
- }
-
- /**
- * returns the error description for writing to the final report.
- * @param e
- * @return
- */
- private String writeStackTraceToFile(Throwable e) {
- StringWriter sw = new StringWriter();
- e.printStackTrace(new PrintWriter(sw));
- return sw.toString();
- }
-
- /**
- * <p>
- * @return the localized XSL file if it is present in the configuration
- * directory. If not, return the default one which is english
- * </p>
- */
- private InputStream getLocalizedXSLFile() {
- InputStream is;
- Locale locale = Locale.getDefault();
-
- // check first with the language and country
- String xslFileName = VerifierConstants.CFG_RESOURCE_PREFIX +
- XSL_FILE + "_" + locale.toString() + ".xsl"; // NOI18N
- final ClassLoader loader = getClass().getClassLoader();
- is = loader.getResourceAsStream(xslFileName);
- if (is != null) {
- return is;
- }
- // check now with the language
- xslFileName = VerifierConstants.CFG_RESOURCE_PREFIX +
- XSL_FILE + "_" + locale.getLanguage() + ".xsl"; // NOI18N
- is = loader.getResourceAsStream(xslFileName);
- if (is != null) {
- return is;
- }
- // just take the english version now...
- xslFileName = VerifierConstants.CFG_RESOURCE_PREFIX +
- XSL_FILE + ".xsl"; // NOI18N
- is = loader.getResourceAsStream(xslFileName);
- return is;
- }
-
- /**
- * Replaces '/' or '\' with File separator char
- * @param outputDirName
- * @return
- */
- private String formatOutputDirName(String outputDirName) {
-
- if (outputDirName != null && outputDirName.trim().length() > 0 ) {
- char[] outputDirNameArr = outputDirName.toCharArray();
- StringBuffer formName = new StringBuffer();
- for(int i = 0; i < outputDirNameArr.length; i++) {
- if(outputDirNameArr[i] == '/' || outputDirNameArr[i] == '\\') {
- formName.append(File.separatorChar);
- } else {
- formName.append(outputDirNameArr[i]);
- }
- }
- return formName.toString();
- }
- return outputDirName;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Result.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Result.java
deleted file mode 100755
index defd89d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Result.java
+++ /dev/null
@@ -1,325 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.util.Vector;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import com.sun.enterprise.universal.i18n.LocalStringsImpl;
-
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-
-public class Result {
-
- public static final int PASSED = 0;
- public static final int FAILED = 1;
- public static final int WARNING = 2;
- public static final int NOT_APPLICABLE = 3;
- public static final int NOT_RUN = 4;
- public static final int NOT_IMPLEMENTED = 5;
- private int status = NOT_RUN;
-
- public static final String APP = "application"; // NOI18N
- public static final String EJB = "ejb"; // NOI18N
- public static final String WEB = "web"; // NOI18N
- public static final String APPCLIENT = "appclient"; // NOI18N
- public static final String CONNECTOR = "connector"; // NOI18N
- public static final String WEBSERVICE = "webservice"; // NOI18N
- public static final String WEBSERVICE_CLIENT = "webservice_client"; // NOI18N
-
- private String moduleName;
-
- private String componentName;
- private String assertion;
- private String testName;
- private Vector<String> errorDetails = new Vector<String>();
- private Vector<String> goodDetails = new Vector<String>();
- private Vector<String> warningDetails = new Vector<String>();
- private Vector<String> naDetails = new Vector<String>();
- boolean debug = Verifier.isDebug();
-
- private Logger logger = LogDomains.getLogger(
- LogDomains.AVK_VERIFIER_LOGGER);
- private FaultLocation faultLocation;
-
- /**
- * Result Constructor
- */
- public Result() {
- faultLocation = new FaultLocation();
- }
-
-
- /**
- * Initialize the Result object
- *
- * @param c Class of the current test/assertion
- * @param compName
- */
- private static final LocalStringsImpl strings = new LocalStringsImpl(Verifier.class);
- public void init(Class c, String version, String compName) {
- setComponentName(compName);
- StringBuffer assertion = new StringBuffer(
- StringManagerHelper.getLocalStringsManager().getLocalString(
- (c.getName() + ".assertion"), "")); // NOI18N
- String key = ".specMappingInfo_"+version; // NOI18N
- String file="server log";
- StringBuffer specMappingInfo = new StringBuffer(
- StringManagerHelper.getLocalStringsManager().getLocalString(
- (c.getName() + key), ""));
- // if specMappingInfo_<version> is unavailable then try just specMappingInfo
- if(specMappingInfo == null || specMappingInfo.length() == 0) {
- key = c.getName() + ".specMappingInfo";
- specMappingInfo = new StringBuffer(StringManagerHelper.getLocalStringsManager().getLocalString(key, ""));
- }
- String prefix = strings.get(
- (getClass().getName() + ".prefix"), file); // NOI18N
- String suffix = StringManagerHelper.getLocalStringsManager().getLocalString(
- (getClass().getName() + ".suffix"), ""); // NOI18N
-
- if (specMappingInfo != null && specMappingInfo.length()!=0)
- setAssertion(assertion.append(" ").append(prefix+" ").append(specMappingInfo).append(" "+suffix).toString()); // NOI18N
- else
- setAssertion(assertion.toString());
- String this_package = "com.sun.enterprise.tools.verifier."; // NOI18N
- setTestName(c.getName().substring(this_package.length()));
- }
-
- /**
- * Store passed info
- *
- * @param detail Details of passed test
- */
- public void passed(String detail) {
- setStatus(PASSED);
- addGoodDetails(detail);
- }
-
- /**
- * Store warning info
- *
- * @param detail Details of warning test
- */
- public void warning(String detail) {
- setStatus(WARNING);
- addWarningDetails(detail);
- }
-
- /**
- * Store Not Applicable info
- *
- * @param detail Details of not applicable test
- */
- public void notApplicable(String detail) {
- setStatus(NOT_APPLICABLE);
- addNaDetails(detail);
- }
-
- /**
- * Store Failed info
- *
- * @param detail Details of failed test
- */
- public void failed(String detail) {
- setStatus(FAILED);
- addErrorDetails(detail);
- }
-
- /**
- * Retrieve Not Applicable details
- *
- * @return <code>Vector</code> not applicable details
- */
- public Vector getNaDetails() {
- if(naDetails.isEmpty()){
- Vector<String> result = new Vector<String>();
- result.add(StringManagerHelper.getLocalStringsManager()
- .getLocalString("tests.componentNameConstructor", // NOI18N
- "For [ {0} ]", // NOI18N
- new Object[]{getComponentName()}));
- result.add(StringManagerHelper.getLocalStringsManager()
- .getLocalString(getClass().getName() + ".defaultNADetails", //NOI18N
- "Test is not applicable.")); // NOI18N
- logger.fine("Returning default NADetails."); // NOI18N
- return result;
- }
- return naDetails;
- }
-
- /**
- * Retrieve Warning details
- *
- * @return <code>Vector</code> warning details
- */
- public Vector getWarningDetails() {
- return warningDetails;
- }
-
- /**
- * Retrieve Not Applicable details
- *
- * @param s not applicable details
- */
- public void addNaDetails(String s) {
- naDetails.addElement(s);
- logger.log(Level.FINE, s);
- }
-
- /**
- * Retrieve Good details
- *
- * @return <code>Vector</code> good details
- */
- public Vector getGoodDetails() {
- if(goodDetails.isEmpty()){
- Vector<String> result = new Vector<String>();
- result.add(StringManagerHelper.getLocalStringsManager()
- .getLocalString("tests.componentNameConstructor", // NOI18N
- "For [ {0} ]", // NOI18N
- new Object[]{getComponentName()}));
- result.add(StringManagerHelper.getLocalStringsManager()
- .getLocalString(getClass().getName() + ".defaultGoodDetails", //NOI18N
- "There were no errors reported.")); // NOI18N
- logger.fine("Returning default GoodDetails."); // NOI18N
- return result;
- }
- return goodDetails;
- }
-
- /**
- * Fill in Good details
- *
- * @param s good detail string
- */
- public void addGoodDetails(String s) {
- goodDetails.addElement(s);
- logger.log(Level.FINE, s);
- }
-
- /**
- * Fill in Warning details
- *
- * @param s warning detail string
- */
- public void addWarningDetails(String s) {
- warningDetails.addElement(s);
- logger.log(Level.FINE, s);
- }
-
- /**
- * Retrieve Error details
- *
- * @return <code>Vector</code> error details
- */
- public Vector getErrorDetails() {
- return errorDetails;
- }
-
- /**
- * Fill in Error details
- *
- * @param s error detail string
- */
- public void addErrorDetails(String s) {
- errorDetails.addElement(s);
- logger.log(Level.FINE, s);
- }
-
- /**
- * Retrieve test result status
- *
- * @return <code>int</code> test result status
- */
- public int getStatus() {
- return status;
- }
-
- /**
- * Set test result status
- *
- * @param s test result status
- */
- public void setStatus(int s) {
- status = s;
- }
-
- /**
- * Retrieve assertion
- *
- * @return <code>String</code> assertion string
- */
- public String getAssertion() {
- return assertion;
- }
-
- /**
- * Set assertion
- *
- * @param s assertion string
- */
- public void setAssertion(String s) {
- assertion = s;
- }
-
- /**
- * Retrieve component/module name
- *
- * @return <code>String</code> component/module name
- */
- public String getComponentName() {
- return componentName;
- }
-
- /**
- * Set component/module name
- *
- * @param s component/module name
- */
- public void setComponentName(String s) {
- componentName = s;
- }
-
- /**
- * Retrieve test name
- *
- * @return <code>String</code> test name
- */
- public String getTestName() {
- return testName;
- }
-
- /**
- * Set test name
- *
- * @param s test name
- */
- public void setTestName(String s) {
- testName = s;
- }
-
- public void setModuleName(String name) {
- moduleName = name;
- }
-
- public String getModuleName() {
- return moduleName;
- }
-
- public FaultLocation getFaultLocation() {
- return faultLocation;
- }
-} // Result class
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ResultManager.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ResultManager.java
deleted file mode 100755
index 62684ff..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ResultManager.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-
-import java.util.Vector;
-import java.util.logging.LogRecord;
-
-/**
- * This class is responsible for collecting the result and error data
- *
- * @author Sudipto Ghosh
- */
-
-public class ResultManager {
-
- public void add(Result result) {
- Result r = result;
- addToResult(r);
- }
-
- public void log(LogRecord logRecord) {
- error.add(logRecord);
- }
-
- public int getFailedCount() {
- return (failedResults == null) ? 0 : failedResults.size();
- }
-
- public int getWarningCount() {
- return (warningResults == null) ? 0 : warningResults.size();
- }
-
- public int getErrorCount() {
- return (error == null) ? 0 : error.size();
- }
-
- public Vector getFailedResults() {
- return failedResults;
- }
-
- public Vector getOkayResults() {
- return okayResults;
- }
-
- public Vector getWarningResults() {
- return warningResults;
- }
-
- public Vector getNaResults() {
- return naResults;
- }
-
- public Vector getError() {
- return error;
- }
-
- /**
- * add the result object to specific Vector based on the status.
- *
- * @param r
- */
- private void addToResult(Result r) {
- if (r.getStatus() == Result.FAILED) {
- failedResults.add(r);
- } else if (r.getStatus() == Result.PASSED) {
- okayResults.add(r);
- } else if (r.getStatus() == Result.WARNING) {
- warningResults.add(r);
- } else if ((r.getStatus() == Result.NOT_APPLICABLE) ||
- (r.getStatus() == Result.NOT_RUN) ||
- (r.getStatus() == Result.NOT_IMPLEMENTED)) {
- naResults.add(r);
- }
- }
-
- private Vector<Result> failedResults = new Vector<Result>();
- private Vector<Result> okayResults = new Vector<Result>();
- private Vector<Result> warningResults = new Vector<Result>();
- private Vector<Result> naResults = new Vector<Result>();
- private Vector<LogRecord> error = new Vector<LogRecord>();
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/SpecVersionMapper.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/SpecVersionMapper.java
deleted file mode 100644
index d27507d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/SpecVersionMapper.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-/**
- * This class is responsible for mapping Java EE platform version to
- * various component spec versions.
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class SpecVersionMapper {
-
- private static LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
-
- public static final String JavaEEVersion_1_2 = "1.2"; // NOI18N
-
- public static final String JavaEEVersion_1_3 = "1.3"; // NOI18N
-
- public static final String JavaEEVersion_1_4 = "1.4"; // NOI18N
-
- public static final String JavaEEVersion_5 = "5"; // NOI18N
-
- private static String[][] PlatformVersionToEJBVersionMap = {
- {JavaEEVersion_1_2, "1.1"}, // NOI18N
- {JavaEEVersion_1_3, "2.0"}, // NOI18N
- {JavaEEVersion_1_4, "2.1"}, // NOI18N
- {JavaEEVersion_5, "3.0"} // NOI18N
- };
-
- private static String[][] PlatformVersionToAppClientVersionMap = {
- {JavaEEVersion_1_2, "1.2"}, // NOI18N
- {JavaEEVersion_1_3, "1.3"}, // NOI18N
- {JavaEEVersion_1_4, "1.4"}, // NOI18N
- {JavaEEVersion_5, "5"} // NOI18N
- };
-
- private static String[][] PlatformVersionToJCAVersionMap = {
- {JavaEEVersion_1_3, "1.0"}, // NOI18N
- {JavaEEVersion_1_4, "1.5"}, // NOI18N
- {JavaEEVersion_5, "1.5"} // NOI18N
- };
-
- private static String[][] PlatformVersionToWebAppVersionMap = {
- {JavaEEVersion_1_2, "2.2"}, // NOI18N
- {JavaEEVersion_1_3, "2.3"}, // NOI18N
- {JavaEEVersion_1_4, "2.4"}, // NOI18N
- {JavaEEVersion_5, "2.5"} // NOI18N
- };
-
- private static String[][] PlatformVersionToWebServiceVersionMap = {
- {JavaEEVersion_1_4, "1.1"}, // NOI18N
- {JavaEEVersion_5, "1.2"} // NOI18N
- };
-
- private static String[][] PlatformVersionToWebServiceClientVersionMap = {
- {JavaEEVersion_1_4, "1.1"}, // NOI18N
- {JavaEEVersion_5, "1.2"} // NOI18N
- };
-
- private static String throwException (String platformVersion)
- throws IllegalArgumentException {
- throw new IllegalArgumentException(
- smh.getLocalString("com.sun.enterprise.tools.verifier.SpecVersionMapper.exception", // NOI18N
- "Not able to map platform version [ {0} ] component version.", // NOI18N
- new Object[] {platformVersion}));
- }
-
- public static String getEJBVersion(String platformVersion)
- throws IllegalArgumentException {
- for (String[] row : PlatformVersionToEJBVersionMap) {
- if (row[0].equals(platformVersion)) {
- return row[1];
- }
- }
- return throwException(platformVersion);
- }
-
- public static String getJCAVersion(String platformVersion)
- throws IllegalArgumentException {
- for (String[] row : PlatformVersionToJCAVersionMap) {
- if (row[0].equals(platformVersion)) {
- return row[1];
- }
- }
- return throwException(platformVersion);
- }
-
- public static String getWebAppVersion(String platformVersion)
- throws IllegalArgumentException {
- for (String[] row : PlatformVersionToWebAppVersionMap) {
- if (row[0].equals(platformVersion)) {
- return row[1];
- }
- }
- return throwException(platformVersion);
- }
-
- public static String getAppClientVersion(String platformVersion)
- throws IllegalArgumentException {
- for (String[] row : PlatformVersionToAppClientVersionMap) {
- if (row[0].equals(platformVersion)) {
- return row[1];
- }
- }
- return throwException(platformVersion);
- }
-
- public static String getWebServiceVersion(String platformVersion)
- throws IllegalArgumentException {
- for (String[] row : PlatformVersionToWebServiceVersionMap) {
- if (row[0].equals(platformVersion)) {
- return row[1];
- }
- }
- return throwException(platformVersion);
- }
-
- public static String getWebServiceClientVersion(String platformVersion) {
- for (String[] row : PlatformVersionToWebServiceClientVersionMap) {
- if (row[0].equals(platformVersion)) {
- return row[1];
- }
- }
- return throwException(platformVersion);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/StringManagerHelper.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/StringManagerHelper.java
deleted file mode 100755
index 2520ded..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/StringManagerHelper.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-public class StringManagerHelper {
-
- private static LocalStringManagerImpl localStrings =
- new LocalStringManagerImpl(Verifier.class);
-
- /**
- * Retrieve string manager helper Impl.
- *
- * @return <code>LocalStringManagerImpl</code> string mgr. helper impl.
- */
- public static LocalStringManagerImpl getLocalStringsManager() {
- return localStrings;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TagLibDescriptor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TagLibDescriptor.java
deleted file mode 100644
index 22cde15..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TagLibDescriptor.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.DocumentType;
-import org.w3c.dom.NodeList;
-import com.sun.enterprise.tools.verifier.web.TagDescriptor;
-import com.sun.enterprise.tools.verifier.web.FunctionDescriptor;
-
-/**
- * class which defines methods required for implementing tests based
- * out of jsp tag library files.
- *
- * @author Sudipto Ghosh
- */
-public class TagLibDescriptor {
- public static final String TAG = "tag"; // NOI18N
- public static final String LISTENER_CLASS = "listener-class"; // NOI18N
- public static final String FUNCTION = "function"; // NOI18N
-
- private Document doc = null;
- private String version = null;
- private String uri = null;
-
- public TagLibDescriptor(Document doc, String version, String uri) {
- this.doc = doc;
- this.version = version;
- this.uri = uri;
- }
- /**
- * @return spec version of tld file
- */
- public String getSpecVersion() {
- return this.version;
- }
-
- /**
- * @return location of the tld file
- */
- public String getUri() {
- return this.uri;
- }
-
- public String getPublicID() {
- DocumentType docType = doc.getDoctype();
- return ((docType == null) ? null : docType.getPublicId());
- }
-
- /**
- * @return system-id of the tld file.
- */
- public String getSystemID() {
- DocumentType docType = doc.getDoctype();
- return ((docType == null) ? null : docType.getSystemId());
- }
-
- public String[] getListenerClasses(){
- NodeList nl = doc.getElementsByTagName(LISTENER_CLASS);
- String[] classes = null;
- if (nl != null) {
- int size = nl.getLength();
- classes = new String[size];
- for (int i = 0; i < size; i++) {
- classes[i] = nl.item(i).getFirstChild().getNodeValue();
- }
- }
- return classes;
- }
-
- /**
- * for each tag in the tag lib descriptor create a TagDescriptor and return
- * the array of TagDescriptors present in the tag lib.
- * @return
- */
- public TagDescriptor[] getTagDescriptors() {
- NodeList nl = doc.getElementsByTagName(TAG);
- TagDescriptor[] tagdescriptor = null;
- if (nl != null) {
- int size = nl.getLength();
- tagdescriptor = new TagDescriptor[size];
- for (int i = 0; i < size; i++) {
- tagdescriptor[i] = new TagDescriptor(nl.item(i));
- }
- }
- return tagdescriptor;
- }
-
- /**
- * for each functions in tag lib descriptor creates a function descritor and
- * return the array of FunctionDescriptors
- * @return array of function descriptor.
- */
- public FunctionDescriptor[] getFunctionDescriptors() {
- NodeList nl = doc.getElementsByTagName(FUNCTION);
- List<FunctionDescriptor> list = new ArrayList<FunctionDescriptor>();
- if (nl != null) {
- int size = nl.getLength();
- for (int i = 0; i < size; i++) {
- list.add(new FunctionDescriptor(nl.item(i)));
- }
- }
- return list.toArray(new FunctionDescriptor[0]);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TestInformation.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TestInformation.java
deleted file mode 100644
index 259a982..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TestInformation.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * TestInformation.java
- *
- * Created on December 4, 2000, 4:29 PM
- */
-
-package com.sun.enterprise.tools.verifier;
-
-/**
- * Holds information about a particular test like the name of the class
- * implementing the test or the version of the spec it applies to
- *
- * @author Jerom Dochez
- */
-public class TestInformation extends Object {
-
- private String className = null;
- private String minimumVersion = null;
- private String maximumVersion = null;
-
- /**
- * @return the className implementing the test
- */
- public String getClassName() {
- return className;
- }
-
- /*
- * set the class name implementing the test
- *
- * @param className is the class name
- */
- public void setClassName(String className) {
- this.className = className;
- }
-
- /**
- * @return the minimum version of the spec this test applies to
- */
- public String getMinimumVersion() {
- return minimumVersion;
- }
-
- /**
- * set the minimum version of the spec this test applies to
- *
- * @param minimumVersion is the version
- */
- public void setMinimumVersion(String minimumVersion) {
- this.minimumVersion = minimumVersion;
- }
-
- /**
- * @return maximumVersion the maximum version of the spec this test applies to
- */
- public String getMaximumVersion() {
- return maximumVersion;
- }
-
- /**
- * set the minimum version of the spec this test applies to
- *
- * @param maximumVersion is the version
- */
- public void setMaximumVersion(String maximumVersion) {
- this.maximumVersion = maximumVersion;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TmpCleaner.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TmpCleaner.java
deleted file mode 100644
index 01ef727..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/TmpCleaner.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.io.BufferedReader;
-import java.io.File;
-import java.io.FileReader;
-
-/**
- * Reads the list of file names from the file cleandirs.txt and
- * calls deleteFile to recursively delete the directories.
- * NOTE : This independent class gets called only on W2K, where the
- * Normal cleanAll() call from doit() in verifier fails.
- */
-public class TmpCleaner {
-
- private final static String TMPDIR = System.getProperty("java.io.tmpdir");
-
- public void run() {
-
- // read the file
- try {
- String cleandirs = TMPDIR + File.separator + "cleandirs.txt"; // NOI18N
- File tmpfile = new File(cleandirs);
- if (!tmpfile.exists())
- return;
- BufferedReader br = new BufferedReader(new FileReader(cleandirs));
-
- try {
- do {
- String str = br.readLine();
- String file = TMPDIR + File.separator + str;
- File toDelete = new File(file);
- deleteFile(toDelete);
- toDelete.deleteOnExit();
- } while (br.ready());
- } catch (Exception e) {
- }
-
-
- br.close();
- File f = new File(cleandirs);
- f.delete();
- } catch (Exception e) {
- }
- }
-
- private void deleteFile(File p_file) {
- String FILE_SEPARATOR = System.getProperty("file.separator");
- // If it is a directory, empty it first
- if (p_file.isDirectory()) {
- String[] dirList = p_file.list();
- for (int i = 0; i < dirList.length; i++) {
-
- File aFile = new File(
- p_file.getPath() + FILE_SEPARATOR + dirList[i]);
- if (aFile.isDirectory()) {
- deleteFile(aFile);
- }
- aFile.delete();
- }
- }
- p_file.delete();
- }
-
-
- public static void main(String[] args) {
- try {
- TmpCleaner t = new TmpCleaner();
- System.gc();
- t.run();
- } catch (Exception e) {
- }
- System.exit(0);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Verifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Verifier.java
deleted file mode 100755
index 1fa9ef4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Verifier.java
+++ /dev/null
@@ -1,424 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.EjbBundleDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.apiscan.stdapis.APIRepository;
-import com.sun.enterprise.tools.verifier.app.ApplicationVerifier;
-import com.sun.enterprise.tools.verifier.appclient.AppClientVerifier;
-import com.sun.enterprise.tools.verifier.connector.ConnectorVerifier;
-import com.sun.enterprise.tools.verifier.ejb.EjbVerifier;
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.VerifierConstants;
-import com.sun.enterprise.tools.verifier.web.WebVerifier;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import com.sun.enterprise.util.io.FileUtils;
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.deployment.common.DeploymentException;
-import org.glassfish.deployment.common.InstalledLibrariesResolver;
-import org.glassfish.internal.api.ClassLoaderHierarchy;
-import org.glassfish.api.admin.ServerEnvironment;
-import org.glassfish.internal.deployment.ExtendedDeploymentContext;
-import jakarta.inject.Inject;
-
-import org.jvnet.hk2.annotations.Service;
-import org.glassfish.hk2.api.PerLookup;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.text.SimpleDateFormat;
-import java.util.Date;
-import java.util.Iterator;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
-/**
- * This class is the main class to invoke the verification process. It
- * is directly called by the scripts in AVK and verifier in appserver.
- * The deployment backend invokes verifier in a separate process.
- * Deploytool GUI invokes verifier by calling the verify() and
- * generateReports() APIs.
- */
-@Service
-@PerLookup
-public class Verifier implements org.glassfish.internal.deployment.Verifier
-{
- @Inject
- private DescriptorFactory descriptorFactory;
-
- @Inject
- private ClassLoaderHierarchy clh;
-
- @Inject
- private ServerEnvironment env;
-
- private Application application = null;
-
- private static boolean debug = false;
- private static Logger logger = LogDomains.getLogger(
- LogDomains.AVK_VERIFIER_LOGGER);
- private LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
-
- private final String TMPDIR = System.getProperty("java.io.tmpdir");
- private SimpleDateFormat dateFormatter = new SimpleDateFormat(
- "yyyyMMddhhmmss"); // NOI18N
- private String explodeDirName = TMPDIR + File.separator + "exploded" + // NOI18N
- dateFormatter.format(new Date());
-
- /**
- * contains arguments data. It is used throughout the verification framework
- */
- private VerifierFrameworkContext verifierFrameworkContext = null;
-
- public Verifier()
- {
- // This needs to be done by deployment backlend
-// verificationContext.setUseTimeStamp(true);
-// verificationContext.setOutputDirName(System.getProperty("com.sun.aas.instanceRoot") + // NOI18N
-// File.separator +
-// "logs" + // NOI18N
-// File.separator +
-// "verifier-results"); // NOI18N
- }
-
- public void verify(DeploymentContext context) {
- com.sun.enterprise.tools.verifier.VerifierFrameworkContext verifierFrameworkContext = new com.sun.enterprise.tools.verifier.VerifierFrameworkContext();
- verifierFrameworkContext.setArchive(context.getSource());
- verifierFrameworkContext.setApplication(context.getModuleMetaData(com.sun.enterprise.deployment.Application.class));
- verifierFrameworkContext.setJarFileName(context.getSourceDir().getAbsolutePath());
- verifierFrameworkContext.setJspOutDir(context.getScratchDir("jsp"));
- verifierFrameworkContext.setIsBackend(true);
- verifierFrameworkContext.setOutputDirName(env.getDomainRoot().getAbsolutePath()+"/logs/verifier-results");
- com.sun.enterprise.tools.verifier.ResultManager rm = verifierFrameworkContext.getResultManager();
-
- try {
- init(verifierFrameworkContext);
- verify();
- } catch (Exception e) {
- LogRecord logRecord = new LogRecord(Level.SEVERE,
- "Could not verify successfully.");
- logRecord.setThrown(e);
- verifierFrameworkContext.getResultManager().log(logRecord);
- }
-
- try {
- generateReports();
- } catch (IOException ioe) {
- context.getLogger().log(
- Level.WARNING, "Can not generate verifier report: {0}", ioe.getMessage());
- }
- int failedCount = rm.getFailedCount() + rm.getErrorCount();
- if (failedCount != 0) {
- ((ExtendedDeploymentContext)context).clean();
- throw new DeploymentException(smh.getLocalString("deploy.failverifier","Some verifier tests failed. Aborting deployment"));
- }
- }
-
- public void deployed(DeploymentContext context) {
-
- }
-
- public void init(VerifierFrameworkContext verifierFrameworkContext) throws IOException
- {
- this.verifierFrameworkContext = verifierFrameworkContext;
- InputStream is = getClass().getClassLoader().getResourceAsStream(
- VerifierConstants.CFG_RESOURCE_PREFIX + "standard-apis.xml"); // NOI18N
- try
- {
- APIRepository.Initialize(is);
- }
- catch (Exception e)
- {
- throw new RuntimeException(e);
- }
- finally
- {
- if (is != null) {
- is.close();
- }
- }
- if (!verifierFrameworkContext.isBackend())
- {
- try
- {
- initStandalone();
- }
- catch (IOException ioe)
- {
- cleanup();
- throw ioe;
- }
- catch (RuntimeException re)
- {
- cleanup();
- throw re;
- }
- }
- }
-
- /**
- * This method does the verification by running all the verifier tests
- *
- * @return ResultManager that contains all the test results.
- * @throws IOException
- */
- public void verify() throws IOException
- {
- assert (verifierFrameworkContext != null);
- try
- {
- verifyArchive();
- }
- finally
- {
- cleanup();
- }
- }
-
-// /**
-// * @param jarFile This method is called from gui MainPanel to run verifier
-// * on selected archive
-// * @return ResultManager Object containing all test results
-// * @throws IOException
-// */
-// public ResultManager verify(String jarFile) throws IOException {
-// verificationContext.setJarFileName(jarFile);
-// return verify();
-// }
-
-// /**
-// * Call from deployment backend. This call is in the appserver process.
-// * Verifier will run in appserver mode for this invocation.
-// * If parameter application is null then this api is equivalent to
-// * invoking a standalone verifier.
-// * Parameter abstractArchive must not be null.
-// *
-// * @return status of the invocation. A non zero value will denote a failure.
-// * @throws IOException
-// */
-// public int verify(Application application,
-// Archive abstractArchive,
-// List<String> classPath,
-// File jspOutDir)
-// throws IOException {
-// boolean originalBoundsChecking = Descriptor.isBoundsChecking();
-// Descriptor.setBoundsChecking(false);
-// ResultManager rmanager=null;
-// verificationContext.setJspOutDir(jspOutDir);
-// verificationContext.setIsBackend(true);
-// VerificationHandler verificationHandler = null;
-// try {
-// if(application == null) { //can be a standalone connector deployment
-// verificationContext.setJarFileName(new File(abstractArchive.getURI()).getAbsolutePath());
-// verificationHandler = new VerificationHandler(verificationContext);
-// } else
-// verificationHandler = new VerificationHandler(verificationContext,
-// application,
-// abstractArchive,
-// classPath);
-// rmanager = verificationHandler.verifyArchive();
-// } catch(Exception e) {
-// LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
-// LogRecord logRecord =
-// new LogRecord(Level.SEVERE,
-// smh.getLocalString(getClass().getName() +
-// ".verifyFailed", // NOI18N
-// "Could not verify successfully.")); // NOI18N
-// logRecord.setThrown(e);
-// verificationContext.getResultManager().log(logRecord);
-// } finally { // restore the original values
-// Descriptor.setBoundsChecking(originalBoundsChecking);
-// if(verificationHandler!=null)
-// verificationHandler.cleanup();
-// }
-// generateReports();
-// return rmanager.getErrorCount() + rmanager.getFailedCount();
-// }
-
- /**
- * It generates the reports using the ResultManager
- *
- * @throws IOException
- */
- public void generateReports() throws IOException
- {
- new ReportHandler(verifierFrameworkContext).generateAllReports();
- }
-
- /**
- * checks if verifier is running in debug mode
- *
- * @return debug status
- */
- public static boolean isDebug()
- {
- return debug;
- }
-
- /**
- * debug messages are logged here.
- *
- * @param t
- */
- public static void debug(Throwable t)
- {
- logger.log(Level.FINEST, "Exception occurred", t);
- }
-
- private void verifyArchive()
- {
- if (!getApplication().isVirtual())
- { // don't run app tests for standalone module
- runVerifier(new ApplicationVerifier(verifierFrameworkContext));
- }
-
- for (Iterator itr = getApplication().getBundleDescriptors(EjbBundleDescriptor.class).iterator();
- itr.hasNext();)
- {
- EjbBundleDescriptor ejbd = (EjbBundleDescriptor) itr.next();
- runVerifier(new EjbVerifier(verifierFrameworkContext, ejbd));
- }
-
- for (Iterator itr = getApplication().getBundleDescriptors(WebBundleDescriptor.class).iterator();
- itr.hasNext();)
- {
- WebBundleDescriptor webd = (WebBundleDescriptor) itr.next();
- runVerifier(new WebVerifier(verifierFrameworkContext, webd));
- }
-
- for (Iterator itr = getApplication().getBundleDescriptors(ApplicationClientDescriptor.class).iterator();
- itr.hasNext();)
- {
- ApplicationClientDescriptor appClientDescriptor =
- (ApplicationClientDescriptor) itr.next();
- runVerifier(new AppClientVerifier(verifierFrameworkContext, appClientDescriptor));
- }
-
- for (Iterator itr = getApplication().getBundleDescriptors(ConnectorDescriptor.class).iterator();
- itr.hasNext();)
- {
- ConnectorDescriptor cond = (ConnectorDescriptor) itr.next();
- runVerifier(new ConnectorVerifier(verifierFrameworkContext, cond));
- }
- }
-
- /**
- * initialization done for standalone verifier invocation.
- *
- * @throws IOException
- */
- private void initStandalone() throws IOException
- {
- logger.log(Level.FINE, getClass().getName() + ".debug.startingLoadJar");
- // We will set PublicAPI class loader as our parent, so we don't
- // need any server classpath.
-// if (!verificationContext.isPortabilityMode())
-// {
-// String as_config_dir =
-// System.getProperty("com.sun.aas.installRoot") + File.separator + "config";
-// classPath = PELaunch.getServerClassPath(as_config_dir,
-// verificationContext.getDomainDir());
-// }
-//
- // initialize /tmp/* directories
- initVerifierTmpDirs();
- String jarFile = verifierFrameworkContext.getJarFileName();
- //We must call InstalledLibrariesResolver.initializeInstalledLibRegistry() before explodeArchive,
- //because inside this call, the list of installed optional packages in the system gets initialised.
- //That list is then used inside resolveDependencies() code.
- //It looks to be a bug as ideally this kind of dependency should be taken care of inside
- //InstalledLibrariesResolver class itself.
- //But any way, we don't have a choice but to make this work around in our code.
- InstalledLibrariesResolver.initializeInstalledLibRegistry(env.getLibPath().getAbsolutePath());
- DescriptorFactory.ResultHolder result =
- descriptorFactory.createApplicationDescriptor(
- new File(jarFile),
- new File(explodeDirName),
- clh.getCommonClassLoader());
- verifierFrameworkContext.setApplication(result.application);
- verifierFrameworkContext.setArchive(result.archive);
- }
-
- private void runVerifier(BaseVerifier baseVerifier)
- {
- try
- {
- baseVerifier.verify();
- }
- catch (Exception e)
- {
- log("Problem in running tests for :" +
- baseVerifier.getDescriptor().getName(),
- e);
- }
- }
-
- private boolean initVerifierTmpDirs() throws IOException
- {
- // Make sure we can create the directory appservResultDir
- File test = new File(explodeDirName);
- if (!test.isDirectory() && !test.getAbsoluteFile().mkdirs())
- {
- logger.log(Level.SEVERE, getClass().getName() +
- ".explodedircreateerror", test.getAbsolutePath()); // NOI18N
- throw new IOException(smh.getLocalString(getClass().getName()
- + ".explodedircreateerror", test.getAbsolutePath())); // NOI18N
- }
- return true;
- }
-
- public void cleanup()
- {
-// if(!isBackend && application!=null)
-// ((JarClassLoader)application.getClassLoader()).done();
- if (!verifierFrameworkContext.isBackend() &&
- !((new File(verifierFrameworkContext.getJarFileName())).isDirectory()))
- {
- FileUtils.whack(new File(explodeDirName));
- }
- }
-
- /**
- * This method is used to log exception messges in the error vector of
- * ResultManager object.
- *
- * @param message
- * @param e
- */
- private void log(String message, Exception e)
- {
- if (message == null)
- {
- message = "";
- }
- LogRecord logRecord = new LogRecord(Level.SEVERE, message);
- logRecord.setThrown(e);
- verifierFrameworkContext.getResultManager().log(logRecord);
- }
-
-
- public Application getApplication() {
- return verifierFrameworkContext.getApplication();
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierEventsListener.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierEventsListener.java
deleted file mode 100644
index 793d18a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierEventsListener.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.util.EventObject;
-
-/**
- * <p/>
- * This listener interface is used for tests that need to be notified of the
- * verifier execution life cycle
- * </p>
- *
- * @author Jerome Dochez
- */
-public interface VerifierEventsListener {
-
- /**
- * <p/>
- * Individual test completion notification event
- * </p>
- *
- * @param e event object which source is the result of the individual test
- */
- void testFinished(EventObject e);
-
- /**
- * <p/>
- * Notification that all tests pertinent to a verifier check manager have
- * been completed
- * </p>
- *
- * @param e event object which source is the check manager for the
- * completed tests
- */
- void allTestsFinished(EventObject e);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierFrameworkContext.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierFrameworkContext.java
deleted file mode 100755
index b08c68b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierFrameworkContext.java
+++ /dev/null
@@ -1,416 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import java.io.File;
-import java.util.List;
-
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.tools.verifier.util.VerifierConstants;
-import com.sun.enterprise.util.SystemPropertyConstants;
-import org.glassfish.api.deployment.archive.Archive;
-
-/**
- * This is a data class that contains all the argument specific stuff and
- * the temporary variables. It is used during the verification process and
- * during the report generation.
- *
- * @author Vikas Awasthi
- */
-public class VerifierFrameworkContext
-{
-
- private boolean app = false;
- private boolean appClient = false;
- private boolean connector = false;
- private boolean ejb = false;
- private boolean web = false;
- private boolean webServices = false;
- private boolean webServicesClient = false;
- private boolean persistenceUnits = false; // EJB 3.0 persistence entity
-
- private boolean partition = false;
- private int reportLevel = VerifierConstants.WARN;
- private boolean useTimeStamp = false;
- private boolean usingGui = false;
- private boolean isBackend = false;
- private String jarFileName = null;
- private String outputDirName = null;
- private String explodedArchivePath = null;
- private ResultManager resultManager = new ResultManager();
- private Archive archive = null;
- private boolean isPortabilityMode = false;
- private String domainDir = System.getProperty("com.sun.aas.installRoot")+
- File.separator+"domains"+ // NOI18N
- File.separator+"domain1"; // NOI18N
- private String extDir = null;
- private List<String> classPath = null;
- private Application application = null;
- private File jspOutDir = null;
-
- private String configDirStr = System.getProperty(SystemPropertyConstants.INSTALL_ROOT_PROPERTY) +
- File.separator +
- "lib" + // NOI18N
- File.separator +
- "verifier"; // NOI18N
-
- private String javaEEVersion = SpecVersionMapper.JavaEEVersion_5;
-
- /**
- *
- * @return returns true if application tests are enabled with partioning option.
- */
- public boolean isApp() {
- return app;
- }
-
- /**
- *
- * @return returns true if application client tests are enabled with
- * partioning option.
- */
- public boolean isAppClient() {
- return appClient;
- }
-
- /**
- *
- * @return returns true if connector tests are enabled with
- * partioning option.
- */
- public boolean isConnector() {
- return connector;
- }
-
- /**
- *
- * @return returns true if Ejb tests are enabled with
- * partioning option.
- */
- public boolean isEjb() {
- return ejb;
- }
-
- /**
- *
- * @return returns true if Web tests are enabled with
- * partioning option.
- */
- public boolean isWeb() {
- return web;
- }
-
- /**
- *
- * @return returns true if Webservices tests are enabled with
- * partioning option.
- */
- public boolean isWebServices() {
- return webServices;
- }
-
- /**
- *
- * @return returns true if Webservices client tests are enabled with
- * partioning option.
- */
- public boolean isWebServicesClient() {
- return webServicesClient;
- }
-
- public boolean isPersistenceUnits() {
- return persistenceUnits;
- }
-
- /**
- *
- * @return returns true if partitioning option is enabled.
- */
- public boolean isPartition() {
- return partition;
- }
-
- /**
- * If -a option is passed to verifier this variable is set for invoking only
- * application related tests
- * @param app
- */
- public void setApp(boolean app) {
- this.app = app;
- }
-
- /**
- * If -p option is passed to verifier this variable is set for invoking only
- * application client related tests
- * @param appClient
- */
- public void setAppClient(boolean appClient) {
- this.appClient = appClient;
- }
-
- /**
- * If -c option is passed to verifier this variable is set for invoking only
- * connector related tests
- * @param connector
- */
- public void setConnector(boolean connector) {
- this.connector = connector;
- }
-
- /**
- * If -e option is passed to verifier this variable is set for invoking only
- * ejb related tests
- * @param ejb
- */
- public void setEjb(boolean ejb) {
- this.ejb = ejb;
- }
-
- /**
- * If -w option is passed to verifier this variable is set for invoking only
- * web related tests
- * @param web
- */
- public void setWeb(boolean web) {
- this.web = web;
- }
-
- /**
- * If -s option is passed to verifier this variable is set for invoking only
- * webServices related tests
- * @param webServices
- */
- public void setWebServices(boolean webServices) {
- this.webServices = webServices;
- }
-
- /**
- * If -l option is passed to verifier this variable is set for invoking only
- * webservices client related tests
- * @param webServicesClient
- */
- public void setWebServicesClient(boolean webServicesClient) {
- this.webServicesClient = webServicesClient;
- }
-
- /**
- * If -P option is passed to verifier this variable is set for invoking only
- * persistence related tests
- * @param persistenceUnits
- */
- public void setPersistenceUnits(boolean persistenceUnits) {
- this.persistenceUnits = persistenceUnits;
- }
-
- /**
- * if verifier is invoked to run tests for specific component(s) this
- * variable is set to true
- * @param partition
- */
- public void setPartition(boolean partition) {
- this.partition = partition;
- }
-
- /**
- *
- * @return return the reporting level of verifier
- */
- public int getReportLevel() {
- return reportLevel;
- }
-
- /**
- * set the reporting level of verifier
- * @param reportLevel
- */
- public void setReportLevel(int reportLevel) {
- this.reportLevel = reportLevel;
- }
-
- /**
- *
- * @return return if timestamp is added to the report files
- */
- public boolean isUseTimeStamp() {
- return useTimeStamp;
- }
-
- /**
- * set option to append timestamp to report files
- * @param useTimeStamp
- */
- public void setUseTimeStamp(boolean useTimeStamp) {
- this.useTimeStamp = useTimeStamp;
- }
-
- /**
- * get the jar file name to be verifier
- * @return
- */
- public String getJarFileName() {
- return jarFileName;
- }
-
- /**
- * sets the jar file name to be verified
- * @param jarFileName
- */
- public void setJarFileName(String jarFileName) {
- this.jarFileName = jarFileName;
- }
-
- /**
- * @return string the output directory where to keep the generated reports
- */
- public String getOutputDirName() {
- return outputDirName;
- }
-
- /**
- * set the output directory where to keep the report files
- * @param outputDirName
- */
- public void setOutputDirName(String outputDirName) {
- this.outputDirName = outputDirName;
- }
-
- /**
- *
- * @return the config directory where verifier specific files are kept
- * like Test-Names.xml and xsl files
- */
- public String getConfigDirStr() {
- return configDirStr;
- }
-
-
- /**
- * set the config dir.
- * @param configDirStr
- */
- public void setConfigDirStr(String configDirStr) {
- this.configDirStr = configDirStr;
- }
-
- /**
- *
- * @return The directory where verifier explodes the archive
- */
- public String getExplodedArchivePath() {
- return explodedArchivePath;
- }
-
- /**
- *
- * @return verifier invokation, in gui mode or command line mode
- */
- public boolean isUsingGui() {
- return usingGui;
- }
-
- /**
- * @param usingGui set the value to true if verifier is invoked in GUI mode.
- */
- public void setUsingGui(boolean usingGui) {
- this.usingGui = usingGui;
- }
-
- public boolean isBackend() {
- return isBackend;
- }
-
- public void setIsBackend(boolean b) {
- this.isBackend = b;
- }
-
- /**
- *
- * @param explodedArchivePath directory path where verifier explodes the archive
- */
- public void setExplodedArchivePath(String explodedArchivePath) {
- this.explodedArchivePath = explodedArchivePath;
- }
-
- public Archive getArchive() {
- return archive;
- }
-
- public void setArchive(Archive archive) {
- this.archive = archive;
- }
-
- public ResultManager getResultManager() {
- return resultManager;
- }
-
- public boolean isPortabilityMode() {
- return isPortabilityMode;
- }
-
- public void setPortabilityMode(boolean portabilityMode) {
- isPortabilityMode = portabilityMode;
- }
-
- public String getDomainDir() {
- return domainDir;
- }
-
- public void setDomainDir(String domainDir) {
- this.domainDir = domainDir;
- }
-
- public String getExtDir() {
- return extDir;
- }
-
- public void setExtDir(String extDir) {
- this.extDir = extDir;
- }
-
- public List<String> getClassPath() {
- return classPath;
- }
-
- public void setClassPath(List<String> classPath) {
- this.classPath = classPath;
- }
-
- public Application getApplication() {
- return application;
- }
-
- public void setApplication(Application application) {
- this.application = application;
- }
-
- public File getJspOutDir() {
- return jspOutDir;
- }
-
- public void setJspOutDir(File jspOutDir) {
- this.jspOutDir = jspOutDir;
- }
-
- public String getJavaEEVersion() {
- return javaEEVersion;
- }
-
- public void setJavaEEVersion(String javaEEVersion) {
- this.javaEEVersion = javaEEVersion;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierMain.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierMain.java
deleted file mode 100644
index 9ac057f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierMain.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import com.sun.enterprise.module.bootstrap.StartupContext;
-import com.sun.enterprise.tools.verifier.gui.MainFrame;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import org.glassfish.embeddable.GlassFish;
-import org.glassfish.embeddable.GlassFishException;
-import org.glassfish.embeddable.GlassFishProperties;
-import org.glassfish.embeddable.GlassFishRuntime;
-
-import java.io.IOException;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class VerifierMain {
-
- private static volatile GlassFishRuntime gfr;
-
- public static void main(String[] args) throws GlassFishException, IOException {
- VerifierFrameworkContext verifierFrameworkContext =
- new Initializer(args).getVerificationContext();
-
- addShutdownHook(); // Since in gui mode, we don't get a chance to clean up, we need to install a shutdown hook
- gfr = GlassFishRuntime.bootstrap();
- GlassFishProperties gfp = new GlassFishProperties();
- gfp.setProperty(StartupContext.TIME_ZERO_NAME, (new Long(System.currentTimeMillis())).toString());
- final String VERIFIER_MODULE = "org.glassfish.verifier";
- gfp.setProperty(StartupContext.STARTUP_MODULE_NAME, VERIFIER_MODULE);
-// gfp.setConfigFileURI("file:/tmp/domain.xml");
- GlassFish gf = gfr.newGlassFish(gfp);
- gf.start();
- int failedCount = -1;
- Verifier verifier = gf.getService(Verifier.class);
- if (verifierFrameworkContext.isUsingGui()) {
- MainFrame mf = new MainFrame(
- verifierFrameworkContext.getJarFileName(), true, verifier);
- mf.setSize(800, 600);
- mf.setVisible(true);
- } else {
- LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
- try {
- verifier.init(verifierFrameworkContext);
- verifier.verify();
- } catch (Exception e) {
- LogRecord logRecord = new LogRecord(Level.SEVERE,
- smh.getLocalString(
- verifier.getClass().getName() +
- ".verifyFailed", // NOI18N
- "Could not verify successfully.")); // NOI18N
- logRecord.setThrown(e);
- verifierFrameworkContext.getResultManager().log(logRecord);
- }
- verifier.generateReports();
- failedCount = verifierFrameworkContext.getResultManager()
- .getFailedCount() +
- verifierFrameworkContext.getResultManager().getErrorCount();
- System.exit(failedCount);
- }
- }
-
- private static void addShutdownHook() {
- Runtime.getRuntime().addShutdownHook(new Thread("Verifier Shutdown Hook") {
- public void run() {
- if (gfr == null) return;
- try {
- gfr.shutdown();
- gfr = null;
- }
- catch (Exception ex) {
- System.err.println("Error shutting down glassfish runtime: " + ex);
- ex.printStackTrace();
- }
- }
- });
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierModuleStartup.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierModuleStartup.java
deleted file mode 100644
index e95d247..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierModuleStartup.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 2009, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import com.sun.enterprise.module.ModulesRegistry;
-import com.sun.enterprise.module.bootstrap.ModuleStartup;
-import com.sun.enterprise.module.bootstrap.StartupContext;
-import org.glassfish.internal.api.Globals;
-import jakarta.inject.Inject;
-import org.jvnet.hk2.annotations.Service;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-@Service
-public class VerifierModuleStartup implements ModuleStartup {
-
- @Inject
- private ModulesRegistry mr;
-
- // force initialization of Globals, as many appserver modules
- // use Globals.
- @Inject
- Globals globals;
-
- private StartupContext startupContext;
- private ClassLoader oldCL;
-
- public void setStartupContext(StartupContext context) {
- this.startupContext = context;
- }
-
- public void start() {
- setTCL();
- }
-
- public void stop() {
- unsetTCL();
- }
-
- private void setTCL() {
- oldCL = Thread.currentThread().getContextClassLoader();
- Thread.currentThread().setContextClassLoader(null);
- }
-
- private void unsetTCL() {
- Thread.currentThread().setContextClassLoader(oldCL);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierTestContext.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierTestContext.java
deleted file mode 100644
index 152460b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/VerifierTestContext.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-
-import com.sun.enterprise.tools.verifier.web.FacesConfigDescriptor;
-import org.w3c.dom.Document;
-import org.glassfish.api.deployment.archive.Archive;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompiler;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.jdo.spi.persistence.support.ejb.ejbc.JDOCodeGenerator;
-
-import java.io.File;
-
-/**
- * <p/>
- * Context for each test execution
- * </p>
- *
- * @author Sheetal Vartak
- */
-public class VerifierTestContext
-{
-
- private ClassLoader classLoader = null;
-
- private ClassLoader altClassLoader = null;
-
- //start IASRI 4725528
- private boolean isAppserverMode = false;
- //end IASRI 4725528
-
- // provides the abstract archive for use by tests which cannot get the
- // physical EAR file
- private Archive archive = null;
-
- // this represents the archive that represents the module jar/war/rar.
- private Archive moduleArchive;
-
- // added for webservice clients to store current ejbdescriptor
- // which contains the service-ref
- private EjbDescriptor ejbdesc = null;
-
- private boolean isXMLBasedOnSchema = false;
- private String stdAloneUri = null;
- private Document runtimeDoc = null;
- private Document doc = null;
- private Document webservicedoc = null;
- private Throwable JDOExceptionObject = null;
- private TagLibDescriptor[] taglibDescriptors = null;
- private FacesConfigDescriptor facesConfigDescriptor = null;
-// private Verifier verifier;
- // the JDO codegenerator instance to be used by tests
- // set from EJBCheckMgr
- private JDOCodeGenerator jdc = null;
- private ClosureCompiler cc;
- private String classPath;//used by JspC. See AllJSPsMustBeCompilable test
- private File outDir;//used by AllJSPsMustBeCompilable & WebArchiveClassesLoadable
- // This represent's component's schema version.
- private String schemaVersion="";
-
- // this denotes the corresponding Java EE version.
- private String javaEEVersion;
-
- // denotes the name of the component. Used in each test for reporting
- private ComponentNameConstructor compName;
-
- public VerifierTestContext() {
- classLoader = null;
- }
-
- public VerifierTestContext(ClassLoader classLoader) {
- this.classLoader = classLoader;
- }
-
- public ClassLoader getClassLoader() {
- return classLoader;
- }
-
- public void setClassLoader(ClassLoader classLoader) {
- this.classLoader = classLoader;
- }
-
- public ClassLoader getRarClassLoader() {
- return classLoader;
- }
-
- public void setRarClassLoader(ClassLoader classLoader) {
- this.classLoader = classLoader;
- }
-
- //start IASRI 4725528
- public void setAppserverMode(boolean isBackend) {
- this.isAppserverMode = isBackend;
- }
-
- public boolean isAppserverMode() {
- return isAppserverMode;
- }
- //end IASRI 4725528
-
- public void setAbstractArchive(Archive arch) {
- archive = arch;
- }
-
- /**
- * Retrieve the Abstract Archive file in test
- *
- * @return <code>String</code> handle to current application .ear file
- */
- public Archive getAbstractArchive() {
- return archive;
- }
-
- /**
- * Added for WebServices Client verification
- *
- * @return The <code>EjbDescriptor</code> for the current ServiceReferenceDescriptor
- * being validated by tests
- */
- public EjbDescriptor getEjbDescriptorForServiceRef() {
- return ejbdesc;
- }
-
- /**
- * Added for WebServices Client verification
- * SET The <code>EjbDescriptor</code> for the current ServiceReferenceDescriptor
- * being validated by tests
- */
- public void setEjbDescriptorForServiceRef(EjbDescriptor desc) {
- ejbdesc = desc;
- }
-
- public void setAlternateClassLoader(ClassLoader l) {
- altClassLoader = l;
- }
-
- public ClassLoader getAlternateClassLoader() {
- return altClassLoader;
- }
-
- public boolean getisXMLBasedOnSchema() {
- return isXMLBasedOnSchema;
- }
-//
-// public void setisXMLBasedOnSchema(boolean value) {
-// isXMLBasedOnSchema = value;
-// }
-
- /*
- *getRuntimeDocument()
- * returns the document object created for runtime descriptor
- */
- public Document getRuntimeDocument() {
- return runtimeDoc;
- }
-
- /*
- *setRuntimeDocement(Document value)
- */
- public void setRuntimeDocument(Document value) {
- runtimeDoc = value;
- }
-
- /*
- *getDocument()
- * returns the document object created for runtime descriptor
- */
- public Document getDocument() {
- return doc;
- }
-
- /*
- *setDocement(Document value)
- */
- public void setDocument(Document value) {
- doc = value;
- }
-
- /* get the document object for webservices.xml
- * setWebServiceDocement(Document value)
- */
-
- public Document getWebServiceDocument() {
- return webservicedoc;
- }
-
- /*Set the document object of webservices.xml
- *setWebServiceDocement(Document value)
- */
- public void setWebServiceDocument(Document value) {
- webservicedoc = value;
- }
-
- public String getStdAloneArchiveURI() {
- return stdAloneUri;
-
- }
-
- public void setStdAloneArchiveURI(String uri) {
- stdAloneUri = uri;
- }
-
- public void setJDOCodeGenerator(JDOCodeGenerator gen) {
- jdc = gen;
- }
-
- public JDOCodeGenerator getJDOCodeGenerator() {
- return jdc;
- }
-
- public void setJDOException(Throwable ex) {
- JDOExceptionObject = ex;
- }
-
- public Throwable getJDOException() {
- return JDOExceptionObject;
- }
-
- public void setTagLibDescriptors(TagLibDescriptor[] tld) {
- taglibDescriptors = tld;
- }
-
- public TagLibDescriptor[] getTagLibDescriptors() {
- return taglibDescriptors;
- }
-
- public void setFacesConfigDescriptor(FacesConfigDescriptor d) {
- facesConfigDescriptor = d;
- }
-
- public FacesConfigDescriptor getFacesConfigDescriptor() {
- return facesConfigDescriptor;
- }
-
-// public Verifier getVerifier () {
-// return verifier;
-// }
-//
-// public void setVerifier(Verifier verifier) {
-// this.verifier = verifier;
-// }
-
- public void setClosureCompiler(ClosureCompiler cc) {
- this.cc = cc;
- }
-
- public ClosureCompiler getClosureCompiler() {
- return cc;
- }
-
- public String getClassPath() {
- return classPath;
- }
-
- public void setClassPath(String cp) {
- classPath = cp;
- }
-
- public File getOutDir() {
- return outDir;
- }
-
- public void setOutDir(File outDir) {
- this.outDir = outDir;
- }
-
- public void setSchemaVersion(String ver) {
- this.schemaVersion = ver;
- }
-
- public String getSchemaVersion() {
- return schemaVersion;
- }
-
- public ComponentNameConstructor getComponentNameConstructor(){
- return compName;
- }
-
- public void setComponentNameConstructor(ComponentNameConstructor compName){
- this.compName = compName;
- }
-
- public String getJavaEEVersion(){
- return javaEEVersion;
- }
-
- public void setJavaEEVersion(String v){
- javaEEVersion = v;
- }
-
- /**
- * This method returns the module archive while
- * {@link #getAbstractArchive()} returns an Archive representing the
- * application that this module is embedded in.
- * For standalone jar/war they will return same archive
- * The caller MUST close the archive.
- * @return the archive for the module archive.
- */
- public Archive getModuleArchive() {
- return moduleArchive;
- }
-
- public void setModuleArchive(Archive a) {
- moduleArchive = a;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Version.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Version.java
deleted file mode 100644
index aa21d62..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/Version.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-
-/**
- * Serves as a place holder for knowing the version of app
- * verification
- */
-public final class Version {
- public static final String version = "1.3.1"; // NOI18N
- public static final String fullVersion = "1.3.1ea"; // NOI18N
-
- private Version() {
- // No one should call this.....
- }
-
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/XpathPrefixResolver.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/XpathPrefixResolver.java
deleted file mode 100644
index 826500b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/XpathPrefixResolver.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier;
-
-import org.w3c.dom.Node;
-
-import com.sun.org.apache.xml.internal.utils.PrefixResolverDefault;
-
-public class XpathPrefixResolver extends PrefixResolverDefault {
-
- public static final String fakeXPrefix = "xpathfake"; // NOI18N
-
- public XpathPrefixResolver(Node node) {
- super(node);
- }
-
- public String getNamespaceForPrefix(String prefix, Node nc) {
- if (prefix.equals(fakeXPrefix)) {
- return "http://java.sun.com/xml/ns/j2ee"; // NOI18N
- }
- return super.getNamespaceForPrefix(prefix, nc);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClassFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClassFile.java
deleted file mode 100644
index 21d3354..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClassFile.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import static org.objectweb.asm.Opcodes.*;
-import org.objectweb.asm.*;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.Collection;
-import java.util.HashSet;
-import java.util.Set;
-import java.util.logging.Logger;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-class ASMClassFile implements ClassFile {
-
- private static Logger logger = Logger.getLogger("apiscan.classfile"); // NOI18N
-
- private String externalName;
-
- private String internalName;
-
- private String packageName;
-
- private ClassReader cr;
-
- private Set<Method> methods = new HashSet<Method>();
-
- private String internalNameOfSuperClass;
-
- private String[] internalNamesOfInterfaces;
-
- private int access;
-
- public boolean isInterface() {
- return (access & ACC_INTERFACE) == ACC_INTERFACE;
- }
-
- public Method getMethod(MethodRef methodRef) {
- for (Method m : methods) {
- if (m.getName().equals(methodRef.getName()) &&
- m.getDescriptor().equals(methodRef.getDescriptor())) {
- return m;
- }
- }
- return null;
- }
-
- public Collection<Method> getMethods() {
- return methods;
- }
-
- public ASMClassFile(InputStream is)
- throws IOException {
- cr = new ClassReader(is);
- cr.accept(new MyVisitor(this), ClassReader.SKIP_CODE);
- is.close();
- }
-
- public Collection<String> getAllReferencedClassNames() {
- throw new UnsupportedOperationException();
- }
-
- public Collection getAllReferencedClassNamesInInternalForm() {
- throw new UnsupportedOperationException();
- }
-
- public String getName() {
- return externalName;
- }
-
- public String getInternalName() {
- return internalName;
- }
-
- public String getPackageName() {
- return packageName;
- }
-
- public String getNameOfSuperClass() {
- return Util.convertToExternalClassName(internalNameOfSuperClass);
- }
-
- public String getInternalNameOfSuperClass() {
- return internalNameOfSuperClass;
- }
-
- public String[] getNamesOfInterfaces() {
- String[] result = new String[internalNamesOfInterfaces.length];
- for(int i = 0; i< internalNamesOfInterfaces.length; ++i){
- result[i] = Util.convertToExternalClassName(internalNamesOfInterfaces[i]);
- }
- return result;
- }
-
- public String[] getInternalNamesOfInterfaces() {
- return internalNamesOfInterfaces;
- }
-
- @Override public String toString() {
- StringBuilder sb = new StringBuilder(decodeAccessFlag(access)+ externalName);
- if(internalNameOfSuperClass!=null) sb.append(" extends "+getNameOfSuperClass()); // NOI18N
- if(internalNamesOfInterfaces.length>0){
- sb.append(" implements "); // NOI18N
- for(String s : getNamesOfInterfaces()) sb.append(s);
- }
- sb.append("{\n"); // NOI18N
- for(Method m : methods){
- sb.append(m).append("\n"); // NOI18N
- }
- sb.append("}"); // NOI18N
- return sb.toString();
- }
-
- private static class MyVisitor extends ClassVisitor {
- ASMClassFile cf;
-
- public MyVisitor(ASMClassFile cf) {
- super(ASM7);
- this.cf = cf;
- }
-
- public void visit(
- int version, int access, String name, String signature,
- String superName, String[] interfaces) {
- logger.entering(
- "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMClassFile$MyVisitor", "visit", // NOI18N
- new Object[]{version, access, name, signature});
- cf.internalName = name;
- cf.externalName = Util.convertToExternalClassName(name);
- cf.internalNameOfSuperClass = superName;
- cf.internalNamesOfInterfaces = interfaces;
- int index = name.lastIndexOf('/');
- if (index < 0)
- cf.packageName = "";
- else
- cf.packageName = name.substring(0, index);
- cf.access = access;
- }
-
- public MethodVisitor visitMethod(
- int access, String name, String desc, String signature,
- String[] exceptions) {
- logger.entering(
- "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMClassFile$MyVisitor", "visitMethod", // NOI18N
- new Object[]{access, name, signature, desc});
- ASMMethod method = new ASMMethod(cf, name, desc, access,
- signature, exceptions);
- cf.methods.add(method);
- return method;
- }
-
- @Override public void visitEnd() {
- logger.entering("ASMClassFile$MyVisitor", "visitEnd", // NOI18N
- new Object[]{cf.getName()});
- }
- }
-
- public static String decodeAccessFlag(int access) {
- StringBuilder result = new StringBuilder("");
- if ((access & ACC_PRIVATE) == ACC_PRIVATE) {
- result.append("private "); // NOI18N
- } else if ((access & ACC_PROTECTED) == ACC_PROTECTED) {
- result.append("protected "); // NOI18N
- } else if ((access & ACC_PUBLIC) == ACC_PUBLIC) {
- result.append("public "); // NOI18N
- }
- if ((access & ACC_ABSTRACT) == ACC_ABSTRACT) {
- result.append("abstract "); // NOI18N
- } else if ((access & ACC_FINAL) == ACC_FINAL) {
- result.append("final "); // NOI18N
- }
- if ((access & ACC_INTERFACE) == ACC_INTERFACE) {
- result.append("interface "); // NOI18N
- } else {
- result.append("class "); // NOI18N
- }
- return result.toString();
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClassFileLoader.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClassFileLoader.java
deleted file mode 100644
index 4d16c7a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClassFileLoader.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.lang.ref.WeakReference;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.util.ArrayList;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.StringTokenizer;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * *This is a factory for {@link ASMClassFile}. This is not a public class, as
- * I expect users to use {@link ClassFileLoaderFactory} interface. This class
- * internally uses the the standard Java ClassLoader to load the resource and
- * construct ASMClassFile object out of it.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-class ASMClassFileLoader implements ClassFileLoader {
-
- private ClassLoader cl;
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- private static Logger logger = Logger.getLogger("apiscan.classfile", resourceBundleName); // NOI18N
- private final static String myClassName = "ASMClassFileLoader"; // NOI18N
- // cache of already loaded classes
- private Map<String, WeakReference<ClassFile>> loadedClassesCache =
- new HashMap<String, WeakReference<ClassFile>>();
- /**
- * Creates a new instance of ASMClassFileLoader.
- *
- * @param cp that will be used to create a new java.net.URLClassLoader. In
- * subsequent load operations, this classloader will be used.
- */
- public ASMClassFileLoader(String cp) {
- ArrayList<URL> urls = new ArrayList<URL>();
- for (StringTokenizer st = new StringTokenizer(cp, File.pathSeparator);
- st.hasMoreTokens();) {
- String entry = st.nextToken();
- try {
- urls.add(new File(entry).toURI().toURL());
- } catch (MalformedURLException e) {
- logger.logp(Level.WARNING, myClassName, "init<>", getClass().getName() + ".exception1", new Object[]{entry});
- logger.log(Level.WARNING, "", e);
- }
- }
- //We do not want system class loader or even extension class loadera s our parent.
- //We want only boot class loader as our parent. Boot class loader is represented as null.
- cl = new URLClassLoader((URL[]) urls.toArray(new URL[0]), null);
- }
-
- /**
- * Creates a new instance of ASMClassFileLoader.
- *
- * @param cl is the classloader that will be used in subsequent load
- * operations.
- */
- public ASMClassFileLoader(ClassLoader cl) {
- this.cl = cl;
- }
-
- //See corresponding method of ClassFileLoader
- public ClassFile load(String externalClassName) throws IOException {
- logger.entering("ASMClassFileLoader", "load", externalClassName); // NOI18N
- WeakReference<ClassFile> cachedCF = loadedClassesCache.get(externalClassName);
- if(cachedCF!=null){
- ClassFile cf = cachedCF.get();
- if(cf!=null){
- return cf;
- } else {
- logger.logp(Level.FINE, "ASMClassFileLoader", "load", // NOI18N
- "{0} has been garbage collected from cache!", externalClassName); // NOI18N
- }
- }
- return load0(externalClassName);
- }
-
- private ClassFile load0(String externalClassName) throws IOException {
- //URLClassLoader library expects me to pass in internal form.
- String internalClassName = externalClassName.replace('.', '/');
- InputStream is = cl.getResourceAsStream(internalClassName + ".class");
- //URLClassLoader returns null if resource is not found.
- if (is == null) throw new IOException(
- "Not able to load " + internalClassName + ".class");
- try {
- ClassFile cf = new ASMClassFile(is);
- matchClassSignature(cf, externalClassName);
- loadedClassesCache.put(externalClassName,
- new WeakReference<ClassFile>(cf));
- return cf;
- } finally {
- is.close();
- }
-
- }
-
- //This method is neede to be protected against users who are passing us
- //internal class names instead of external class names or
- //when the file actually represents some other class, but it isnot
- //available in in proper package hierarchy.
- private void matchClassSignature(ClassFile cf, String externalClassName)
- throws IOException {
- String nameOfLoadedClass = cf.getName();
- if (!nameOfLoadedClass.equals(externalClassName)) {
- throw new IOException(externalClassName + ".class represents " +
- cf.getName() +
- ". Perhaps your package name is incorrect or you passed the " +
- "name using internal form instead of using external form.");
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClosureCompilerImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClosureCompilerImpl.java
deleted file mode 100644
index cf313e8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMClosureCompilerImpl.java
+++ /dev/null
@@ -1,347 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ASMClosureCompilerImpl.java
- *
- * Created on August 13, 2004, 3:34 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.IOException;
-import java.util.*;
-import java.util.logging.Level;
-
-/**
- * An implementation of {@link ClosureCompilerImplBase} based on
- * ASM.
- *
- * It is not a public class because I expect users to use this class via
- * the bridge setup from {@link ClosureCompilerImpl}.
- * It extends the common implementation from ClosureCompilerImplBase.
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-class ASMClosureCompilerImpl extends ClosureCompilerImplBase {
-
- private Collection<MethodRef> methodReferences = new HashSet<MethodRef>();
-
- private HashSet<MethodRef> visitedMethods = new HashSet<MethodRef>();
-
- private Stack<MethodRef> callStack = new Stack<MethodRef>();
-
- // holds result of current buildClosure() method
- private boolean result;
-
- private HashSet<String> closure = new HashSet<String>();
-
- //map of refencing path to list of not found classes.
- private Map<String, List<String>> failed = new HashMap<String, List<String>>();
-
- private static final String myClassName = "ASMClosureCompilerImpl"; // NOI18N
-
- /**
- * @param loader the ClassFileLoader that is used to load the referenced
- * classes.
- */
- public ASMClosureCompilerImpl(ClassFileLoader loader) {
- super(loader);
- }
-
- private void resetResult() {
- logger.entering("ASMClosureCompilerImpl", "resetResult", // NOI18N
- new Object[]{});
- result = true;
- }
-
- private void setResult(boolean newresult){
- result = result && newresult;
- }
-
- private boolean getResult() {
- return result;
- }
-
- /**
- * {@inheritDoc}
- */
- public boolean buildClosure(String className) {
- logger.entering(myClassName, "buildClosure", className); // NOI18N
- resetResult(); // at the entry of this public method, we reset result.
- if (needToBuildClosure(className)) {
- visitedClasses.add(className); // yes, we add before visting
- ClassFile cf = load(className);
- if(cf==null){
- return false;
- }
- // top level methods whose closure needs to be calculated.
- // TODO: We must get precise list of methods.
- Collection<? extends Method> methods = cf.getMethods();
- for(Method next:methods){
- methodReferences.add(next.getSelfReference());
- buildClosure(next);
- }
- }
- return getResult();
- }
-
- private void buildClosure(Method m) {
- MethodRef methodReference = m.getSelfReference();
- logger.entering("ASMClosureCompilerImpl", "buildClosure", // NOI18N
- new Object[]{methodReference});
- callStack.push(methodReference);
- if (needToBuildClosure(methodReference)) {
- visitedMethods.add(methodReference);
- Collection<MethodRef> methodRefs = m.getReferencedMethods();
- methodReferences.addAll(methodRefs);
- for(MethodRef nextMethodRef : methodRefs) {
- if (!needToBuildClosure(nextMethodRef)) continue;
- ClassFile cf = load(Util.convertToExternalClassName
- (nextMethodRef.getOwningClassName()));
- if (cf == null) {
- continue; // no need to call handleFailure() as it is done by this.load()
- }
- Method nextMethod = cf.getMethod(nextMethodRef);
- if(nextMethod==null){
- handleFailure(nextMethodRef);
- continue;
- }
- buildClosure(nextMethod);//recurssive call
- } // for
- // now go thru' all the classes that will be loaded when this
- // method is called.
- for(String className : m.getReferencedClasses()){
- String externalClassName = Util.convertToExternalClassName(className);
- if(!needToBuildClosure(externalClassName)) continue;
- load(externalClassName);
- }
- }
- callStack.pop();
- }
-
- /**
- * load class with given name. It also recurssively loads all classes in the
- * super class chain and interfaces implemented by this class and
- * its super classes, until it reaches a class which is found in the
- * excluded list. It also builds closure of each of the class's clinit method.
- *
- * @param className name of class in external format.
- * @return ClassFile representing this class name,
- * It returns null if class has been already loaded or need not be loaded
- * because it is an excluded class or could not be loaded. If class could
- * could not be loaded, it calls appropriate handleFailure().
- * @see #needToLoad(String)
- */
- protected ClassFile load(String className) {
- logger.entering("ASMClosureCompilerImpl", "load", // NOI18N
- new Object[]{className});
- ClassFile cf = null;
- try{
- cf = loader.load(className);
- }catch(IOException e){
- handleFailure(className);
- }
- if((cf!=null) && needToLoad(className)) {
- closure.add(className); // yes we add before actually loading.
- MethodRef clinitMethodRef =
- new MethodRef(Util.convertToInternalClassName(className),
- MethodRef.CLINIT_NAME,
- MethodRef.CLINIT_DESC);
- Method clinitMethod = cf.getMethod(clinitMethodRef);
- try{
- // See we push clinitMethodRef here so that we can display
- // useful error to user even during class loading.
- callStack.push(clinitMethodRef);
- String superClassName = cf.getNameOfSuperClass();
- if(superClassName!=null && needToBuildClosure(superClassName)) { // super class of java.lang.Object is null
- load(superClassName); //recurssive call
- }
- for(String interfaceClassName : cf.getNamesOfInterfaces()){
- if(needToBuildClosure(interfaceClassName)) {
- load(interfaceClassName); // recurssive call
- }
- }
- }finally{
- // pop callStack before buildClosure is called for clinit
- callStack.pop();
- }
- if(clinitMethod!=null) {
- methodReferences.add(clinitMethodRef);
- buildClosure(clinitMethod); // recurssive call
- }
- }
- logger.exiting("ASMClosureCompilerImpl", "load", cf==null?"null":cf.getName()); // NOI18N
- return cf;
- }
-
- private void handleFailure(MethodRef mr){
- logger.logp(Level.WARNING, "ASMClosureCompilerImpl", "handleFailure",
- getClass().getName() + ".exception1", new Object[]{mr.toString()});
-// setResult(false);
- // TODO: We should look for base class methods
- }
-
- /**
- * @param referencedClass is the name of the class in external format.
- */
- private void handleFailure(String referencedClass) {
- logger.entering("ASMClosureCompilerImpl", "handleFailure", // NOI18N
- new Object[]{referencedClass});
- setResult(false);
- String referencingPath = "";
- try {
- StringBuilder referencingPathBuffer = new StringBuilder();
- for (MethodRef m : callStack) {
- if (referencingPathBuffer.length() != 0)
- referencingPathBuffer.append("->"); // NOI18N
- referencingPathBuffer.append(m);
- }
- referencingPath = referencingPathBuffer.toString();
- } catch (EmptyStackException e) {
- }
- List<String> failedList = failed.get(referencingPath);
- if (failedList == null) {
- failedList = new ArrayList<String>();
- failed.put(referencingPath, failedList);
- }
- failedList.add(referencedClass);
- }
-
- /**
- * {@inheritDoc}
- */
- public Collection getClosure() {
- return Collections.unmodifiableCollection(methodReferences);
- }
-
- /**
- * {@inheritDoc}
- */
- public Map getFailed() {
- return Collections.unmodifiableMap(failed);
- }
-
- /**
- * Reset the closure for next closure computation.
- * Clear the internal cache. It includes the result it has collected since
- * last reset(). But it does not clear the excludedd list. If you want to
- * reset the excluded list, create a new ClosureCompiler.
- */
- public void reset() {
- methodReferences.clear();
- visitedClasses.clear();
- failed.clear();
- closure.clear();
- }
-
- /**
- * @param className name of class in external format.
- * @return
- */
- protected boolean needToLoad(String className) {
- return !closure.contains(className);
- }
-
- protected boolean needToBuildClosure(MethodRef methodRef) {
- boolean result = true;
- final String owningClassName = methodRef.getOwningClassName();
- if (visitedMethods.contains(methodRef))
- result = false;
- else if (excludedClasses.contains(owningClassName)) {
- result = false;
- } else if (excludedPackages.contains(getPackageName(owningClassName))) {
- result = false;
- } else {
- for (Iterator i = excludedPatterns.iterator(); i.hasNext();) {
- String pattern = (String) i.next();
- if (owningClassName.startsWith(pattern)) {
- result = false;
- break;
- }
- }
- }
- logger.logp(Level.FINEST, myClassName, "needToBuildClosure", // NOI18N
- methodRef + " " + result); // NOI18N
- return result;
- }
-
- // used for pretty printing
- public String toString() {
- StringBuilder sb=new StringBuilder();
- if(logger.isLoggable(Level.FINER)){
- sb.append("\n<Closure>"); // NOI18N
-
- sb.append("\n\t<ExcludedClasses>"); // NOI18N
- for(Iterator i=excludedClasses.iterator(); i.hasNext();) {
- sb.append("\n\t\t"); // NOI18N
- sb.append((String)i.next());
- }
- sb.append("\n\t</ExcludedClasses>"); // NOI18N
-
- sb.append("\n\t<ExcludedPackages>"); // NOI18N
- for(Iterator i=excludedPackages.iterator(); i.hasNext();){
- sb.append("\n\t\t"); // NOI18N
- sb.append((String)i.next());
- }
- sb.append("\n\t</ExcludedPackages>"); // NOI18N
-
- sb.append("\n\t<ExcludedPatterns>"); // NOI18N
- for(Iterator i=excludedPatterns.iterator(); i.hasNext();){
- sb.append("\n\t\t"); // NOI18N
- sb.append((String)i.next());
- }
- sb.append("\n\t</ExcludedPatterns>"); // NOI18N
-
- sb.append("\n\t<Methods>"); // NOI18N
- for(MethodRef m : methodReferences){
- sb.append("\n\t\t"); // NOI18N
- sb.append(m);
- }
- sb.append("\n\t</Methods>"); // NOI18N
-
- sb.append("\n\t<Closure>"); // NOI18N
- for(String c : closure){
- sb.append("\n\t\t"); // NOI18N
- sb.append(c);
- }
- sb.append("\n\t</Closure>"); // NOI18N
- }
- sb.append("\n\t<Failed>"); // NOI18N
- for(Iterator i=failed.entrySet().iterator(); i.hasNext();) {
- Map.Entry referencingPathToFailedList=(Map.Entry)i.next();
- sb.append("\n\t\t"); // NOI18N
- sb.append("<ReferencingPath>"); // NOI18N
- sb.append("\n\t\t\t"); // NOI18N
- sb.append(referencingPathToFailedList.getKey());
- sb.append("\n\t\t"); // NOI18N
- sb.append("</ReferencingPath>"); // NOI18N
- sb.append("\n\t\t"); // NOI18N
- sb.append("<Classes>"); // NOI18N
- for(Iterator iii=((List)referencingPathToFailedList.getValue()).iterator(); iii.hasNext();){
- sb.append("\n\t\t\t"); // NOI18N
- sb.append((String)iii.next());
- }
- sb.append("\n\t\t"); // NOI18N
- sb.append("</Classes>"); // NOI18N
- }
- sb.append("\n\t</Failed>"); // NOI18N
- if(logger.isLoggable(Level.FINER)){
- sb.append("\n</Closure>"); // NOI18N
- }
- return sb.toString();
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMMethod.java
deleted file mode 100644
index 53a519f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ASMMethod.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import org.objectweb.asm.*;
-
-import java.util.*;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-import java.lang.ref.SoftReference;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-class ASMMethod extends MethodVisitor implements Method{
-
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- private static Logger logger = Logger.getLogger("apiscan.classfile", resourceBundleName); // NOI18N
-
- private SoftReference<ClassFile> owningClass;
-
- private String descriptor;
-
- private int access;
-
- private String signature;
-
- private String[] exceptions;
-
- private String name;
-
- private Set<MethodRef> referencedMethods = new HashSet<MethodRef>();
-
- private Set<String> referencedClasses = new HashSet<String>();
-
- // A reference to represent itself
- private MethodRef methodRef;
-
- public ASMMethod(
- ClassFile owningClass, String name, String descriptor, int access,
- String signature, String[] exceptions) {
- super(Opcodes.ASM7);
- this.owningClass = new SoftReference<ClassFile>(owningClass);
- this.name = name;
- this.descriptor = descriptor;
- this.access = access;
- this.signature = signature;
- if(exceptions==null) {
- this.exceptions = new String[0];
- } else {
- this.exceptions = exceptions;
- }
- }
-
- public ClassFile getOwningClass() {
- return owningClass.get();
- }
-
- public String getName() {
- return name;
- }
-
- public String getDescriptor() {
- return descriptor;
- }
-
- public Collection<MethodRef> getReferencedMethods() {
- return Collections.unmodifiableCollection(referencedMethods);
- }
-
- public Collection<String> getReferencedClasses() {
- return Collections.unmodifiableCollection(referencedClasses);
- }
-
- // TODO: Not yet synchronized.
- public MethodRef getSelfReference() {
- if(methodRef==null){
- methodRef = new MethodRef(owningClass.get().getInternalName(), name, descriptor);
- }
- return methodRef;
- }
-
- public boolean isNative() {
- return (access & Opcodes.ACC_NATIVE) == Opcodes.ACC_NATIVE;
- }
-
- @Override public void visitFieldInsn(
- int opcode, String owner, String name, String desc) {
-// logger.entering(
-// "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMMethod", "visitFieldInsn", // NOI18N
-// new Object[]{AbstractVisitor.OPCODES[opcode], owner, name, desc});
- addClass(owner);
- }
-
- @Override public void visitTryCatchBlock(
- Label start, Label end, Label handler, String type) {
- logger.entering(
- "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMMethod", "visitTryCatchBlock", // NOI18N
- new Object[]{type});
- if(type!=null) { // try-finally comes as null
- addClass(type);
- }
- }
-
- public void visitMethodInsn(
- int opcode, String owner, String name, String desc) {
-// logger.entering(
-// "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMMethod", "visitMethodInsn", new Object[]{ // NOI18N
-// AbstractVisitor.OPCODES[opcode], owner, name, desc});
- addMethod(owner, name, desc);
- }
-
- // things like instanceof, checkcast, new, newarray and anewarray
- @Override public void visitTypeInsn(int opcode, String desc) {
-// logger.entering(
-// "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMMethod", "visitTypeInsn", new Object[]{ // NOI18N
-// AbstractVisitor.OPCODES[opcode], desc});
- switch (opcode) {
- case Opcodes.INSTANCEOF:
- case Opcodes.CHECKCAST:
- case Opcodes.ANEWARRAY:
- addClass(desc);
- break;
- case Opcodes.NEW:
- // skip as class gets added during constructor call.
- break;
- case Opcodes.NEWARRAY:
- // primitive type array, so skip
- break;
- default:
-// logger.logp(Level.WARNING, "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMMethod", "visitTypeInsn", // NOI18N
-// getClass().getName() + ".warning1", AbstractVisitor.OPCODES[opcode]); // NOI18N
- break;
- }
- }
-
- @Override public void visitMultiANewArrayInsn(String desc, int dims) {
- logger.entering(
- "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMMethod", "visitMultiANewArrayInsn", // NOI18N
- new Object[]{desc});
- addClass(desc);
- }
-
- @Override public String toString() {
- StringBuilder sb = new StringBuilder(
- decodeAccessFlag(access) +
- name +
- " " + // NOI18N
- descriptor+
- "{\n"); // NOI18N
- for(MethodRef mr : referencedMethods){
- sb.append(mr).append("\n"); // NOI18N
- }
- sb.append("}"); // NOI18N
- return sb.toString();
- }
-
- public int getAccess() {
- return access;
- }
-
- public String getSignature() {
- return signature;
- }
-
- /**
- * {@inheritDoc}
- */
- public String[] getExceptions() {
- return exceptions;
- }
-
- private void addClass(String nameOrTypeDescriptor) {
- //sometimes we get names like Ljava.lang.Integer; or [I. So we need
- // to decode the names.
- if (nameOrTypeDescriptor.indexOf(';') != -1 ||
- nameOrTypeDescriptor.indexOf('[') != -1) {
- referencedClasses.addAll(
- typeDescriptorToClassNames(nameOrTypeDescriptor));
- } else {
- referencedClasses.add(nameOrTypeDescriptor);
- }
- }
-
- private void addMethod(String owner, String name, String desc) {
- addClass(owner);
- // We don't need the following code as this is not required.
- // because if everything is null, then no class gets loaded.
-// for(String embeddedClassName : typeDescriptorToClassNames(desc)) {
-// referencedClasses.add(embeddedClassName);
-// }
- referencedMethods.add(new MethodRef(owner, name, desc));
- }
-
- public static String decodeAccessFlag(int access) {
- StringBuilder result = new StringBuilder("");
- if ((access & Opcodes.ACC_PRIVATE) == Opcodes.ACC_PRIVATE) {
- result.append("private "); // NOI18N
- } else if ((access & Opcodes.ACC_PROTECTED) == Opcodes.ACC_PROTECTED) {
- result.append("protected "); // NOI18N
- } else if ((access & Opcodes.ACC_PUBLIC) == Opcodes.ACC_PUBLIC) {
- result.append("public "); // NOI18N
- }
- if ((access & Opcodes.ACC_ABSTRACT) == Opcodes.ACC_ABSTRACT) {
- result.append("abstract "); // NOI18N
- } else if ((access & Opcodes.ACC_FINAL) == Opcodes.ACC_FINAL) {
- result.append("final "); // NOI18N
- } else if ((access & Opcodes.ACC_STATIC) == Opcodes.ACC_STATIC) {
- result.append("static "); // NOI18N
- }
- if ((access & Opcodes.ACC_NATIVE) == Opcodes.ACC_NATIVE) {
- result.append("native "); // NOI18N
- }
- return result.toString();
- }
-
- private static List<String> typeDescriptorToClassNames(String signature) {
- logger.entering(
- "com.sun.enterprise.tools.verifier.apiscan.classfile.ASMMethod", "typeDescriptorToClassNames", // NOI18N
- new Object[]{signature});
- List<String> result = new ArrayList<String>();
- int i = 0;
- while ((i = signature.indexOf('L', i)) != -1) {
- int j = signature.indexOf(';', i);
- if (j > i) {
- // get name, minus leading 'L' and trailing ';'
- String className = signature.substring(i + 1, j);
- if (!Util.isPrimitive(className)) result.add(className);
- i = j + 1;
- } else
- break;
- }
- if (logger.isLoggable(Level.FINE)) {
- StringBuffer sb = new StringBuffer("Class Names are {"); // NOI18N
- int size = result.size();
- for (int k = 0; k < size; k++) {
- sb.append((String) result.get(k));
- if (k != size - 1) sb.append(", "); // NOI18N
- }
- sb.append("}"); // NOI18N
- logger.finer(sb.toString());
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFile.java
deleted file mode 100644
index b5e261d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFile.java
+++ /dev/null
@@ -1,266 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * Main.java
- *
- * Created on August 10, 2004, 9:21 AM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.Collections;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.sun.org.apache.bcel.internal.classfile.ClassParser;
-import com.sun.org.apache.bcel.internal.classfile.ConstantClass;
-import com.sun.org.apache.bcel.internal.classfile.DescendingVisitor;
-import com.sun.org.apache.bcel.internal.classfile.EmptyVisitor;
-import com.sun.org.apache.bcel.internal.classfile.Field;
-import com.sun.org.apache.bcel.internal.classfile.JavaClass;
-import com.sun.org.apache.bcel.internal.classfile.Method;
-
-/**
- * This is an implementation of {@link ClassFile} interface. It uses Apache's
- * BCEL library in its implementation.
- * This is a thread safe implementation of ClassFile interface.
- * This is NOT a public class. Access thru' {@link ClassFile} interface.
- * Use {@link ClassFileLoaderFactory} to create new instances of this class.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-class BCELClassFile implements ClassFile {
-
- private JavaClass jc;
- private Set<String> classNames;
- private HashSet<BCELMethod> methods = new HashSet<BCELMethod>();
- private static Logger logger = Logger.getLogger("apiscan.classfile"); // NOI18N
- //This is constant used during logging
- private static final String myClassName = "apiscan.classfile.BCELClassFile"; // NOI18N
-
- /**
- * @param is is could be a Zip or Jar InputStream or a regular
- * InputStream.
- * @param file_name is the name of the .class file. If is a Zip or Jar Input
- * stream, then this name should just be the entry path,
- * because it is used internally in the is.getEntry(file_name)
- * to locate the .class file. If is is a regular stream,
- * then file_name should not be really needed, I don't have
- * a choice as BCEL ClassFile does not have a constructor
- * that just takes an InputStream. Any way, if is is a
- * regular stream, then it should either be the internal
- * name of the class or the path to the actual .class file
- * that the input stream represents. This constructor does
- * not check if the ClassFile created here indeed
- * represents the class that is being requested. That check
- * should be done by ClassFileLoader.
- */
- public BCELClassFile(InputStream is, String file_name) throws IOException {
- logger.entering(myClassName, "<init>(InputStream, String)", file_name); // NOI18N
- jc = new ClassParser(is, file_name).parse();
- }
-
- //In contrast to the other constructor, here class_path is the path to the
- // .class file.
- /**
- * @param file_path Absolute path to the .class file.
- */
- public BCELClassFile(String file_path) throws IOException {
- logger.entering(myClassName, "<init>(String)", file_path); // NOI18N
- jc = new ClassParser(file_path).parse();
- }
-
- /* Now the ClassFile interface implementation methods */
-
- //See ClassFile interface for description.
- public synchronized Collection getAllReferencedClassNamesInInternalForm() {
- if (classNames == null) {
- classNames = new HashSet<String>();//lazy instantiation
- logger.logp(Level.FINER, myClassName, "getAllReferencedClassNames", // NOI18N
- "Starting to visit"); // NOI18N
- jc.accept(new DescendingVisitor(jc, new Visitor(this)));
- logger.logp(Level.FINER, myClassName, "getAllReferencedClassNames", // NOI18N
- "Finished visting"); // NOI18N
- classNames = Collections.unmodifiableSet(classNames);
- }
- return classNames;
- }
-
- public synchronized Collection<String> getAllReferencedClassNames() {
- if (classNames == null) {
- getAllReferencedClassNamesInInternalForm();
- }
- HashSet<String> extClassNames = new HashSet<String>(classNames.size());
- for (Iterator i = classNames.iterator(); i.hasNext();) {
- extClassNames.add(Util.convertToExternalClassName((String) i.next()));
- }
- return extClassNames;
- }
-
- //See ClassFile interface for description.
- //see getInternalName() as well
- //IMPORTANT: Does not deal with the case where Goo is an inner class in
- // Foo$Bar class.
- //It should return Foo$Bar.Goo, but it returns Foo$Bar$Goo
- //Irrespective of this, it can be safely used from getInternalName()
- public String getName() {
- return jc.getClassName();
- }
-
- //See ClassFile interface for description.
- public String getInternalName() {
- return Util.convertToInternalClassName(getName());
- }
-
- //See ClassFile interface for description.
- public String getPackageName() {
- //not necessary as we always use external name for package. .replace('.','/');
- return jc.getPackageName();
- }
-
- public Collection<? extends com.sun.enterprise.tools.verifier.apiscan.classfile.Method>
- getMethods() {
- return Collections.unmodifiableSet(methods);
- }
-
- public com.sun.enterprise.tools.verifier.apiscan.classfile.Method
- getMethod(MethodRef methodRef) {
- throw new UnsupportedOperationException();
- }
-
- public String getNameOfSuperClass() {
- return jc.getSuperclassName();
- }
-
- public String getInternalNameOfSuperClass() {
- return Util.convertToInternalClassName(getNameOfSuperClass());
- }
-
- public String[] getNamesOfInterfaces() {
- return jc.getInterfaceNames();
- }
-
- public String[] getInternalNamesOfInterfaces() {
- String[] result = getNamesOfInterfaces();
- for(int i = 0; i< result.length; ++i) {
- result[i] = Util.convertToInternalClassName(result[i]);
- }
- return result;
- }
-
- public boolean isInterface() {
- return !jc.isClass();
- }
-
- public String toString() {
- return
- "External Name: " + getName() + "\n" + // NOI18N
- "Internal Name: " + getInternalName() + "\n" + // NOI18N
- jc.toString()
- + "\n------------CONSTANT POOL BEGIN--------------\n" // NOI18N
- + jc.getConstantPool()
- + "\n------------CONSTANT POOL END--------------"; // NOI18N
- }
-
- //returns a list of all the classnames embedded in the given signature string.
- //This method knows about basic data types, so for them classname is not returned.
- //e.g. given below are the signature string and class name that would be
- // returned by this call...
- // Ljava/lang/Integer; {java/lang/Integer}
- // [Ljava/lang/Integer; {java/lang/Integer}
- // [[I {}
- // I {I}
- // (F[La/b/P;La/b/Q;[[La/b/P;)I {a/b/P, a/b/Q, a/b/P}
- // a method like "int foo(float f, a/b/P[] ps, a/b/Q q, a/b/P[][] pss)" will
- // have above signature.
- private static List<String> signatureToClassNames(String signature) {
- logger.entering(myClassName, "signatureToClassNames", signature); // NOI18N
- List<String> result = new ArrayList<String>();
- int i = 0;
- while ((i = signature.indexOf('L', i)) != -1) {
- int j = signature.indexOf(';', i);
- if (j > i) {
- // get name, minus leading 'L' and trailing ';'
- String className = signature.substring(i + 1, j);
- if (!Util.isPrimitive(className)) result.add(className);
- i = j + 1;
- } else
- break;
- }
- if (logger.isLoggable(Level.FINE)) {
- StringBuffer sb = new StringBuffer("Class Names are {"); // NOI18N
- int size = result.size();
- for (int k = 0; k < size; k++) {
- sb.append((String) result.get(k));
- if (k != size - 1) sb.append(", "); // NOI18N
- }
- sb.append("}"); // NOI18N
- logger.finer(sb.toString());
- }
- return result;
- }
-
- //an inner class
- private class Visitor extends EmptyVisitor {
- BCELClassFile cf;
- public Visitor(BCELClassFile cf) {
- this.cf = cf;
- }
-
- /* Now override the visitor methods of our interest from EmptyVisitor class. */
- /**
- */
- public void visitConstantClass(ConstantClass obj) {
- logger.entering(myClassName, "visitConstantClass", obj); // NOI18N
- String className = obj.getBytes(jc.getConstantPool());
- logger.finer("Class name is " + className); // NOI18N
- //sometimes we get names like Ljava.lang.Integer; or [I. So we need
- // to decode the names.
- //A good test case is java/io/ObjectInputStream.class
- if (className.indexOf(';') != -1 || className.indexOf('[') != -1) {
- classNames.addAll(signatureToClassNames(className));
- } else {
- classNames.add(className);
- }
- }
-
- public void visitField(Field field) {
- logger.entering(myClassName, "visitField", field); // NOI18N
- String signature = field.getSignature();
- logger.finer("Signature is " + signature); // NOI18N
- //for BCEL 5.1, use field.getType().getSignature() if the above does
- //not work
- classNames.addAll(signatureToClassNames(signature));
- }
-
- public synchronized void visitMethod(Method method) {
- logger.entering(myClassName, "visitMethod", method); // NOI18N
- String signature = method.getSignature();
- logger.finer("Signature is " + signature); // NOI18N
- methods.add(new BCELMethod(cf, method));
- classNames.addAll(signatureToClassNames(signature));
- }
- }//class Visitor
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFileLoader.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFileLoader.java
deleted file mode 100644
index 9e45648..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFileLoader.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * BCELClassFileLoader.java
- *
- * Created on September 7, 2004, 5:41 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.net.MalformedURLException;
-import java.net.URL;
-import java.net.URLClassLoader;
-import java.net.URLConnection;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * *This is a factory for {@link BCELClassFile}. This is not a public class, as
- * I expect users to use {@link ClassFileLoaderFactory} interface. This class
- * internally uses the the standard Java ClassLoader to load the resource and
- * construct BCELClassFile object out of it.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-class BCELClassFileLoader implements ClassFileLoader {
-
- private ClassLoader cl;
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- private static Logger logger = Logger.getLogger("apiscan.classfile", resourceBundleName); // NOI18N
- private final static String myClassName = "BCELClassFileLoader"; // NOI18N
-
- /**
- * Creates a new instance of BCELClassFileLoader.
- *
- * @param cp that will be used to create a new java.net.URLClassLoader. In
- * subsequent load operations, this classloader will be used.
- */
- public BCELClassFileLoader(String cp) {
- ArrayList<URL> urls = new ArrayList<URL>();
- for (StringTokenizer st = new StringTokenizer(cp, File.pathSeparator);
- st.hasMoreTokens();) {
- String entry = st.nextToken();
- try {
- // toURI().toURL() takes care of all the escape characters
- // in the absolutePath. The toURI() method encodes all escape
- // characters. Later URLClassLoader decodes and regenerates
- // correct escape characters.
- urls.add(new File(entry).toURI().toURL());
- } catch (MalformedURLException e) {
- logger.logp(Level.WARNING, myClassName, "init<>", getClass().getName() + ".exception1", new Object[]{entry});
- logger.log(Level.WARNING, "", e);
- }
- }
- //We do not want system class loader or even extension class loadera s our parent.
- //We want only boot class loader as our parent. Boot class loader is represented as null.
- cl = new URLClassLoader((URL[]) urls.toArray(new URL[0]), null);
- }
-
- /**
- * Creates a new instance of BCELClassFileLoader.
- *
- * @param cl is the classloader that will be used in subsequent load
- * operations.
- */
- public BCELClassFileLoader(ClassLoader cl) {
- this.cl = cl;
- }
-
- //See corresponding method of ClassFileLoader
- public ClassFile load(String externalClassName) throws IOException {
- logger.entering("BCELClassFileLoader", "load", externalClassName); // NOI18N
- //URLClassLoader library expects me to pass in internal form.
- String internalClassName = externalClassName.replace('.', '/');
- URL resource = cl.getResource(internalClassName + ".class");
- //URLClassLoader returns null if resource is not found.
- if(resource == null)
- throw new IOException("Not able to load " + internalClassName + ".class");
- URLConnection urlcon = resource.openConnection();
- urlcon.setUseCaches(false); // bug 6328564
- InputStream is = urlcon.getInputStream();
- try {
- ClassFile cf = new BCELClassFile(is, internalClassName + ".class"); // NOI18N
- matchClassSignature(cf, externalClassName);
- return cf;
- } finally {
- is.close();
- }
- }
-
- //This method is neede to be protected against users who are passing us
- //internal class names instead of external class names or
- //when the file actually represents some other class, but it isnot
- //available in in proper package hierarchy.
- private void matchClassSignature(ClassFile cf, String externalClassName)
- throws IOException {
- String nameOfLoadedClass = cf.getName();
- if (!nameOfLoadedClass.equals(externalClassName)) {
- throw new IOException(externalClassName + ".class represents " +
- cf.getName() +
- ". Perhaps your package name is incorrect or you passed the " +
- "name using internal form instead of using external form.");
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFileLoader1.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFileLoader1.java
deleted file mode 100644
index bcc0991..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClassFileLoader1.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * BCELClassFileLoader.java
- *
- * Created on August 17, 2004, 9:28 AM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Logger;
-
-import com.sun.org.apache.bcel.internal.util.ClassPath;
-
-/**
- * Yet another factory for {@link BCELClassFile}. This is not a public class, as
- * I expect users to use {@link ClassFileLoaderFactory} interface. It differs
- * from {@link BCELClassFileLoader} in the sense that it loads classfiles using
- * bcel ClassPath class. Known Issues: Currently it ignores any INDEX
- * information if available in a Jar file. This is because BCEL provided class
- * ClassPath does not understand INDEX info. We should add this feature in
- * future.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-class BCELClassFileLoader1 implements ClassFileLoader {
-
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- private static Logger logger = Logger.getLogger("apiscan.classfile", resourceBundleName); // NOI18N
- private ClassPath cp;
-
- /**
- * Creates a new instance of BCELClassFileLoader User should use {link
- * ClassFileLoaderFactory} to create new instance of a loader.
- *
- * @param classPath represents the search path that is used by this loader.
- * Please note that, it does not read the manifest entries
- * for any jar file specified in the classpath, so if the
- * jar files have optional package dependency, that must be
- * taken care of in the classpath by ther caller.
- */
- public BCELClassFileLoader1(String classPath) {
- logger.entering("BCELClassFileLoader1", "<init>(String)", classPath); // NOI18N
- cp = new ClassPath(classPath);
- }
-
- //See ClassFileLoader for description of this method.
- public ClassFile load(String externalClassName) throws IOException {
- logger.entering("BCELClassFileLoader1", "load", externalClassName); // NOI18N
- //BCEL library expects me to pass in internal form.
- String internalClassName = externalClassName.replace('.', '/');
- //don't call getInputStream as it first tries to load using the
- // getClass().getClassLoader().getResourceAsStream()
- //return cp.getInputStream(extClassName);
- InputStream is = cp.getClassFile(internalClassName, ".class") // NOI18N
- .getInputStream();
- try {
- ClassFile cf = new BCELClassFile(is, internalClassName + ".class"); // NOI18N
- matchClassSignature(cf, externalClassName);
- return cf;
- } finally {
- is.close();
- }
- }
-
- //This method is neede to be protected against users who are passing us
- //internal class names instead of external class names or
- //when the file actually represents some other class, but it isnot
- //available in in proper package hierarchy.
- private void matchClassSignature(ClassFile cf, String externalClassName)
- throws IOException {
- String nameOfLoadedClass = cf.getName();
- if (!nameOfLoadedClass.equals(externalClassName)) {
- throw new IOException(
- externalClassName + ".class represents " +
- cf.getName() +
- ". Perhaps your package name is incorrect or you passed the" +
- " name using internal form instead of using external form.");
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClosureCompilerImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClosureCompilerImpl.java
deleted file mode 100644
index e461b68..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELClosureCompilerImpl.java
+++ /dev/null
@@ -1,232 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * BCELClosureCompilerImpl.java
- *
- * Created on August 13, 2004, 3:34 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.*;
-import java.util.logging.Level;
-
-/**
- * An implementation of {@link ClosureCompilerImplBase} based on
- * BCEL.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class BCELClosureCompilerImpl extends ClosureCompilerImplBase {
-
- /*
- * Earlier this class used to be called as ClosureCompilerImpl.
- * So to get the history of this file, use above name in CVS
- */
-
- private Stack<ClassFile> callStack = new Stack<ClassFile>();
-
- private HashSet<String> closure = new HashSet<String>();
-
- private HashSet<String> nativeMethods = new HashSet<String>();
-
- //map of refencing path to list of not found classes.
- private Map<String, List<String>> failed = new HashMap<String, List<String>>();
-
- private static final String myClassName = "BCELClosureCompilerImpl"; // NOI18N
-
- /**
- * @param loader the ClassFileLoader that is used to load the referenced
- * classes.
- */
- public BCELClosureCompilerImpl(ClassFileLoader loader) {
- super(loader);
- }
-
- //See corresponding method of ClosureCompiler for javadocs
- public boolean buildClosure(String className) {
- logger.entering(myClassName, "buildClosure", className); // NOI18N
- ClassFile cf;
- if (!needToBuildClosure(className))
- return true;
- try {
- cf = loader.load(className);
- } catch (IOException e) {
- handleFailure(className);
- return false;
- }
- return buildClosure(cf);
- }
-
- /**
- * @param cf class file whose closure needs to be computed. The behavior is
- * same as the other buildClosure() method.
- */
- private boolean buildClosure(ClassFile cf) {
- boolean result = true;
- callStack.push(cf);
- if (needToBuildClosure(cf.getName())) {
- visitedClasses.add(cf.getName());
- Collection<String> names = cf.getAllReferencedClassNames();
- closure.addAll(names);
- // TODO: We should not be doing this here. Its just a quick &
- // dirty solution.
- for(Method m : cf.getMethods()) {
- if(m.isNative()) {
- final String methodDesc =
- m.getOwningClass().getName()+ "." + m.getName(); // NOI18N
- nativeMethods.add(methodDesc);
- }
- }
- for (Iterator i = names.iterator(); i.hasNext();) {
- String nextExternalName = (String) i.next();
- if (!needToBuildClosure(nextExternalName)) continue;
- ClassFile next;
- try {
- next = loader.load(nextExternalName);
- } catch (IOException e) {
- result = false;
- handleFailure(nextExternalName);
- continue;
- }
- boolean newresult = buildClosure(next);//recurssive call
- result = newresult && result;
- }
- }
- callStack.pop();
- return result;
- }
-
- private void handleFailure(String referencedClass) {
- String referencingPath = "";
- try {
- StringBuilder referencingPathBuffer = new StringBuilder();
- for (Iterator i = callStack.iterator(); i.hasNext();) {
- if (referencingPathBuffer.length() != 0)
- referencingPathBuffer.append(File.separator);
- referencingPathBuffer.append(((ClassFile) i.next()).getName());
- }
- referencingPath = referencingPathBuffer.toString();
- } catch (EmptyStackException e) {
- }
- logger.finer(
- "Could not locate " + referencingPath + File.separator + // NOI18N
- referencedClass);
- List<String> failedList = failed.get(referencingPath);
- if (failedList == null) {
- failedList = new ArrayList<String>();
- failed.put(referencingPath, failedList);
- }
- failedList.add(referencedClass);
- }
-
- //See corresponding method of ClosureCompiler for javadocs
- public Collection getClosure() {
- return Collections.unmodifiableCollection(closure);
- }
-
- //See corresponding method of ClosureCompiler for javadocs
- public Map getFailed() {
- return Collections.unmodifiableMap(failed);
- }
-
- /**
- * Reset the closure for next closure computation.
- * Clear the internal cache. It includes the result it has collected since
- * last reset(). But it does not clear the excludedd list. If you want to
- * reset the excluded list, create a new ClosureCompiler.
- */
- public void reset() {
- closure.clear();
- visitedClasses.clear();
- failed.clear();
- nativeMethods.clear();
- }
-
- public Collection<String> getNativeMethods() {
- return Collections.unmodifiableCollection(nativeMethods);
- }
-
- public String toString() {
- StringBuilder sb=new StringBuilder();
- if(logger.isLoggable(Level.FINER)){
- sb.append("\n<Closure>"); // NOI18N
-
- sb.append("\n\t<ExcludedClasses>"); // NOI18N
- for(Iterator i=excludedClasses.iterator(); i.hasNext();) {
- sb.append("\n\t\t"); // NOI18N
- sb.append((String)i.next());
- }
- sb.append("\n\t</ExcludedClasses>"); // NOI18N
-
- sb.append("\n\t<ExcludedPackages>"); // NOI18N
- for(Iterator i=excludedPackages.iterator(); i.hasNext();){
- sb.append("\n\t\t"); // NOI18N
- sb.append((String)i.next());
- }
- sb.append("\n\t</ExcludedPackages>"); // NOI18N
-
- sb.append("\n\t<ExcludedPatterns>"); // NOI18N
- for(Iterator i=excludedPatterns.iterator(); i.hasNext();){
- sb.append("\n\t\t"); // NOI18N
- sb.append((String)i.next());
- }
- sb.append("\n\t</ExcludedPatterns>"); // NOI18N
-
- sb.append("\n\t<Classes>"); // NOI18N
- for(Iterator i=closure.iterator(); i.hasNext();){
- sb.append("\n\t\t"); // NOI18N
- sb.append((String)i.next());
- }
- sb.append("\n\t</Classes>"); // NOI18N
- }
- sb.append("\n\t<Failed>"); // NOI18N
- for(Iterator i=failed.entrySet().iterator(); i.hasNext();) {
- Map.Entry referencingPathToFailedList=(Map.Entry)i.next();
- sb.append("\n\t\t"); // NOI18N
- sb.append("<ReferencingPath>"); // NOI18N
- sb.append("\n\t\t\t"); // NOI18N
- sb.append(referencingPathToFailedList.getKey());
- sb.append("\n\t\t"); // NOI18N
- sb.append("</ReferencingPath>"); // NOI18N
- sb.append("\n\t\t"); // NOI18N
- sb.append("<Classes>"); // NOI18N
- for(Iterator iii=((List)referencingPathToFailedList.getValue()).iterator(); iii.hasNext();){
- sb.append("\n\t\t\t"); // NOI18N
- sb.append((String)iii.next());
- }
- sb.append("\n\t\t"); // NOI18N
- sb.append("</Classes>"); // NOI18N
- }
- sb.append("\n\t</Failed>"); // NOI18N
-
- sb.append("\n\t<NativeMethods>"); // NOI18N
- for(String s : nativeMethods) {
- sb.append("\n\t\t"); // NOI18N
- sb.append(s);
- }
- sb.append("\n\t</NativeMethods>"); // NOI18N
-
- if(logger.isLoggable(Level.FINER)){
- sb.append("\n</Closure>"); // NOI18N
- }
- return sb.toString();
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELMethod.java
deleted file mode 100644
index 1d8bf4f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/BCELMethod.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.util.Collection;
-import java.util.logging.Logger;
-import java.lang.ref.SoftReference;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class BCELMethod implements Method{
-
- private SoftReference<ClassFile> owningClass;
-
- private com.sun.org.apache.bcel.internal.classfile.Method method;
-
- private static Logger logger = Logger.getLogger("apiscan.classfile"); // NOI18N
-
- public BCELMethod(ClassFile owningClass,
- com.sun.org.apache.bcel.internal.classfile.Method method) {
- logger.entering("BCELMethod", "BCELMethod", // NOI18N
- new Object[]{owningClass.getName(), method.getName()});
- this.owningClass = new SoftReference<ClassFile>(owningClass);
- this.method = method;
- }
-
- public ClassFile getOwningClass() {
- return owningClass.get();
- }
-
- public String getName() {
- return method.getName();
- }
-
- public String getDescriptor() {
- return method.getSignature();
- }
-
- public int getAccess() {
- return method.getAccessFlags();
- }
-
- public String getSignature() {
- throw new UnsupportedOperationException();
- }
-
- public String[] getExceptions() {
- throw new UnsupportedOperationException();
- }
-
- public Collection<MethodRef> getReferencedMethods() {
- throw new UnsupportedOperationException();
- }
-
- public Collection<String> getReferencedClasses() {
- throw new UnsupportedOperationException();
- }
-
- public MethodRef getSelfReference() {
- throw new UnsupportedOperationException();
- }
-
- public boolean isNative() {
- return method.isNative();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFile.java
deleted file mode 100644
index 5c67a16..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFile.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ClassFile.java
- *
- * Created on August 17, 2004, 8:43 AM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.util.Collection;
-
-/**
- * This represents the information available in a Java .class file. This
- * interface is used by {@link ClosureCompilerImpl} for closure computation. The
- * interface only represents the information as needed by api scanning feature
- * in verifier. I expect it to evolve over time to something very similar to
- * BCEL's ClassFile. Now a note about different ways a Java class can be named
- * and in different places different names are used for the same Java class. 1)
- * In the format "p.a.b". This is what we use when declaring variables etc in a
- * Java code. I do not use this because this is not an unambiguous
- * representation of a Java class. By looking at p.a.b it is not possible to say
- * if b is an inner class in class p.a or b is an outer class in package p.a. 2)
- * In the format "p.outer$inner". It is what is used when we invoke java command
- * or Class.forName(). It is same as what is returned by
- * java.lang.Class.getName() method. It is an unambiguous representation of a
- * class name, because by looking at it, we can tell "inner" is an inner class
- * of a class "outer" which belongs to package p. By default our {@link
- * #getName()} returns in this format. 3) In the format "p/outer$inner" This is
- * the internal name of a class. It is called internal name because in byte code
- * this is what is encoded. It is again an unambiguous representation as this a
- * path expression. It is fairly simple to convert from 2 to 3 by a simple call
- * to String.replace('.','/'). Similarly to convert from 3 to 2, call
- * String.replace('/','.'); Here is a test of what you understood. What does
- * this class name "a$b.c$d.Foo$Bar$Goo" mean? "Goo" is an inner class in a
- * class "Foo$Bar" which is defined in a package "a$b.c$d".
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public interface ClassFile {
- /**
- * @return names of the classes that are directly referenced by this class.
- * The returned class names are in external form.
- */
- Collection<String> getAllReferencedClassNames();
-
- /**
- * @return names of the classes that are directly referenced by this class.
- * The returned class names are in internal form. This is done with
- * a purpose as it is easy to look up files with internal class
- * name.
- */
- Collection getAllReferencedClassNamesInInternalForm();
-
- /**
- * @return the external name of this Java class. External name is of the
- * form java.util.Map$Entry. It is what is used when we invoke java
- * command or Class.forName(). It is same as what is returned by
- * java.lang.Class.getName() method. Pl note that a Java Class name
- * and package name can contain $, so when you see a$b, don't assume
- * it is an inner class.
- * @see #getInternalName()
- */
- String getName();
-
- /**
- * @return the internal name of the Java class. Internal name is what is
- * available in file system, e.g. java/util/Map$Entry Pl note that a
- * Java Class name and package name can contain $, so when you see
- * a$b, don't assume it is an inner class.
- */
- String getInternalName();
-
- /**
- * @return internal package name of the Java class. Unlike class name,
- * package names do not have many forms. They are always specified
- * using dor notation (i.e. java.lang). See getName() method in
- * java.lang.Package class. Accordingly we have only one API for
- * package name. Returns "" for default package.
- */
- String getPackageName();
-
- /**
- * @return all the methods that are present in this class. This includes
- * methods that are added by compiler as well, e.g. clinit and init
- * methods.
- */
- Collection<? extends Method> getMethods();
-
- /**
- * @param methodRef is the reference of the method that is being looked for
- * @return return the method object that matches the guven criteria. null,
- * otherwise.
- */
- Method getMethod(MethodRef methodRef);
-
- /**
- * @return external name of super class
- */
- String getNameOfSuperClass();
-
- /**
- * @return internal name of super class. Every class other than
- * java.lang.Object has a super class.
- */
- String getInternalNameOfSuperClass();
-
- /**
- * @return external names of any interfaces implemented by this class.
- */
- String[] getNamesOfInterfaces();
-
- /**
- * @return internal names of any interfaces implemented by this class.
- */
- String[] getInternalNamesOfInterfaces();
-
- /**
- * @return true if this is an interface, else false
- */
- boolean isInterface();
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFileLoader.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFileLoader.java
deleted file mode 100644
index d14ccf4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFileLoader.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ClassFileLoader.java
- *
- * Created on August 13, 2004, 9:05 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.IOException;
-
-/**
- * This is loader for ClassFile similar to what ClassLoader is for class in
- * Java.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public interface ClassFileLoader {
- /**
- * @param externalClassName class name in external form. This is same as
- * what is used in java.lang.ClassLoader.load() or
- * Class.forName(). It is upto the implementation
- * to decide if they want to use caching or not.
- * @return The {@link ClassFile} loaded.
- * @throws IOException if specified class could not be found.
- * @see ClassFile
- */
- ClassFile load(String externalClassName) throws IOException;
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFileLoaderFactory.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFileLoaderFactory.java
deleted file mode 100644
index 70666fa..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClassFileLoaderFactory.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ClassFileLoaderFactory.java
- *
- * Created on August 24, 2004, 5:56 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.lang.reflect.Constructor;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * A factory for ClassFileLoader so that we can control the creation of
- * ClassFileLoaders. More over, this factory can be dynamically configured by
- * setting the Java class name of the actual ClassFileLoader type in the system
- * property apiscan.ClassFileLoader. See newInstance() method.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class ClassFileLoaderFactory {
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- private static Logger logger = Logger.getLogger("apiscan.classfile", resourceBundleName); // NOI18N
- private final static String myClassName = "ClassFileLoaderFactory"; // NOI18N
- /**
- * a factory method to create ClassFileLoader instance. It decides which
- * kind of loader class to instantioate based on the class name supplied by
- * the system property ClassFileLoader. If there is no such property set, it
- * defaults to {@link BCELClassFileLoader}
- *
- * @param args Search path to be used by the ClassFileLoader. Depending on
- * the type of the ClassFileLoader requested, the semantics of
- * this argument varies.
- * @throws RuntimeException If it could not instantiate the loader type
- * requested. The actual error is wrapped in this
- * exception.
- */
- public static ClassFileLoader newInstance(Object[] args)
- throws RuntimeException {
- logger.entering(myClassName, "newInstance", args); // NOI18N
- String loaderClassName = System.getProperty("apiscan.ClassFileLoader");
- if (loaderClassName == null) {
- loaderClassName =
- com.sun.enterprise.tools.verifier.apiscan.classfile.BCELClassFileLoader.class.getName();
- logger.logp(Level.FINE, myClassName, "newInstance", // NOI18N
- "System Property apiscan.ClassFileLoader is null, so defaulting to " + // NOI18N
- loaderClassName);
- }
- try {
- Class clazz = Class.forName(loaderClassName);
- Object o = null;
- Constructor[] constrs = clazz.getConstructors();
- for (int i = 0; i < constrs.length; ++i) {
- try {
- o = constrs[i].newInstance(args);
- } catch (IllegalArgumentException e) {
- //try another constr as this argument did not match the reqd types for this constr.
- }
- }
- if (o == null) throw new Exception(
- "Could not find a suitable constructor for this argument types.");
- logger.exiting(myClassName, "<init>", o); // NOI18N
- return (ClassFileLoader) o;
- } catch (Exception e) {
- logger.log(Level.SEVERE, "com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoaderFactory.exception1", e);
- throw new RuntimeException("Unable to instantiate a loader.", e);
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompiler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompiler.java
deleted file mode 100644
index acdc8af..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompiler.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ClosureCompiler.java
- *
- * Created on September 7, 2004, 5:02 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * This is single most important interface of the apiscan package. This class is
- * used to compute the complete closure of a set of classes.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- * @see ClosureCompilerImpl
- */
-public interface ClosureCompiler {
- /**
- * @param externalClsName class name (in external format) whose closure will
- * be computed.
- * @return true if it can compute the closure for all the classes that are
- * new to it, else false. In other words, this operation is not
- * idempotent. e.g. ClosureCompiler cc; cc.reset(); boolean
- * first=cc.buildClosure("a.B"); boolean second=cc.buildClosure("a.B");
- * second will always be true irrespective of value of first. This
- * is because it uses list of classes that it has already visited.
- * That list gets cleared when {@link #reset()} is called).
- */
- boolean buildClosure(String externalClsName);
-
- /**
- * @return unmodifiable collection of class names which it visited during
- * closure computation. e.g. Let's say a.class references b1.class
- * and b2.class. b1.class references c1.class, c2.class and c3.class
- * b2.class references d1.class, d2.class and d3.class.
- * c1/c2/d1/d2.class are all not loadable where as c3 and d3.class
- * are loadable. When we build the closure of a.class, closure will
- * contain the following... {"a", "b1", "b2", "c3", "d3"}
- */
- Collection getClosure();
-
- /**
- * @return unmodifiable collection of class names whose closure could not be
- * computed. The typical reason for not able to build closure for a
- * class is that class not being found in loader's search path. See
- * it returns a map which is keyed by the access path and the value
- * is a list of class names which could not be loaded. e.g. Let's
- * say a.class references b1.class and b2.class. b1.class references
- * c1.class, c2.class and c3.class b2.class references d1.class,
- * d2.class and d3.class. c1/c2/d1/d2.class are all not loadable
- * where as c3 and d3.class are loadable. When we build the closure
- * of a.class, failed map will contain the following... {("a:b1",
- * {"c1","c2"}), ("a.b2", {"d1","d2"})}
- */
- Map getFailed();
-
- /**
- * Clear the internal cache. It includes the result it has collected since
- * last reset(). But it does not clear the excludedd list. If you want to
- * reset the excluded list, create a new ClosureCompiler.
- */
- void reset();
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompilerImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompilerImpl.java
deleted file mode 100644
index 807f5c0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompilerImpl.java
+++ /dev/null
@@ -1,220 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.util.*;
-import java.util.logging.Logger;
-import java.io.IOException;
-import java.io.File;
-
-/**
- * This is single most important class of the apiscan package. This class is
- * used to compute the complete closure of a set of classes. It uses {@link
- * ClassFile} to find out dependencies of a class. For each references class
- * name, it loads the corresponding ClassFile using the ClassFileLoader passed
- * to it in constructor. Then it recurssively computes the dependencies until it
- * visits either Java primitive classes or the class name matches the exclude
- * list. Example of using this class is given below...
- * <blockquote><pre>
- * String classpath="your own classpath";
- * ClassFileLoader cfl=ClassFileLoaderFactory.newInstance(new
- * Object[]{classpath});
- * ClosureCompilerImpl cc=new ClosureCompilerImpl(cfl);
- * cc.addExcludePattern("java.");//exclude all classes that start with java.
- * Most of the J2SE classes will be excluded thus.
- * cc.addExcludePattern("javax.");//Most of the J2EE classes can be excluded
- * like this.
- * cc.addExcludePackage("org.omg.CORBA");//Exclude classes whose package name is
- * org.omg.CORBA
- * cc.addExcludeClass("mypackage.Foo");//Exclude class whose name is
- * myPackage.Foo
- * boolean successful=cc.buildClosure("a.b.MyEjb");
- * successful=cc.buildClosure("a.b.YourEjb") && successful; //note the order of
- * &&.
- * Collection closure=cc.getClosure();//now closure contains the union of
- * closure for the two classes.
- * Map failed=cc.getFailed();//now failure contains the union of failures for
- * the two classes.
- * cc.reset();//clear the results collected so far so that we can start afresh.
- * //Now you can again start computing closure of another set of classes.
- * //The excluded stuff are still valid.
- * </pre></blockquote>
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class ClosureCompilerImpl implements ClosureCompiler {
-
- /*
- * BRIDGE design pattern.
- * This is an abstraction. It delegates to an implementation.
- * It is bound to an implementation at runtime. See the constructor.
- */
-
- /**
- * an implementation to whom this abstraction delegates.
- * refer to bridge design pattern.
- */
- private ClosureCompilerImplBase imp;
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- private static Logger logger = Logger.getLogger("apiscan.classfile", resourceBundleName); // NOI18N
- private static final String myClassName = "ClosureCompilerImpl"; // NOI18N
-
- /**
- * @param loader the ClassFileLoader that is used to load the referenced
- * classes.
- */
- public ClosureCompilerImpl(ClassFileLoader loader) {
- /*
- * See how it binds to a runtime implementation
- * TODO: Ideally we should introduce an AbstractFactory for
- * both ClassFileLoader & ClassClosureCompiler product types.
- */
- if(loader instanceof ASMClassFileLoader){
- imp = new ASMClosureCompilerImpl(loader);
- } else if(loader instanceof BCELClassFileLoader ||
- loader instanceof BCELClassFileLoader1) {
- imp = new BCELClosureCompilerImpl(loader);
- } else {
- throw new RuntimeException("Unknown loader type [" + loader + "]");
- }
- }
-
- /**
- * I don't expect this constructor to be used. Only defined for
- * testing purpose.
- * @param imp the implementation in the bridge design pattern.
- */
- public ClosureCompilerImpl(ClosureCompilerImplBase imp) {
- this.imp = imp;
- }
-
- /**
- * @param className the class name to be excluded from closure
- * computation. It is in the external class name format
- * (i.e. java.util.Map$Entry instead of java.util.Map.Entry).
- * When the closure compiler sees a class matches this
- * name, it does not try to compute its closure any
- * more. It merely adds this name to the closure. So the
- * final closure will contain this class name, but not
- * its dependencies.
- */
- public void addExcludedClass(String className) {
- imp.addExcludedClass(className);
- }
-
- //takes in external format, i.e. java.util
- /**
- * @param pkgName the package name of classes to be excluded from
- * closure computation. It is in the external format
- * (i.e. java.lang (See no trailing '.'). When the
- * closure compiler sees a class whose package name
- * matches this name, it does not try to compute the
- * closure of that class any more. It merely adds that
- * class name to the closure. So the final closure will
- * contain that class name, but not its dependencies.
- */
- public void addExcludedPackage(String pkgName) {
- imp.addExcludedPackage(pkgName);
- }
-
- /**
- * @param pattern the pattern for the names of classes to be excluded from
- * closure computation. It is in the external format (i.e.
- * org.apache.). When the closure compiler sees a class whose
- * name begins with this pattern, it does not try to compute
- * the closure of that class any more. It merely adds that
- * class name to the closure. So the final closure will
- * contain that class name, but not its dependencies. Among
- * all the excluded list, it is given the lowest priority in
- * search order.
- */
- public void addExcludedPattern(String pattern) {
- imp.addExcludedPattern(pattern);
- }
-
- //See corresponding method of ClosureCompiler for javadocs
- public boolean buildClosure(String className) {
- logger.entering(myClassName, "buildClosure", className); // NOI18N
- return imp.buildClosure(className);
- }
-
- /**
- * @param jar whose classes it will try to build closure of. This is a
- * convenience method which iterates over all the entries in a
- * jar file and computes their closure.
- */
- public boolean buildClosure(java.util.jar.JarFile jar) throws IOException {
- return imp.buildClosure(jar);
- }
-
- //See corresponding method of ClosureCompiler for javadocs
- public Collection getClosure() {
- return imp.getClosure();
- }
-
- //See corresponding method of ClosureCompiler for javadocs
- public Map getFailed() {
- return imp.getFailed();
- }
-
- /**
- * Reset the closure for next closure computation.
- * Clear the internal cache. It includes the result it has collected since
- * last reset(). But it does not clear the excludedd list. If you want to
- * reset the excluded list, create a new ClosureCompiler.
- */
- public void reset() {
- imp.reset();
- }
-
- public Collection<String> getNativeMethods() {
- return imp.getNativeMethods();
- }
-
- public String toString() {
- return imp.toString();
- }
-
- public static void main(String[] args) {
- if (args.length < 2) {
- System.out.println(
- "Usage : java " + com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl.class.getName() + // NOI18N
- " <classpath> <external class name(s)>"); // NOI18N
- System.out.println("Example: to find the closure of " + // NOI18N
- "mypkg.MySessionBean which is packaged in myejb.jar run\n" + // NOI18N
- " java " + com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl.class.getName() + // NOI18N
- " path_to_j2ee.jar"+File.pathSeparator+"path_to_myejb.jar"+ // NOI18N
- " mypkg.MySessionBean"); // NOI18N
- System.exit(1);
- }
-
- String cp=args[0];
- System.out.println("Using classpath " + cp); // NOI18N
- ClassFileLoader cfl = ClassFileLoaderFactory.newInstance(
- new Object[]{cp});
- ClosureCompilerImpl closure = new ClosureCompilerImpl(cfl);
- closure.addExcludedPattern("java."); // NOI18N
- for (int i = 1; i < args.length; i++) {
- String clsName = args[i];
- System.out.println("Building closure for " + clsName); // NOI18N
- closure.reset();
- closure.buildClosure(clsName);
- System.out.println("The closure is [" + closure+"\n]"); // NOI18N
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompilerImplBase.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompilerImplBase.java
deleted file mode 100644
index 294373b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/ClosureCompilerImplBase.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.io.IOException;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Collection;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * This is the base class for classes that actually implement ClosureCompiler
- * interface, i.e. {@link BCELClosureCompilerImpl} and
- * {@link ASMClosureCompilerImpl}.
- * It contains common implementation for above classes.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public abstract class ClosureCompilerImplBase implements ClosureCompiler {
-
- protected ClassFileLoader loader;
-
- protected HashSet<String> excludedClasses = new HashSet<String>();
-
- protected HashSet<String> excludedPackages = new HashSet<String>();
-
- protected HashSet<String> excludedPatterns = new HashSet<String>();
-
- protected HashSet<String> visitedClasses = new HashSet<String>();
-
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- protected static final Logger logger = Logger.getLogger("apiscan.classfile", resourceBundleName); // NOI18N
-
- // used for logging
- private static final String myClassName = "ClosureCompilerImplBase"; // NOI18N
-
- /**
- * @param loader the ClassFileLoader that is used to load the referenced
- * classes.
- */
- protected ClosureCompilerImplBase(ClassFileLoader loader) {
- this.loader = loader;
- }
-
- /**
- * @param className the class name to be excluded from closure
- * computation. It is in the external class name format
- * (i.e. java.util.Map$Entry instead of java.util.Map.Entry).
- * When the closure compiler sees a class matches this
- * name, it does not try to compute its closure any
- * more. It merely adds this name to the closure. So the
- * final closure will contain this class name, but not
- * its dependencies.
- */
- public void addExcludedClass(String className) {
- excludedClasses.add(className);
- }
-
- /**
- * @param pkgName the package name of classes to be excluded from
- * closure computation. It is in the external format
- * (i.e. java.lang (See no trailing '.'). When the
- * closure compiler sees a class whose package name
- * matches this name, it does not try to compute the
- * closure of that class any more. It merely adds that
- * class name to the closure. So the final closure will
- * contain that class name, but not its dependencies.
- */
- public void addExcludedPackage(String pkgName) {
- excludedPackages.add(pkgName);
- }
-
- /**
- * @param pattern the pattern for the names of classes to be excluded from
- * closure computation. It is in the external format (i.e.
- * org.apache.). When the closure compiler sees a class whose
- * name begins with this pattern, it does not try to compute
- * the closure of that class any more. It merely adds that
- * class name to the closure. So the final closure will
- * contain that class name, but not its dependencies. Among
- * all the excluded list, it is given the lowest priority in
- * search order.
- */
- public void addExcludedPattern(String pattern) {
- excludedPatterns.add(pattern);
- }
-
- /**
- * @param jar whose classes it will try to build closure of. This is a
- * convenience method which iterates over all the entries in a
- * jar file and computes their closure.
- */
- public boolean buildClosure(java.util.jar.JarFile jar) throws IOException {
- boolean result = true;
- for (java.util.Enumeration entries = jar.entries();
- entries.hasMoreElements();) {
- String clsName = ((java.util.jar.JarEntry) entries.nextElement()).getName();
- if (clsName.endsWith(".class")) { // NOI18N
- String externalClsName = clsName.substring(0,
- clsName.lastIndexOf(".class")) // NOI18N
- .replace('/', '.');
- boolean newresult = this.buildClosure(externalClsName);
- result = newresult && result;
- }
- }//for all jar entries
- return result;
- }
-
- public Collection<String> getNativeMethods() {
- throw new UnsupportedOperationException();
- }
-
- /**
- * @param className name of class in external format.
- * @return
- */
- protected boolean needToBuildClosure(String className) {
- boolean result = true;
- if (visitedClasses.contains(className))
- result = false;
- else if (excludedClasses.contains(className)) {
- result = false;
- } else if (excludedPackages.contains(getPackageName(className))) {
- result = false;
- } else {
- for (Iterator i = excludedPatterns.iterator(); i.hasNext();) {
- String pattern = (String) i.next();
- if (className.startsWith(pattern)) {
- result = false;
- break;
- }
- }
- }
- logger.logp(Level.FINEST, myClassName, "needToBuildClosure", // NOI18N
- className + " " + result); // NOI18N
- return result;
- }
-
- /**
- * @param className name of class in external format.
- * @return package name in dotted format, e.g. java.lang for java.lang.void
- */
- protected static String getPackageName(String className) {
- int idx = className.lastIndexOf('.');
- if (idx != -1) {
- return className.substring(0, idx);
- } else
- return "";
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/Method.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/Method.java
deleted file mode 100644
index 472c784..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/Method.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.util.Collection;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public interface Method {
- /**
- * @return the {@link ClassFile} this method belongs to.
- */
- ClassFile getOwningClass();
-
- /**
- * @return the name of the method.
- */
- String getName();
-
- /**
- * @return return the descriptor, e.g. ([Ljava.lang.String;)V
- */
- String getDescriptor();
-
- /**
- * @return return the access flags.
- */
- int getAccess();
-
- /**
- * Used only when method's parameters or return type use generics.
- * @return
- */
- String getSignature();
-
- /**
- * @return the internal names of the method's exception classes. May be null.
- */
- String[] getExceptions();
-
- /**
- *
- * @return an unmodifiable collection of method references representing
- * the methods that are invoked directly (i.e. not recurssively) from this
- * method.
- */
- Collection<MethodRef> getReferencedMethods();
-
- /**
- *
- * @return an unmodifiable collection of class names in external format
- * representing the classes that are directly (i.e. not recurssively)
- * referenced by this method.
- */
- Collection<String> getReferencedClasses();
-
- /**
- * @return a reference that represents this method.
- */
- MethodRef getSelfReference();
-
- /**
- *
- * @return true if this is a native method else false
- */
- boolean isNative();
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/MethodRef.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/MethodRef.java
deleted file mode 100644
index 4dbbbf1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/MethodRef.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class MethodRef {
- private String owningClassNameInternal; // in internal form, e.g. com/acme/Address
-
- private String owningClassName; // in external form, i.e. java.lang.Object
-
- private String name; // main
-
- private String descriptor; // ([Ljava.lang.String;)I
-
- public static final String CLINIT_NAME = "<clinit>"; // NOI18N
-
- public static final String CLINIT_DESC = "()V"; // NOI18N
-
- public MethodRef(String owningClassNameInternal, String name, String descriptor) {
- this.owningClassNameInternal = owningClassNameInternal;
- this.owningClassName = Util.convertToExternalClassName(owningClassNameInternal);
- this.name = name;
- this.descriptor = descriptor;
- }
-
- public String getDescriptor() {
- return descriptor;
- }
-
- public String getOwningClassNameInternal() {
- return owningClassNameInternal;
- }
-
- public String getOwningClassName(){
- return owningClassName;
- }
-
- public String getName() {
- return name;
- }
-
- public boolean equals(Object o) {
- if (this == o) return true;
- if (!(o instanceof MethodRef)) return false;
- final MethodRef methodRef = (MethodRef) o;
- if (descriptor != null ?
- !descriptor.equals(methodRef.descriptor) :
- methodRef.descriptor != null)
- return false;
- if (name != null ?
- !name.equals(methodRef.name) : methodRef.name != null)
- return false;
- if (owningClassNameInternal != null ?
- !owningClassNameInternal.equals(methodRef.owningClassNameInternal) :
- methodRef.owningClassNameInternal != null)
- return false;
- return true;
- }
-
- public int hashCode() {
- int result;
- result = (owningClassNameInternal != null ? owningClassNameInternal.hashCode() : 0);
- result = 29 * result + (name != null ? name.hashCode() : 0);
- result = 29 * result +
- (descriptor != null ? descriptor.hashCode() : 0);
- return result;
- }
-
- @Override public String toString() {
- return owningClassNameInternal + "." + name + descriptor; // NOI18N
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/Util.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/Util.java
deleted file mode 100644
index a24c97c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/classfile/Util.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.classfile;
-
-import java.util.logging.Logger;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class Util {
-
- private static Logger logger = Logger.getLogger("apiscan.classfile"); // NOI18N
-
- private static final String myClassName = "Util"; // NOI18N
-
- /**
- * @param internalClsName is the name in internal format
- * @return the class name in external format, i,e. format used in reflection
- * API (e.g. Class.forName())
- */
- public static String convertToExternalClassName(String internalClsName) {
- return internalClsName.replace('/', '.');
- }
-
- /**
- * @param externalClsName is the name in internal format
- * @return the class name in internal format, i,e. format used in byte code
- */
- public static String convertToInternalClassName(String externalClsName) {
- return externalClsName.replace('.', '/');
- }
-
- public static boolean isPrimitive(String className) {
- logger.entering(myClassName, "isPrimitive", new Object[]{className}); // NOI18N
- boolean result = ("B".equals(className) || // NOI18N
- "C".equals(className) || // NOI18N
- "D".equals(className) || // NOI18N
- "F".equals(className) || // NOI18N
- "I".equals(className) || // NOI18N
- "J".equals(className) || // NOI18N
- "S".equals(className) || // NOI18N
- "Z".equals(className)); // NOI18N
- logger.exiting(myClassName, "isPrimitive", result); // NOI18N
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/Archive.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/Archive.java
deleted file mode 100644
index 8314ec3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/Archive.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * Archive.java
- *
- * Created on September 6, 2004, 9:10 AM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.packaging;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.List;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class Archive {
- private Manifest manifest;
- private File path;
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- private static Logger logger = Logger.getLogger("apiscan.archive", resourceBundleName); // NOI18N
- private static final String myClassName = "Archive"; // NOI18N
- private static Archive[] allOptPkgsInstalledInJRE;//note this is per JVM. It is lazily instantiated
- private static String thisClassName = "com.sun.enterprise.tools.verifier.apiscan.packaging.Archive"; // NOI18N
-
- //returns a unmodifiable collection of installed optional packages.
- //once the method is called, for subsequent calls it retuns the same list
- //even if new pkg is installed in JVM lib ext dir. This is in line with JVM operations.
- public static Archive[] getAllOptPkgsInstalledInJRE() {
- if (allOptPkgsInstalledInJRE != null) return allOptPkgsInstalledInJRE;
- synchronized (Archive.class) {
- if (allOptPkgsInstalledInJRE == null) {//double if check to avoid race condition
- final ArrayList<Archive> allPkgs = new ArrayList<Archive>();
- List ext_dirs = listAllExtDirs();
- for (Iterator iter = ext_dirs.iterator(); iter.hasNext();) {
- File ext_dir = new File((String) iter.next());
- ext_dir.listFiles(new FileFilter() {
- public boolean accept(File f) {
- if (!f.isDirectory()) {
- try (JarFile jf = new JarFile(f)) {
- allPkgs.add(new Archive(jf));
- logger.logp(Level.FINE, myClassName,
- "getAllOptPkgsInstalledInJRE", // NOI18N
- "Found an installed opt pkg " + // NOI18N
- f.getAbsolutePath());
- return true;
- } catch (Exception e) {
- logger.logp(Level.INFO, myClassName,
- "getAllOptPkgsInstalledInJRE", // NOI18N
- thisClassName + ".exception1", new Object[]{f.toString()});
- logger.log(Level.INFO, "", e);
- }
- }
- return false;
- }//accept()
- });
- }
- // Store in a tmp and update allOptPkgsInstalledInJre in a single instruction.
- final Archive[] tmp = new Archive[allPkgs.size()];
- allPkgs.toArray(tmp);
- allOptPkgsInstalledInJRE = tmp;
- }//if null
- }//synchronized
- return allOptPkgsInstalledInJRE;
- }
-
- private static List listAllExtDirs() {
- String ext_dirStr = new String(System.getProperty("java.ext.dirs"));
- logger.fine("Extension Dir Path is " + ext_dirStr); // NOI18N
- ArrayList<String> ext_dirs = new ArrayList<String>();
- StringTokenizer st = new StringTokenizer(ext_dirStr,
- File.pathSeparator);
- while (st.hasMoreTokens()) {
- String next = st.nextToken();
- ext_dirs.add(next);
- }
- return ext_dirs;
- }
-
- /**
- * Creates a new instance of Archive
- */
- public Archive(JarFile jar) throws IOException {
- manifest = jar.getManifest();
- path = new File(jar.getName());
- }
-
- //path represnets either a dir or a jar file path
- public Archive(File path) throws IOException {
- this.path = path.getCanonicalFile();
- }
-
- public String getClassPath() throws IOException {
- String cp = getManifest().getMainAttributes().getValue(
- Attributes.Name.CLASS_PATH);
- if (cp != null)
- return cp;
- else
- return "";
- }
-
- //lazy initialisation
- public synchronized Manifest getManifest() throws IOException {
- if (manifest == null) {
- if (path.isDirectory()) {
- File file = new File(
- path.getPath() + File.separator + JarFile.MANIFEST_NAME);
- if (file.exists()) {
- try (InputStream mis = new FileInputStream(file)) {
- manifest = new Manifest(mis);
- }
- }
- } else {
- JarFile jar = new JarFile(path);
- try {
- manifest = jar.getManifest();
- } finally {
- jar.close();
- }
- }
- if (manifest == null)
- manifest = new Manifest();
- }
- return manifest;
- }
-
- /**
- * @return the absolute path of this package. Depdnding on whether it was
- * constructed from a dir or a jar file, the returned path
- * represents either a file or a dir.
- */
- public String getPath() {
- return path.getAbsolutePath();
- }
-
- public Archive[] getBundledArchives() throws IOException {
- ArrayList<Archive> list = new ArrayList<Archive>();
- String parent = path.getParent() + File.separator;
- for (StringTokenizer st = new StringTokenizer(getClassPath());
- st.hasMoreTokens();) {
- String nextEntry = st.nextToken();
- String entryPath = parent + nextEntry;
- if (!new File(entryPath).exists()) {
- logger.logp(Level.FINE, myClassName, "getBundledArchives", // NOI18N
- entryPath +
- " does not exist, will try to see if this is a module whose name has been changed when archive was exploded."); // NOI18N
- String newNextEntry;
- //account for the fact that Class-Path may be specified as ./a.jar
- if (nextEntry.startsWith("./") && nextEntry.length() > 2) // NOI18N
- newNextEntry =
- nextEntry.substring("./".length()).replaceAll( // NOI18N
- "\\.", "_"); // NOI18N
- else
- newNextEntry = nextEntry.replaceAll("\\.", "_"); // NOI18N
-
- if (new File(parent, newNextEntry).exists()) {
- logger.logp(Level.FINE, myClassName, "getBundledArchives", // NOI18N
- "Using " + newNextEntry + " instead of " + nextEntry); // NOI18N
- entryPath = parent + newNextEntry;
- list.add(new Archive(new File(entryPath)));
- } else {
- logger.logp(Level.WARNING, myClassName,
- "getBundledArchives", // NOI18N
- thisClassName + ".error1", new Object[]{getPath(), nextEntry});
- }
- }
- list.add(new Archive(new File(entryPath)));
- }
- return (Archive[]) list.toArray(new Archive[0]);
- }
-
- /**
- * @return the list of installed optional packages that this package depends
- * on.
- */
- public ExtensionRef[] getExtensionRefs() throws IOException {
- ExtensionRef[] refs = new ExtensionRef[0];
- Manifest manifest = getManifest();
- String extensions = manifest.getMainAttributes().getValue(
- Attributes.Name.EXTENSION_LIST);
- ArrayList<ExtensionRef> extensionList = new ArrayList<ExtensionRef>();
- if (extensions != null) {
- for (StringTokenizer st = new StringTokenizer(extensions);
- st.hasMoreTokens();) {
- String extName = st.nextToken();
- ExtensionRef ref = new ExtensionRef(manifest, extName);
- extensionList.add(ref);
- }
- }
- refs = (ExtensionRef[]) extensionList.toArray(refs);
- return refs;
- }
-
- public String toString() {
- return getPath();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/ClassPathBuilder.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/ClassPathBuilder.java
deleted file mode 100644
index 5471a6f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/ClassPathBuilder.java
+++ /dev/null
@@ -1,338 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ClassPathBuilder.java
- *
- * Created on August 13, 2004, 6:52 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.packaging;
-
-import java.io.File;
-import java.io.FileFilter;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.StringTokenizer;
-import java.util.jar.JarFile;
-import java.util.logging.ConsoleHandler;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * This is a stand alone utility that recurssively computes the optional package
- * dependency of a jar file. Then it makes a classpath out of the same
- * information.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class ClassPathBuilder {
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- public static final Logger logger = Logger.getLogger("apiscan.packaging", resourceBundleName); // NOI18N
- private static final String myClassName = "ClassPathBuilder"; // NOI18N
-
- private static final String thisClassName = "com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder"; // NOI18N
-
- public static String buildClassPathForJar(JarFile jar) throws IOException {
- return buildClassPathForJar(new Archive(jar));
- }
-
- public static String buildClassPathForJar(File file) throws IOException {
- return buildClassPathForJar(new Archive(file));
- }
-
- public static String buildClassPathForRar(File file) throws IOException {
- return buildClassPathForRar(new Archive(file));
- }
-
- //It adds the incoming jar file to the classpath.
- public static String buildClassPathForJar(Archive jar) throws IOException {
- logger.entering(myClassName, "buildClassPathForJar", jar); // NOI18N
- StringBuffer classpath = new StringBuffer(
- jar.getPath() + File.pathSeparator);
-
- Archive[] archives = jar.getBundledArchives();
- classpath.append(convertToClassPath(archives));
- //now resolve installed exts.
- classpath.append(File.pathSeparator).append(
- convertToClassPath(getInstalledArchivesForJar(jar)));
- String result = removeDuplicates(classpath).toString();
- logger.exiting(myClassName, "buildClassPathForJar", result); // NOI18N
- return result;
- }
-
- //It adds the incoming jar file to the classpath.
- public static String buildClassPathForRar(Archive rar) throws IOException {
- logger.entering(myClassName, "buildClassPathForRar", rar); // NOI18N
- final StringBuffer classpath = new StringBuffer();
-
- // all the jar's inside the rar should be available in the classpath
- new File(rar.getPath()).listFiles(new FileFilter() {
- public boolean accept(File file) {
- if (file.getName().endsWith(".jar") && file.isFile()) { // NOI18N
- classpath.append(File.pathSeparator).append(file.getAbsolutePath());
- return true;
- }
- return false;
- }
- });
-
- Archive[] archives = rar.getBundledArchives();
- classpath.append(convertToClassPath(archives));
- //now resolve installed exts.
- classpath.append(File.pathSeparator).append(
- convertToClassPath(getInstalledArchivesForJar(rar)));
- String result = removeDuplicates(classpath).toString();
- logger.exiting(myClassName, "buildClassPathForRar", result); // NOI18N
- return result;
- }
-
- private static Archive[] getInstalledArchivesForJar(Archive jar)
- throws IOException {
- ArrayList<Archive> list = new ArrayList<Archive>();
- ExtensionRef[] extRefs = jar.getExtensionRefs();
- Archive[] bundled = jar.getBundledArchives();
- Archive[] allOptPkgs = Archive.getAllOptPkgsInstalledInJRE();
-
- //first go over all thebundled ones.
- for (int i = 0; i < extRefs.length; ++i) {
- ExtensionRef ref = extRefs[i];
- logger.logp(Level.FINE, myClassName, "getInstalledArchivesForJar", // NOI18N
- "Trying to find an optional package for \n" + ref); // NOI18N
- logger.logp(Level.FINE, myClassName, "getInstalledArchivesForJar", // NOI18N
- "Searching in the bundled optional package list."); // NOI18N
- Archive satisfyingPkg = null;
- for (int j = 0; j < bundled.length; ++j) {
- try {
- if (ref.isSatisfiedBy(bundled[j])) {
- satisfyingPkg = bundled[j];
- logger.logp(Level.INFO, myClassName,
- "getInstalledArchivesForJar", // NOI18N
- thisClassName + ".info1", new Object[]{satisfyingPkg.getPath()});
- break;
- }
- } catch (IOException e) {
- logger.logp(Level.WARNING, myClassName,
- "getInstalledArchivesForJar", // NOI18N
- thisClassName + ".exception1", new Object[]{bundled[j].getPath()});
- logger.log(Level.WARNING, "", e);
- }
- }
- logger.logp(Level.FINE, myClassName, "getInstalledArchivesForJar", // NOI18N
- "Searching in the installed optional package list."); // NOI18N
- //now go over installed refs.
- if (satisfyingPkg == null) {
- for (int j = 0; j < allOptPkgs.length; ++j) {
- try {
- if (ref.isSatisfiedBy(allOptPkgs[j])) {
- satisfyingPkg = allOptPkgs[j];
- logger.logp(Level.FINE, myClassName,
- "buildClassPathForJar", // NOI18N
- "Found a matching installed optional package " + // NOI18N
- satisfyingPkg.getPath());
- break;
- }
- } catch (IOException e) {
- logger.logp(Level.WARNING, myClassName,
- "getInstalledArchivesForJar", // NOI18N
- thisClassName + ".exception1", new Object[]{allOptPkgs[j].getPath()});
- logger.log(Level.WARNING, "", e);
- }
- }//for
- }//if
- if (satisfyingPkg != null) {
- list.add(satisfyingPkg);
- //TODO We are not supporting if the satisfyingPkg depends on some optional package.
- } else {
- logger.logp(Level.WARNING, myClassName, "buildClassPathForEar", thisClassName + ".warning1", new Object[]{ref.toString()});// NOI18N
- }
- }//for each ref
- return (Archive[]) list.toArray(new Archive[0]);
- }
-
- public static String buildClassPathForWar(JarFile war) throws IOException {
- return buildClassPathForWar(new Archive(war));
- }
-
- public static String buildClassPathForWar(File file) throws IOException {
- return buildClassPathForWar(new Archive(file));
- }
-
- public static String buildClassPathForWar(Archive war) throws IOException {
- final StringBuffer cp = new StringBuffer();
- if (new File(war.getPath()).isDirectory()) {
- final String explodedDir = war.getPath();
- //As per section#9.5 of Servlet 2.4 spec, WEB-INF/classes must be
- // ahead of WEB-INF/lib/*.jar in class-path.
- cp.append(
- explodedDir + File.separator + "WEB-INF" + File.separator +
- "classes" +
- File.separator);
- File[] jarFiles = new File(
- explodedDir + File.separator + "WEB-INF" + File.separator +
- "lib").listFiles(new FileFilter() {
- public boolean accept(File file) {
- if (file.getName().endsWith(".jar") &&
- file.isFile()) {
- cp.append(File.pathSeparator).append(
- file.getAbsolutePath());
- return true;
- }
- return false;
- }
- });
-
- } else {
- assert(false);//We must explode the war. TBD. Anyway never reached from verifier.
- }
-
- Archive[] archives = war.getBundledArchives();
- cp.append(File.pathSeparator).append(convertToClassPath(archives));
-
- //now resolve installed exts.
- cp.append(File.pathSeparator).append(
- convertToClassPath(getInstalledArchivesForJar(war)));
- String result = removeDuplicates(cp).toString();
- logger.exiting(myClassName, "buildClassPathForWar", result);
- return result;
- }
-
- public static String buildClassPathForEar(JarFile ear) throws IOException {
- return buildClassPathForEar(new Archive(ear));
- }
-
- public static String buildClassPathForEar(File fileOrDir)
- throws IOException {
- return buildClassPathForEar(new Archive(fileOrDir));
- }
-
- public static String buildClassPathForEar(Archive jar) throws IOException {
- logger.entering(myClassName, "buildClassPathForEar", jar);
- StringBuffer classpath = new StringBuffer();
- //See we do not care about bundled opt packages, as for an ear file
- //there should not be any Class-Path entry.
- ExtensionRef[] extRefs = jar.getExtensionRefs();
- Archive[] allOptPkgs = Archive.getAllOptPkgsInstalledInJRE();
- for (int i = 0; i < extRefs.length; ++i) {
- ExtensionRef ref = extRefs[i];
- logger.logp(Level.FINE, myClassName, "buildClassPathForEar",
- "Finding an installed optional package matching extension ref\n" +
- ref);
- Archive satisfyingPkg = null;
- for (int j = 0; j < allOptPkgs.length; ++j) {
- if (ref.isSatisfiedBy(allOptPkgs[j])) {
- satisfyingPkg = allOptPkgs[j];
- break;
- }
- }
- if (satisfyingPkg != null) {
- logger.logp(Level.FINE, myClassName, "buildClassPathForEar",
- "Found an installed optional package " +
- satisfyingPkg.getPath());
- if (classpath.length() != 0)
- classpath.append(File.pathSeparator);
- classpath.append(satisfyingPkg.getPath());
- try {
- String depCP = buildClassPathForJar(satisfyingPkg);
- classpath.append(File.pathSeparator).append(depCP);
- } catch (IOException e) {
- logger.logp(Level.WARNING, myClassName,
- "buildClassPathForEar",
- "Ignoring " + satisfyingPkg.getPath(), e);
- }
- } else {
- logger.logp(Level.WARNING, myClassName, "buildClassPathForEar",
- "Could not find an installed optional package for \n" +
- ref);
- }
- }//for each ref
- File[] archives =
- new File(jar.getPath()).listFiles(new FileFilter() {
- public boolean accept(File pathname) {
- return pathname.getName().endsWith("_rar");
- }
- });
- for (File archive : archives) {
- String rarCP = buildClassPathForRar(archive);
- classpath.append(File.pathSeparator).append(rarCP);
- }
- String result = removeDuplicates(classpath).toString();
- logger.exiting(myClassName, "buildClassPath", result);
- return result;
- }
-
- private static StringBuffer convertToClassPath(Archive[] archives) {
- StringBuffer cp = new StringBuffer();
- for (int i = 0; i < archives.length; ++i) {
- if (i != 0) cp.append(File.pathSeparatorChar);
- cp.append(archives[i].getPath());
- }
- return cp;
- }
-
- private static StringBuffer removeDuplicates(StringBuffer cp) {
- ArrayList<String> tokens = new ArrayList<String>();
- for (StringTokenizer st = new StringTokenizer(cp.toString(),
- File.pathSeparator);
- st.hasMoreTokens();) {
- String next = st.nextToken();
- if (!tokens.contains(next)) tokens.add(next);
- }
- StringBuffer result = new StringBuffer();
- for (int j = 0; j < tokens.size(); ++j) {
- if (j != 0) result.append(File.pathSeparator);
- result.append(tokens.get(j));
- }
- return result;
- }
-
- public static void main(String[] args) {
- if (args.length < 1) {
- System.out.println(
- "Usage : java " + ClassPathBuilder.class.getName() +
- " <path(s) to jar files>");
- }
- Logger logger = Logger.getLogger("apiscan");
- Handler h = new ConsoleHandler();
- h.setLevel(Level.ALL);
- logger.addHandler(h);
- logger.setLevel(Level.ALL);
-
- for (int i = 0; i < args.length; i++) {
- String jarFileName = args[i];
- try {
- System.out.println("Building CLASSPATH for " + jarFileName);
- String classPath;
- if (jarFileName.endsWith(".ear"))
- classPath =
- ClassPathBuilder.buildClassPathForEar(
- new Archive(new File(jarFileName)));
- else
- classPath =
- ClassPathBuilder.buildClassPathForJar(
- new Archive(new File(jarFileName)));
- System.out.println(
- "CLASSPATH for For " + jarFileName + "\n [" + classPath +
- "]");
- } catch (Exception e) {
- System.out.println(
- "For " + jarFileName + " got the following exception");
- e.printStackTrace();
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/DeweyDecimal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/DeweyDecimal.java
deleted file mode 100644
index c53d764..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/DeweyDecimal.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.packaging;
-
-class DeweyDecimal {
-
- private int major = 0, minor = 0, micro = 0;
-
- public DeweyDecimal() {
- }
-
- public DeweyDecimal(String s) {
- s = s.trim();
- int idxOfFirstDot = s.indexOf('.', 0);
- if (idxOfFirstDot == -1) {
- major = Integer.parseInt(s);
- return;
- } else {
- major = Integer.parseInt(s.substring(0, idxOfFirstDot));
- }
- int idxOfSecondDot = s.indexOf('.', idxOfFirstDot + 1);
- if (idxOfSecondDot == -1) {
- minor = Integer.parseInt(s.substring(idxOfFirstDot + 1));
- return;
- } else {
- minor =
- Integer.parseInt(
- s.substring(idxOfFirstDot + 1, idxOfSecondDot));
- }
- micro = Integer.parseInt(s.substring(idxOfSecondDot + 1));
- }
-
- public boolean isCompatible(DeweyDecimal another) {
- if (another == null) return false;
- if (major < another.major) {
- return false;
- } else if (major == another.major) {
- if (minor < another.minor) {
- return false;
- } else if (minor == another.minor) {
- return micro >= another.micro;
- }
- //this.minor> another.minor && this.major==another.major, hence return true
- return true;
- }
- //this.major> another.major, hence return true
- return true;
- }
-
- public boolean isCompatible(String another) {
- if (another == null) return false;
- return isCompatible(new DeweyDecimal(another));
- }
-
- //provides value semantics, hence we should overrise hashCode and equals method.
- public int hashCode() {
- return major + minor + micro;
- }
-
- public boolean equals(Object o) {
- if (o == null) return false;
- try {
- DeweyDecimal other = (DeweyDecimal) o;
- return major == other.major && minor == other.minor &&
- micro == other.micro;
- } catch (ClassCastException e) {
- return false;
- }
- }
-
- public String toString() {
- return "" + major + "." + minor + "." + micro; // NOI18N
- }
-
- public static void main(String[] args) {
- if (args.length != 2) {
- System.out.println(
- "Usage: " + DeweyDecimal.class.getName() + // NOI18N
- " <s1 in the format 1.2.3> <s2 in the format 5.5.6>"); // NOI18N
- System.exit(1);
- }
- DeweyDecimal d1 = new DeweyDecimal(args[0]);
- DeweyDecimal d2 = new DeweyDecimal(args[1]);
- System.out.println(d1 + ".isCompatible(" + d1 + ")=" + d1.isCompatible( // NOI18N
- d1));
- System.out.println(d2 + ".isCompatible(" + d2 + ")=" + d2.isCompatible( // NOI18N
- d2));
- System.out.println(d1 + ".isCompatible(" + d2 + ")=" + d1.isCompatible( // NOI18N
- d2));
- System.out.println(d2 + ".isCompatible(" + d1 + ")=" + d2.isCompatible( // NOI18N
- d1));
- System.out.println(d1 + ".equals(" + d1 + ")=" + d1.equals(d1)); // NOI18N
- System.out.println(d2 + ".equals(" + d2 + ")=" + d2.equals(d2)); // NOI18N
- System.out.println(d1 + ".equals(" + d2 + ")=" + d1.equals(d2)); // NOI18N
- System.out.println(d2 + ".equals(" + d1 + ")=" + d2.equals(d1)); // NOI18N
- System.out.println(d1 + ".hashCode()=" + d1.hashCode()); // NOI18N
- System.out.println(d2 + ".hashCode()=" + d2.hashCode()); // NOI18N
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/ExtensionRef.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/ExtensionRef.java
deleted file mode 100644
index 2aad10a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/packaging/ExtensionRef.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * OptPkgRef.java
- *
- * Created on August 13, 2004, 4:26 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.packaging;
-
-import java.io.IOException;
-import java.util.jar.Attributes;
-import java.util.jar.Manifest;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-/**
- * This class holds the information for each installed optional package
- * reference. It is used to select the optional package actually referenced.
- * Refer to http://java.sun.com/j2se/1.4.2/docs/guide/extensions/versioning.html#packages
- * for more info.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- * @see Archive
- */
-public class ExtensionRef {
- private static String resourceBundleName = "com.sun.enterprise.tools.verifier.apiscan.LocalStrings";
- public static final Logger logger = Logger.getLogger("apiscan.packaging", resourceBundleName); // NOI18N
- private static final String myClassName = "ExtensionRef"; // NOI18N
- // a client can specify dependency using atleast the name or name and any other attr
- private String name, implVendorId = "";
- private String implVer;//See javadocs of java.lang.Package. implVer is a string and not DeweyDecimal
- private DeweyDecimal specVer;
-
- /**
- * @param manifest Manifest file to be read.
- * @param extName Name of the extension reference. It is the string that is
- * mentioned in the Extension-List manifest attribute.
- */
- public ExtensionRef(Manifest manifest, String extName) {
- Attributes attrs = manifest.getMainAttributes();
- name = attrs.getValue(extName + "-" + Attributes.Name.EXTENSION_NAME); // NOI18N
- String s = attrs.getValue(
- extName + "-" + Attributes.Name.SPECIFICATION_VERSION); // NOI18N
- if (s != null) {
- try {
- specVer = new DeweyDecimal(s);
- } catch (NumberFormatException e) {
- logger.log(Level.SEVERE, getClass().getName() + ".exception1", new Object[]{e.getMessage()});
- logger.log(Level.SEVERE, "", e);
- throw e;
- }
- }
- implVendorId =
- attrs.getValue(
- extName + "-" + Attributes.Name.IMPLEMENTATION_VENDOR_ID); // NOI18N
- implVer =
- attrs.getValue(
- extName + "-" + Attributes.Name.IMPLEMENTATION_VERSION); // NOI18N
- validate();
- }
-
- private void validate() {
- if (name == null || name.length() <= 0) {
- throw new IllegalArgumentException("Extension-Name can not be empty.");
- }
- }
-
- /**
- * @param another Archive whose specifications will be used for matching.
- * @return true if the other archive meets the specifications of this
- * extensionRef, else returns false.
- */
- public boolean isSatisfiedBy(Archive another) throws IOException {
- logger.entering(myClassName, "isSatisfiedBy", another); // NOI18N
- Attributes attrs = another.getManifest().getMainAttributes();
- String name = attrs.getValue(Attributes.Name.EXTENSION_NAME);
- String s = attrs.getValue(Attributes.Name.SPECIFICATION_VERSION);
- DeweyDecimal specVer = null;
- try {
- specVer = s != null ? new DeweyDecimal(s) : null;
- } catch (NumberFormatException e) {
- logger.log(Level.WARNING, getClass().getName() + ".warning1", new Object[]{e.getMessage(), another.toString()});
- return false;
- }
- String implVendorId = attrs.getValue(
- Attributes.Name.IMPLEMENTATION_VENDOR_ID);
- String implVer = attrs.getValue(Attributes.Name.IMPLEMENTATION_VERSION);
- //implVendor is not used for comparision because it is not supposed to be used.
- //See optional package versioning.
- //The order of comparision is very well defined in
- //http://java.sun.com/j2se/1.4.2/docs/guide/extensions/versioning.html
- //Although that is specified for Java plugins for applets, it is equally
- //applicable for J2EE.
- //See J2EE 1.4 section#8.2
- return this.name.equals(name) &&
- (this.specVer == null || this.specVer.isCompatible(specVer)) &&
- (this.implVendorId == null ||
- this.implVendorId.equals(implVendorId)) &&
- (this.implVer == null || this.implVer.equals(implVer));
- }
-
- /**
- * Used for pretty printing.
- */
- public String toString() {
- return "Extension-Name: " + name + "\n" + // NOI18N
- (specVer != null ? "Specification-Version: " + specVer + "\n" : "") + // NOI18N
- (implVendorId != null ?
- "Implementation-Vendor-Id: " + implVendorId + "\n" : "") + // NOI18N
- (implVer != null ? "Implementation-Version: " + implVer + "\n" : ""); // NOI18N
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/APIRepository.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/APIRepository.java
deleted file mode 100644
index ea3d3ea..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/APIRepository.java
+++ /dev/null
@@ -1,428 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * APIHelper.java
- *
- * Created on September 22, 2004, 10:23 AM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.stdapis;
-
-import java.io.InputStream;
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Iterator;
-import java.util.StringTokenizer;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-import org.w3c.dom.NodeList;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-import org.xml.sax.helpers.DefaultHandler;
-
-/**
- * This class represents a repository of APIs. It is backed by a XML file
- * with a predefined schema. This class is resoponsible for parsing the
- * XML file and getting populated by the information available in that file.
- * In verifier, this class is used in conjunction with an XML file where all
- * the standard APIs are listed along with their respective version number.
- * Refer to standard-apis.xml file to see how we list APIs in that file.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class APIRepository {
- private static Logger logger = Logger.getLogger("apiscan.stdapis"); // NOI18N
- private static String myClsName = "APIRepository"; // NOI18N
- private HashMap<String, API> apis = new HashMap<String, API>();
- //singleton
- private static APIRepository me;
-
- /**
- * Return the singleton instance.
- */
- public static APIRepository Instance() {
- assert(me != null);
- return me;
- }
-
- /**
- * Initialize the singleton instance.
- *
- * @param fileName An XML file which contains the details of APIs.
- */
- public synchronized static void Initialize(String fileName)
- throws Exception {
- logger.logp(Level.FINE, myClsName, "Initialize", fileName); // NOI18N
- //Pl refer to bug#6174887
-// assert(me==null);
-// if(me==null){
- me = new APIRepository(fileName);
-// }else throw new RuntimeException("Already Initialized");
- }
-
- /**
- * Initialize the singleton instance.
- *
- * @param is InputStream for an XML file which contains the details of APIs.
- */
- public synchronized static void Initialize(InputStream is)
- throws Exception {
- logger.logp(Level.FINE, myClsName, "Initialize", is.toString()); // NOI18N
- //Pl refer to bug#6174887
-// assert(me==null);
-// if(me==null){
- me = new APIRepository(is);
-// }else throw new RuntimeException("Already Initialized");
- }
-
- /**
- * This method is used to find out if a particular class is part of
- * a standard API or not. e.g. to find out if an EJB 2.0 application is
- * allowed to use javax.ejb.Timer.class, call this method as
- * <blockquote><pre>
- * isClassPartOf("javax.ejb.Timer","ejb_jar_2.0")
- * </pre></blockquote>
- *
- * @param class_name name of the class (in external class name format)
- * @param api_name_version is the name of the API along with version. It
- * must already be defined in the XML file.
- *
- * @return true iff the given class is part of this API.
- */
- public boolean isClassPartOf(String class_name, String api_name_version) {
- if (getClassesFor(api_name_version).contains(class_name)) {
- return true;
- } else if (getPackagesFor(api_name_version).
- contains(getPackageName(class_name))) {
- return true;
- } else {
- for (String pattern : getPatternsFor(api_name_version)) {
- if (class_name.startsWith(pattern)) {
- return true;
- }
- }
- }
- return false;
- }
-
- /**
- * This method is used to find out if a particular package is part of
- * a standard API or not. e.g. to find out if an appclient (v 1.4) is
- * allowed to import jakarta.persistence.* , call this method as
- * <blockquote><pre>
- * isPackagePartOf("jakarta.persistence","appclient_1.4")
- * </pre></blockquote>
- *
- * @param pkg_name name of the package
- * @param api_name_version is the name of the API along with version. It
- * must already be defined in the XML file.
- *
- * @return true iff the given package is part of this API.
- */
- public boolean isPackagePartOf(String pkg_name, String api_name_version) {
- if (getPackagesFor(api_name_version).contains(pkg_name)) {
- return true;
- } else {
- for (String pattern : getPatternsFor(api_name_version)) {
- if (pkg_name.startsWith(pattern)) {
- return true;
- }
- }
- }
- return false;
- }
-
- protected Collection<String> getPackagesFor(String api_name_version) {
- return ((API) apis.get(api_name_version)).getPackages();
- }
-
- protected Collection<String> getPatternsFor(String api_name_version) {
- return ((API) apis.get(api_name_version)).getPatterns();
- }
-
- protected Collection<String> getClassesFor(String api_name_version) {
- return ((API) apis.get(api_name_version)).getClasses();
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- for (Iterator i = apis.values().iterator(); i.hasNext();) {
- sb.append("\n").append(i.next().toString()); // NOI18N
- }
- return sb.toString();
- }
-
- private APIRepository(String fileName) throws Exception {
- logger.entering(myClsName, "init<>", fileName); // NOI18N
- final File file = new File(fileName);
- Document d = getDocumentBuilder().parse(file);
- traverseTree(d.getDocumentElement());
- }
-
- private APIRepository(InputStream is) throws Exception {
- logger.entering(myClsName, "init<>", is.toString()); // NOI18N
- Document d = getDocumentBuilder().parse(is);
- traverseTree(d.getDocumentElement());
- }
-
- private DocumentBuilder getDocumentBuilder() throws Exception {
- DocumentBuilderFactory bf = DocumentBuilderFactory.newInstance();
- bf.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- // TODO: Why are we turning off validation here?
- bf.setValidating(false);
- bf.setIgnoringComments(false);
- bf.setIgnoringElementContentWhitespace(true);
- bf.setCoalescing(true);
- bf.setNamespaceAware(true);
- bf.setAttribute(
- "http://java.sun.com/xml/jaxp/properties/schemaLanguage", // NOI18N
- "http://www.w3.org/2001/XMLSchema"); // NOI18N
- DocumentBuilder builder = bf.newDocumentBuilder();
- builder.setErrorHandler(new DefaultHandler() {
- public void error(SAXParseException e) throws SAXException {
- throw e;
- }
- });
- return builder;
- }
-
- private void traverseTree(Node node) {
- if (node == null) {
- return;
- }
- if (node.getNodeType() == Node.ELEMENT_NODE) {
- Element e = (Element) node;
- String tagName = e.getTagName();
- if (tagName.equals("api")) { // NOI18N
- API a = new API(e);
- apis.put(a.name_version, a);
- }
- NodeList childNodes = node.getChildNodes();
- for (int i = 0; i < childNodes.getLength(); i++) {
- traverseTree(childNodes.item(i));
- }
- }
- }
-
- //return java.util for java.util.Map$Entry
- private static String getPackageName(String externalClassName) {
- int idx = externalClassName.lastIndexOf('.');
- if (idx != -1) {
- return externalClassName.substring(0, idx);
- } else
- return "";
- }
-
- class APIRef {
- private String api_name_version;
-
- public APIRef(Element node) {
- if (node.getTagName().equals("api_ref")) { // NOI18N
- api_name_version = node.getAttribute("api_name_version"); // NOI18N
- } else
- throw new IllegalArgumentException(node.toString());
- }
-
- public APIRef(String api_name_version) {
- this.api_name_version = api_name_version;
- }
-
- public API deref() {
- API result = (API) apis.get(api_name_version);
- if (result == null)
- throw new NullPointerException(
- "No API with name_version [" + api_name_version + "]"); // NOI18N
- return result;
- }
- }
-
- class API {
- private String name_version;
- private ArrayList<APIRef> apiRefs = new ArrayList<APIRef>();
- ArrayList<String> packages = new ArrayList<String>(), patterns = new ArrayList<String>(), classes = new ArrayList<String>();
-
- public API(Element node) {
- if (node.getTagName().equals("api")) { // NOI18N
- name_version = node.getAttribute("name_version"); // NOI18N
- NodeList refNodes = node.getElementsByTagName("api_ref"); // NOI18N
- for (int loopIndex = 0;
- loopIndex < refNodes.getLength(); loopIndex++) {
- apiRefs.add(new APIRef((Element) refNodes.item(loopIndex)));
- }
- NodeList pkgsNodes = node.getElementsByTagName("packages"); // NOI18N
- for (int i = 0; i < pkgsNodes.getLength(); ++i) {
- Element pkgsNode = (Element) pkgsNodes.item(i);
- NodeList children = pkgsNode.getChildNodes();
- for (int j = 0; j < children.getLength(); j++) {
- Node next = children.item(j);
- if (next.getNodeType() == Node.TEXT_NODE) {
- String names = next.getNodeValue().trim();
- for (StringTokenizer st = new StringTokenizer(
- names);
- st.hasMoreTokens();) {
- packages.add(st.nextToken());
- }
- }
- }
- }
- NodeList patternsNodes = node.getElementsByTagName("patterns"); // NOI18N
- for (int i = 0; i < patternsNodes.getLength(); ++i) {
- Element patternsNode = (Element) patternsNodes.item(i);
- NodeList children = patternsNode.getChildNodes();
- for (int j = 0; j < children.getLength(); j++) {
- Node next = children.item(j);
- if (next.getNodeType() == Node.TEXT_NODE) {
- String names = next.getNodeValue().trim();
- for (StringTokenizer st = new StringTokenizer(
- names);
- st.hasMoreTokens();) {
- patterns.add(st.nextToken());
- }
- }
- }
- }
- NodeList classesNodes = node.getElementsByTagName("classes"); // NOI18N
- for (int i = 0; i < classesNodes.getLength(); ++i) {
- Element classesNode = (Element) classesNodes.item(i);
- String package_name = classesNode.getAttribute("package") // NOI18N
- .trim();
- NodeList children = classesNode.getChildNodes();
- for (int j = 0; j < children.getLength(); j++) {
- Node next = children.item(j);
- if (next.getNodeType() == Node.TEXT_NODE) {
- String names = next.getNodeValue().trim();
- for (StringTokenizer st = new StringTokenizer(
- names);
- st.hasMoreTokens();) {
- String clsName = package_name + "." + // NOI18N
- st.nextToken();
- classes.add(clsName);
- }
- }
- }
- }
- } else {
- throw new IllegalArgumentException(node.toString());
- }
- }//constructor
-
- public Collection<String> getPackages() {
- ArrayList<String> results = new ArrayList<String>();
- for (Iterator i = apiRefs.iterator(); i.hasNext();) {
- results.addAll(((APIRef) i.next()).deref().getPackages());
- }
- results.addAll(packages);
- return results;
- }
-
- public Collection<String> getPatterns() {
- ArrayList<String> results = new ArrayList<String>();
- for (Iterator i = apiRefs.iterator(); i.hasNext();) {
- results.addAll(((APIRef) i.next()).deref().getPatterns());
- }
- results.addAll(patterns);
- return results;
- }
-
- public Collection<String> getClasses() {
- ArrayList<String> results = new ArrayList<String>();
- for (Iterator i = apiRefs.iterator(); i.hasNext();) {
- results.addAll(((APIRef) i.next()).deref().getClasses());
- }
- results.addAll(classes);
- return results;
- }
-
- public String toString() {
- StringBuffer sb = new StringBuffer();
- sb.append("<api name_version=\"" + name_version + "\">"); // NOI18N
- sb.append("\n\t<classes>"); // NOI18N
- for (Iterator i = getClasses().iterator(); i.hasNext();) sb.append(
- "\n\t\t") // NOI18N
- .append(i.next().toString());
- sb.append("\n\t</classes>"); // NOI18N
- sb.append("\n\t<packages>"); // NOI18N
- for (Iterator i = getPackages().iterator(); i.hasNext();) sb.append(
- "\n\t\t") // NOI18N
- .append(i.next().toString());
- sb.append("\n\t</packages>"); // NOI18N
- sb.append("\n\t<patterns>"); // NOI18N
- for (Iterator i = getPatterns().iterator(); i.hasNext();) sb.append(
- "\n\t\t") // NOI18N
- .append(i.next().toString());
- sb.append("\n\t</patterns>"); // NOI18N
- sb.append("\n</api>"); // NOI18N
- return sb.toString();
- }
- }//class API
-
- public static void main(String[] args) {
- if (args.length < 1) {
- usage();
- }
- try {
- APIRepository.Initialize(args[0]);
- APIRepository apiRep = APIRepository.Instance();
- switch(args.length) {
- case 1:
- System.out.println(apiRep);
- break;
- case 2:
- System.out.println(apiRep.apis.get(args[1]));
- break;
- case 3:
- System.out.println(apiRep.isClassPartOf(args[2], args[1]));
- break;
- default:
- usage();
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- }
-
- private static void usage(){
- System.out.println(
- "Usage: java " + APIRepository.class.getName() + // NOI18N
- " <file_name> [api_name_version] [class_name]"); // NOI18N
- System.out.println("\nExamples:\n"); // NOI18N
- System.out.println(
- "java " + APIRepository.class.getName() + // NOI18N
- " src/standard-apis.xml ejb_jar_2.0 javax.ejb.Timer"); // NOI18N
- System.out.println("The above command prints true if javax.ejb.Timer is part of ejb_api_2.0 API.\n"); // NOI18N
- System.out.println(
- "java " + APIRepository.class.getName() + // NOI18N
- " src/standard-apis.xml ejb_jar_2.0"); // NOI18N
- System.out.println("The above command prints details about all classes and packages for ejb_api_2.0 API.\n"); // NOI18N
- System.out.println(
- "java " + APIRepository.class.getName() + // NOI18N
- " src/standard-apis.xml"); // NOI18N
- System.out.println("The above command prints details about all APIs.\n"); // NOI18N
- System.exit(1);
- }
-}//class APIRespository
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/AppClientClosureCompiler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/AppClientClosureCompiler.java
deleted file mode 100644
index 8d61e2e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/AppClientClosureCompiler.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * AppClientClosureCompiler.java
- *
- * Created on August 24, 2004, 2:24 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.stdapis;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.logging.Logger;
-
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoader;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class AppClientClosureCompiler extends ClosureCompilerImpl {
-
- private static Logger logger = Logger.getLogger("apiscan.stdapis"); // NOI18N
- private static final String myClassName = "AppClientClosureCompiler"; // NOI18N
- private String specVersion;
-
- /**
- * Creates a new instance of AppClientClosureCompiler
- */
- public AppClientClosureCompiler(String specVersion, ClassFileLoader cfl) {
- super(cfl);
- logger.entering(myClassName, "init<>", specVersion); // NOI18N
- this.specVersion = specVersion;
- addStandardAPIs();
- }
-
- //this method adds APIs specific to versions.
- protected void addStandardAPIs() {
- String apiName = "appclient_" + specVersion; // NOI18N
- Collection classes = APIRepository.Instance().getClassesFor(apiName);
- for (Iterator i = classes.iterator(); i.hasNext();) {
- addExcludedClass((String) i.next());
- }
- Collection pkgs = APIRepository.Instance().getPackagesFor(apiName);
- for (Iterator i = pkgs.iterator(); i.hasNext();) {
- addExcludedPackage((String) i.next());
- }
- Collection patterns = APIRepository.Instance().getPatternsFor(apiName);
- for (Iterator i = patterns.iterator(); i.hasNext();) {
- addExcludedPattern((String) i.next());
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/ConnectorClosureCompiler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/ConnectorClosureCompiler.java
deleted file mode 100644
index c07a8b2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/ConnectorClosureCompiler.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectorClosureCompiler.java
- *
- * Created on August 24, 2004, 2:24 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.stdapis;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.logging.Logger;
-
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoader;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class ConnectorClosureCompiler extends ClosureCompilerImpl {
-
- private static Logger logger = Logger.getLogger("apiscan.stdapis"); // NOI18N
- private static final String myClassName = "ConnectorClosureCompiler"; // NOI18N
- private String specVersion;
-
- /**
- * Creates a new instance of ConnectorClosureCompiler
- */
- public ConnectorClosureCompiler(String specVersion, ClassFileLoader cfl) {
- super(cfl);
- logger.entering(myClassName, "init<>", specVersion); // NOI18N
- this.specVersion = specVersion;
- addStandardAPIs();
- }
-
- //this method adds APIs specific to versions.
- protected void addStandardAPIs() {
- String apiName = "connector_" + specVersion; // NOI18N
- Collection classes = APIRepository.Instance().getClassesFor(apiName);
- for (Iterator i = classes.iterator(); i.hasNext();) {
- addExcludedClass((String) i.next());
- }
- Collection pkgs = APIRepository.Instance().getPackagesFor(apiName);
- for (Iterator i = pkgs.iterator(); i.hasNext();) {
- addExcludedPackage((String) i.next());
- }
- Collection patterns = APIRepository.Instance().getPatternsFor(apiName);
- for (Iterator i = patterns.iterator(); i.hasNext();) {
- addExcludedPattern((String) i.next());
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/EjbClosureCompiler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/EjbClosureCompiler.java
deleted file mode 100644
index 13ef8cc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/EjbClosureCompiler.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * EjbClosure.java
- *
- * Created on August 23, 2004, 2:05 PM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.stdapis;
-
-import java.io.File;
-import java.io.IOException;
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.jar.JarFile;
-import java.util.logging.ConsoleHandler;
-import java.util.logging.Handler;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoader;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoaderFactory;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl;
-import com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class EjbClosureCompiler extends ClosureCompilerImpl {
- private static Logger logger = Logger.getLogger("apiscan.stdapis"); // NOI18N
- private static final String myClassName = "EjbClosureCompiler"; // NOI18N
- private String specVersion;
-
- /**
- * Creates a new instance of EjbClosure
- */
- public EjbClosureCompiler(String specVersion, ClassFileLoader cfl) {
- super(cfl);
- logger.entering(myClassName, "init<>", specVersion); // NOI18N
- this.specVersion = specVersion;
- addStandardAPIs();
- }
-
- //this method adds APIs specific to versions.
- protected void addStandardAPIs() {
- String apiName = "ejb_jar_" + specVersion; // NOI18N
- Collection classes = APIRepository.Instance().getClassesFor(apiName);
- for (Iterator i = classes.iterator(); i.hasNext();) {
- addExcludedClass((String) i.next());
- }
- Collection pkgs = APIRepository.Instance().getPackagesFor(apiName);
- for (Iterator i = pkgs.iterator(); i.hasNext();) {
- addExcludedPackage((String) i.next());
- }
- Collection patterns = APIRepository.Instance().getPatternsFor(apiName);
- for (Iterator i = patterns.iterator(); i.hasNext();) {
- addExcludedPattern((String) i.next());
- }
- }
-
- public static void main(String[] args) {
- Handler h = new ConsoleHandler();
- h.setLevel(Level.ALL);
- Logger.getLogger("apiscan").addHandler(h); // NOI18N
- Logger.getLogger("apiscan").setLevel(Level.ALL); // NOI18N
-
- int j = 0;
- String pcp = "";
- String specVer = "";
- for (j = 0; j < args.length; ++j) {
- if (args[j].equals("-prefixClassPath")) { // NOI18N
- pcp = args[++j];
- continue;
- } else if (args[j].equals("-specVer")) { // NOI18N
- specVer = args[++j];
- continue;
- }
- }
- if (args.length < 5) {
- System.out.println(
- "Usage: " + EjbClosureCompiler.class.getName() + // NOI18N
- " <-prefixClassPath> <prefix classpath> <-specVer> <something like ejb_2.1> <jar file name(s)>"); // NOI18N
- return;
- }
-
- for (int i = 4; i < args.length; ++i) {
- try (JarFile jar = new JarFile(args[i])) {
- String cp = pcp + File.pathSeparator +
- ClassPathBuilder.buildClassPathForJar(jar);
- System.out.println("Using CLASSPATH " + cp); // NOI18N
- ClassFileLoader cfl = ClassFileLoaderFactory.newInstance(
- new Object[]{cp});
- EjbClosureCompiler ejbClosureCompiler = new EjbClosureCompiler(
- specVer, cfl);
- boolean result = ejbClosureCompiler.buildClosure(jar);
- jar.close();
- System.out.println("The closure is [\n"); // NOI18N
- System.out.println(ejbClosureCompiler);
- if (result) {
- System.out.println("Did not find any non-standard APIs "); // NOI18N
- } else {
- System.out.println("Found non-standard APIs for " + // NOI18N
- args[i]);
- }
- } catch (IOException e) {
- e.printStackTrace();
- continue;
- }
- System.out.println("\n]"); // NOI18N
- }//args[i]
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/WebClosureCompiler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/WebClosureCompiler.java
deleted file mode 100644
index 0d60459..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/apiscan/stdapis/WebClosureCompiler.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * Webthis.java
- *
- * Created on August 24, 2004, 11:28 AM
- */
-
-package com.sun.enterprise.tools.verifier.apiscan.stdapis;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.logging.Logger;
-
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoader;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class WebClosureCompiler extends ClosureCompilerImpl {
- private static Logger logger = Logger.getLogger("apiscan.stdapis"); // NOI18N
- private static final String myClassName = "WebClosureCompiler"; // NOI18N
- private String specVersion;
-
- public WebClosureCompiler(String specVersion, ClassFileLoader cfl) {
- super(cfl);
- logger.entering(myClassName, "init<>", specVersion); // NOI18N
- this.specVersion = specVersion;
- addStandardAPIs();
- }
-
- //this method adds APIs specific to versions.
- protected void addStandardAPIs() {
- String apiName = "web_app_" + specVersion; // NOI18N
- Collection classes = APIRepository.Instance().getClassesFor(apiName);
- for (Iterator i = classes.iterator(); i.hasNext();) {
- addExcludedClass((String) i.next());
- }
- Collection pkgs = APIRepository.Instance().getPackagesFor(apiName);
- for (Iterator i = pkgs.iterator(); i.hasNext();) {
- addExcludedPackage((String) i.next());
- }
- Collection patterns = APIRepository.Instance().getPatternsFor(apiName);
- for (Iterator i = patterns.iterator(); i.hasNext();) {
- addExcludedPattern((String) i.next());
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/app/AppCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/app/AppCheckMgrImpl.java
deleted file mode 100755
index 80f01cb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/app/AppCheckMgrImpl.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.app;
-
-import com.sun.enterprise.deployment.Application;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.CheckMgr;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.JarCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-
-/**
- * Application harness
- */
-
-public class AppCheckMgrImpl extends CheckMgr implements JarCheck {
-
- /**
- * name of the file containing the list of tests for the Application
- * architecture
- */
- private static final String testsListFileName = "TestNamesApp.xml"; // NOI18N
- private static final String sunONETestsListFileName = getSunPrefix()
- .concat(testsListFileName);
-
- public AppCheckMgrImpl(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- /**
- * Check application for spec. conformance
- *
- * @param descriptor Application descriptor
- */
- public void check(Descriptor descriptor) throws Exception {
- // run persistence tests first.
- checkPersistenceUnits(Application.class.cast(descriptor));
-
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isApp())
- return;
- // all tests for embedding application
- super.check(descriptor);
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * web app space (jsp and servlet)
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getTestsListFileName() {
- return testsListFileName;
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * application scope (SunONE)
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getSunONETestsListFileName() {
- return sunONETestsListFileName;
- }
-
- /**
- *
- * @param descriptor
- * @return the name of the archive
- */
- protected String getArchiveUri(Descriptor descriptor) {
- return ((Application) descriptor).getName();
- }
-
- /**
- *
- * @param descriptor
- * @return version of spec the archive corresponds to.
- */
- protected String getSchemaVersion(Descriptor descriptor) {
- return ((RootDeploymentDescriptor) descriptor).getSpecVersion();
- }
-
- /**
- * Sets the module name in Result object.
- *
- * @param r result object
- */
- protected void setModuleName(Result r) {
- r.setModuleName(Result.APP);
- }
-
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor((Application)descriptor);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/app/ApplicationVerifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/app/ApplicationVerifier.java
deleted file mode 100755
index f40ef4d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/app/ApplicationVerifier.java
+++ /dev/null
@@ -1,79 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.app;
-
-import com.sun.enterprise.deployment.Application;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.BaseVerifier;
-import com.sun.enterprise.tools.verifier.CheckMgr;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-
-/**
- * @author Vikas Awasthi
- */
-public class ApplicationVerifier extends BaseVerifier {
-
- private Application application = null;
-
- public ApplicationVerifier(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- this.application = verifierFrameworkContext.getApplication();
- }
-
- /**
- * Responsible for running application based verifier tests on the the web archive.
- * Called from runVerifier in {@link BaseVerifier} class.
- *
- * @throws Exception
- */
- public void verify() throws Exception {
- if (areTestsNotRequired(verifierFrameworkContext.isApp()) &&
- areTestsNotRequired(verifierFrameworkContext.isPersistenceUnits()))
- return;
- preVerification();
- if(verifierFrameworkContext.isPortabilityMode())
- application.setClassLoader(context.getClassLoader());
- CheckMgr checkMgrImpl = new AppCheckMgrImpl(verifierFrameworkContext);
- verify(application, checkMgrImpl);
- }
-
- public Descriptor getDescriptor() {
- return application;
- }
-
- protected ClassLoader createClassLoader() {
- return application.getClassLoader();
- }
-
- /**
- * @return String archive base
- */
- protected String getArchiveUri() {
- return verifierFrameworkContext.getJarFileName();
- }
-
- protected String[] getDDString() {
- String dd[] = {"META-INF/sun-application.xml", // NOI18N
- "META-INF/application.xml",
- "META-INF/glassfish-application.xml"}; // NOI18N
- return dd;
- }
-
- protected String getClassPath() {
- return null;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/appclient/AppClientCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/appclient/AppClientCheckMgrImpl.java
deleted file mode 100755
index a8841d7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/appclient/AppClientCheckMgrImpl.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.appclient;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.Iterator;
-import java.util.Set;
-
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
-import com.sun.enterprise.deployment.io.AppClientDeploymentDescriptorFile;
-import com.sun.enterprise.tools.verifier.CheckMgr;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.JarCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.dd.ParseDD;
-import com.sun.enterprise.tools.verifier.wsclient.WebServiceClientCheckMgrImpl;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-
-/**
- * Application Client harness
- */
-public class AppClientCheckMgrImpl extends CheckMgr implements JarCheck {
-
- /**
- * name of the file containing the list of tests for the application client
- * architecture
- */
- private static final String testsListFileName = "TestNamesAppClient.xml"; // NOI18N
- private static final String sunONETestsListFileName = getSunPrefix()
- .concat(testsListFileName);
-
- public AppClientCheckMgrImpl(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- /**
- * Check method introduced for WebServices integration
- *
- * @param descriptor appclient descriptor
- */
- public void check(Descriptor descriptor) throws Exception {
- // run persistence tests first.
- checkPersistenceUnits(ApplicationClientDescriptor.class.cast(descriptor));
- //An ApplicationClient can have WebService References
- checkWebServicesClient(descriptor);
-
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isAppClient())
- return;
- // run the ParseDD test
- if (getSchemaVersion(descriptor).compareTo("1.4") < 0) { // NOI18N
- AppClientDeploymentDescriptorFile ddf = new AppClientDeploymentDescriptorFile();
- File file = new File(getAbstractArchiveUri(descriptor),
- ddf.getDeploymentDescriptorPath());
- FileInputStream is = new FileInputStream(file);
- try {
- if (is != null) {
- Result result = new ParseDD().validateAppClientDescriptor(is);
- result.setComponentName(getArchiveUri(descriptor));
- setModuleName(result);
- verifierFrameworkContext.getResultManager().add(result);
- }
- } finally {
- try {
- if(is!=null)
- is.close();
- } catch(Exception e) {}
- }
- }
-
- super.check(descriptor);
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * connector architecture
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getTestsListFileName() {
- return testsListFileName;
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * application client architecture
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getSunONETestsListFileName() {
- return sunONETestsListFileName;
- }
-
- protected String getSchemaVersion(Descriptor descriptor) {
- return ((RootDeploymentDescriptor) descriptor).getSpecVersion();
- }
-
- protected void setModuleName(Result r) {
- r.setModuleName(Result.APPCLIENT);
- }
-
- protected void checkWebServicesClient(Descriptor descriptor)
- throws Exception {
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isWebServicesClient())
- return;
- WebServiceClientCheckMgrImpl webServiceClientCheckMgr =
- new WebServiceClientCheckMgrImpl(verifierFrameworkContext);
- ApplicationClientDescriptor desc = (ApplicationClientDescriptor) descriptor;
- if (desc.hasWebServiceClients()) {
- Set serviceRefDescriptors = desc.getServiceReferenceDescriptors();
- Iterator it = serviceRefDescriptors.iterator();
- while (it.hasNext()) {
- webServiceClientCheckMgr.setVerifierContext(context);
- webServiceClientCheckMgr.check(
- (ServiceReferenceDescriptor) it.next());
- }
- } else // set not applicable for all tests in WebServices for this Appclient Bundle
- webServiceClientCheckMgr.setVerifierContext(context);
- }
-
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor((ApplicationClientDescriptor)descriptor);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/appclient/AppClientVerifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/appclient/AppClientVerifier.java
deleted file mode 100755
index b73589a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/appclient/AppClientVerifier.java
+++ /dev/null
@@ -1,143 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.appclient;
-
-import java.io.File;
-import java.io.IOException;
-
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.BaseVerifier;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoaderFactory;
-import com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder;
-import com.sun.enterprise.tools.verifier.apiscan.stdapis.AppClientClosureCompiler;
-import com.sun.enterprise.util.io.FileUtils;
-
-/**
- * @author Vikas Awasthi
- */
-public class AppClientVerifier extends BaseVerifier {
-
- private ApplicationClientDescriptor appclientd = null;
- private String classPath;//this is lazily populated in getClassPath()
- private boolean isASMode = false;
-
- public AppClientVerifier(VerifierFrameworkContext verifierFrameworkContext,
- ApplicationClientDescriptor appClientDescriptor) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- this.appclientd = appClientDescriptor;
- this.isASMode = !verifierFrameworkContext.isPortabilityMode();
- }
-
- /**
- * Responsible for running application client based verifier tests on the the web archive.
- * Called from runVerifier in {@link BaseVerifier} class.
- *
- * @throws Exception
- */
- public void verify() throws Exception {
- if (areTestsNotRequired(verifierFrameworkContext.isAppClient()) &&
- areTestsNotRequired(verifierFrameworkContext.isWebServicesClient()) &&
- areTestsNotRequired(verifierFrameworkContext.isPersistenceUnits()))
- return;
-
- preVerification();
- createClosureCompiler();//this can be moved up to base verifier in future.
- verify(appclientd, new AppClientCheckMgrImpl(verifierFrameworkContext));
- }
-
- public Descriptor getDescriptor() {
- return appclientd;
- }
-
- protected ClassLoader createClassLoader()
- throws IOException {
- return appclientd.getClassLoader();
- }
-
- protected String getArchiveUri() {
- return FileUtils.makeFriendlyFilename(appclientd.getModuleDescriptor().getArchiveUri());
- }
-
- protected String[] getDDString() {
- String dd[] = {"META-INF/sun-application-client.xml", // NOI18N
- "META-INF/application-client.xml",
- "META-INF/glassfish-application-client.xml"}; // NOI18N
- return dd;
- }
-
- /**
- * Creates and returns the class path associated with the client jar.
- * Uses the exploded location of the archive for generating the classpath.
- *
- * @return entire classpath string
- * @throws IOException
- */
- protected String getClassPath() throws IOException {
- if (classPath != null) return classPath;
-
- if(isASMode)
- return (classPath = getClassPath(verifierFrameworkContext.getClassPath()));
-
- String cp;
- if (!appclientd.getModuleDescriptor().isStandalone()) {
- //take the cp from the enclosing ear file
- String ear_uri = verifierFrameworkContext.getExplodedArchivePath();
- File ear = new File(ear_uri);
- assert(ear.isDirectory());
- String earCP = ClassPathBuilder.buildClassPathForEar(ear);
- String libdir = appclientd.getApplication().getLibraryDirectory();
- if (libdir!=null) {
- earCP = getLibdirClasspath(ear_uri, libdir) + earCP;
- }
- String module_uri = appclientd.getModuleDescriptor().getArchiveUri();//this is a relative path
- File module = new File(module_uri);
- assert(module.isFile() && !module.isAbsolute());
- // exploder creates the directory replacing all dots by '_'
- File explodedModuleDir = new File(ear_uri,
- FileUtils.makeFriendlyFilename(module_uri));
- String moduleCP = ClassPathBuilder.buildClassPathForJar(
- explodedModuleDir);
- cp = moduleCP + File.pathSeparator + earCP;
- } else {
- String module_uri = verifierFrameworkContext.getExplodedArchivePath();//this is an absolute path
- File module = new File(module_uri);
- assert(module.isDirectory() && module.isAbsolute());
- cp = ClassPathBuilder.buildClassPathForJar(module);
- }
- return (classPath = cp);
- }
-
- /**
- * creates the ClosureCompiler for the client jar and sets it to the
- * verifier context. This is used to compute the closure on the classes used
- * in the client jar.
- *
- * @throws IOException
- */
- protected void createClosureCompiler() throws IOException {
- String specVer = SpecVersionMapper.getAppClientVersion(
- verifierFrameworkContext.getJavaEEVersion());
- Object arg = (isASMode)?appclientd.getClassLoader():(Object)getClassPath();
- AppClientClosureCompiler cc = new AppClientClosureCompiler(specVer,
- ClassFileLoaderFactory.newInstance(new Object[]{arg}));
- context.setClosureCompiler(cc);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/connector/ConnectorCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/connector/ConnectorCheckMgrImpl.java
deleted file mode 100644
index 4f9e11e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/connector/ConnectorCheckMgrImpl.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
-* ConnectorCheckMgrImpl.java
-*
-* Created on September 18, 2000, 3:59 PM
-*/
-
-package com.sun.enterprise.tools.verifier.connector;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.net.URI;
-
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.io.ConnectorDeploymentDescriptorFile;
-import com.sun.enterprise.tools.verifier.CheckMgr;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.JarCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.dd.ParseDD;
-
-/**
- * <p/>
- * This manager is responsible for performing compliance tests on rar files. rar
- * files contains resource adpaters. </p>
- *
- * @author Jerome Dochez
- */
-public class ConnectorCheckMgrImpl extends CheckMgr implements JarCheck {
-
- /**
- * name of the file containing the list of tests for the connector
- * architecture
- */
- private static final String testsListFileName = "TestNamesConnector.xml"; // NOI18N
- private static final String sunONETestsListFileName = getSunPrefix()
- .concat(testsListFileName);
-
- public ConnectorCheckMgrImpl(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- public void check(Descriptor descriptor) throws Exception {
- // run the ParseDD test
- if (getSchemaVersion(descriptor).compareTo("1.5") < 0) { // NOI18N
- ConnectorDeploymentDescriptorFile ddf = new ConnectorDeploymentDescriptorFile();
- File file = new File(new File(URI.create(getAbstractArchiveUri(descriptor))),
- ddf.getDeploymentDescriptorPath());
- FileInputStream is = new FileInputStream(file);
- try {
- if (is != null) {
- Result result = new ParseDD().validateConnectorDescriptor(is);
- result.setComponentName(getArchiveUri(descriptor));
- setModuleName(result);
- verifierFrameworkContext.getResultManager().add(result);
- }
- } finally {
- try {
- if(is!=null)
- is.close();
- } catch(Exception e) {}
- }
- }
-
- super.check(descriptor);
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * connector architecture
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getTestsListFileName() {
- return testsListFileName;
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * connector architecture (SunONE)
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getSunONETestsListFileName() {
- if ((System.getProperty("verifier.tests.sunconnector", "false")).equals(
- "true")) // NOI18N
- return sunONETestsListFileName;
- else
- return null;
- }
-
- protected String getSchemaVersion(Descriptor descriptor) {
- return ((ConnectorDescriptor) descriptor).getSpecVersion();
- }
-
- protected void setModuleName(Result r) {
- r.setModuleName(Result.CONNECTOR);
- }
-
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor((ConnectorDescriptor)descriptor);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/connector/ConnectorVerifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/connector/ConnectorVerifier.java
deleted file mode 100755
index f1f552a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/connector/ConnectorVerifier.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.connector;
-
-import java.io.File;
-import java.io.IOException;
-
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.BaseVerifier;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoaderFactory;
-import com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder;
-import com.sun.enterprise.tools.verifier.apiscan.stdapis.ConnectorClosureCompiler;
-import com.sun.enterprise.util.io.FileUtils;
-
-/**
- * @author Vikas Awasthi
- */
-public class ConnectorVerifier extends BaseVerifier {
-
- private ConnectorDescriptor cond = null;
- private String classPath;//this is lazily populated in getClassPath()
- private boolean isASMode = false;
-
- public ConnectorVerifier(VerifierFrameworkContext verifierFrameworkContext,
- ConnectorDescriptor cond) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- this.cond = cond;
- this.isASMode = !verifierFrameworkContext.isPortabilityMode();
- }
-
- public void verify() throws Exception {
- if (areTestsNotRequired(verifierFrameworkContext.isConnector()))
- return;
-
- preVerification();
- createClosureCompiler();//this can be moved up to base verifier in future.
- verify(cond, new ConnectorCheckMgrImpl(verifierFrameworkContext));
- }
-
- public Descriptor getDescriptor() {
- return cond;
- }
-
- protected ClassLoader createClassLoader()
- throws IOException {
- return cond.getClassLoader();
- }
-
- protected String getArchiveUri() {
- return FileUtils.makeFriendlyFilename(cond.getModuleDescriptor().getArchiveUri());
- }
-
- protected String[] getDDString() {
- String dd[] = {"META-INF/sun-ra.xml", "META-INF/ra.xml"}; // NOI18N
- return dd;
- }
-
- /**
- * Creates and returns the class path associated with the rar.
- * Uses the exploded location of the archive for generating the classpath.
- *
- * @return entire classpath string
- * @throws IOException
- */
- protected String getClassPath() throws IOException {
- if (classPath != null) return classPath;
-
- if(isASMode)
- return (classPath = getClassPath(verifierFrameworkContext.getClassPath()));
-
- String cp;
- if (!cond.getModuleDescriptor().isStandalone()) {
- //take the cp from the enclosing ear file
- String ear_uri = verifierFrameworkContext.getExplodedArchivePath();
- File ear = new File(ear_uri);
- assert(ear.isDirectory());
- cp = ClassPathBuilder.buildClassPathForEar(ear);
- String libdir = cond.getApplication().getLibraryDirectory();
- if (libdir!=null) {
- cp = getLibdirClasspath(ear_uri, libdir) + cp;
- }
- /** buildClasspathForEar takes care of embedded rars.*/
-/*
- //this is a relative path
- String module_uri = cond.getModuleDescriptor().getArchiveUri();
- File module = new File(module_uri);
- assert(module.isFile() && !module.isAbsolute());
- // exploder creates the directory replacing all dots by '_'
- File explodedModuleDir = new File(ear_uri,
- FileUtils.makeFriendlyFilename(module_uri));
- String moduleCP = ClassPathBuilder.buildClassPathForRar(
- explodedModuleDir);
- cp = moduleCP + File.pathSeparator + earCP;
-*/
- } else {
- //this is an absolute path
- String module_uri = verifierFrameworkContext.getExplodedArchivePath();
- File module = new File(module_uri);
- assert(module.isDirectory() && module.isAbsolute());
- cp = ClassPathBuilder.buildClassPathForRar(module);
- }
- return (classPath = cp);
- }
-
- /**
- * creates the ClosureCompiler for the rar module and sets it to the
- * verifier context. This is used to compute the closure on the classes used
- * in the rar.
- *
- * @throws IOException
- */
- protected void createClosureCompiler() throws IOException {
- String specVer = SpecVersionMapper.getJCAVersion(
- verifierFrameworkContext.getJavaEEVersion());
- Object arg = (isASMode)?cond.getClassLoader():(Object)getClassPath();
- ConnectorClosureCompiler cc = new ConnectorClosureCompiler(specVer,
- ClassFileLoaderFactory.newInstance(new Object[]{arg}));
- context.setClosureCompiler(cc);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ejb/EjbCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ejb/EjbCheckMgrImpl.java
deleted file mode 100755
index 84ef738..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ejb/EjbCheckMgrImpl.java
+++ /dev/null
@@ -1,246 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.ejb;
-
-import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.CheckMgr;
-import com.sun.enterprise.tools.verifier.JarCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.TestInformation;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.dd.ParseDD;
-import com.sun.enterprise.tools.verifier.wsclient.WebServiceClientCheckMgrImpl;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.jdo.spi.persistence.support.ejb.ejbc.JDOCodeGenerator;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.io.EjbDeploymentDescriptorFile;
-import org.glassfish.ejb.deployment.util.EjbBundleValidator;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Ejb harness
- */
-public class EjbCheckMgrImpl extends CheckMgr implements JarCheck {
-
- /**
- * name of the file containing the list of tests for the ejb architecture
- */
- private static final String testsListFileName = "TestNamesEjb.xml"; // NOI18N
- private static final String sunONETestsListFileName = getSunPrefix()
- .concat(testsListFileName);
- // the JDO Code generator needs to be initialized once per BundleDescriptor
- private JDOCodeGenerator jdc = new JDOCodeGenerator();
-
- public EjbCheckMgrImpl(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- /**
- * Check Ejb for spec. conformance
- *
- * @param descriptor Ejb descriptor
- */
- public void check(Descriptor descriptor) throws Exception {
- // run persistence tests first.
- checkPersistenceUnits(EjbBundleDescriptorImpl.class.cast(descriptor));
- // an EjbBundleDescriptor can have an WebServicesDescriptor
- checkWebServices(descriptor);
- // an EjbBundleDescriptor can have WebService References
- checkWebServicesClient(descriptor);
-
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isEjb())
- return;
-
- EjbBundleDescriptorImpl bundleDescriptor = (EjbBundleDescriptorImpl) descriptor;
- setDescClassLoader(bundleDescriptor);
- // DOL (jerome): is asking us to call this in some cases, like when
- // an ejb-ref is unresolved etc.
- try {
- EjbBundleValidator validator = new EjbBundleValidator();
- validator.accept(bundleDescriptor);
- } catch (Exception e) {
- } // nothing can be done
-
- // initialize JDOC if bundle has CMP's
- if (bundleDescriptor.containsCMPEntity()) {
- try {
- // See bug #6274161. We now pass an additional boolean
- // to indicate whether we are in portable or AS mode.
- jdc.init(bundleDescriptor, context.getClassLoader(),
- getAbstractArchiveUri(bundleDescriptor),
- verifierFrameworkContext.isPortabilityMode());
- } catch (Throwable ex) {
- context.setJDOException(ex);
- }
- }
- // set the JDO Codegenerator into the context
- context.setJDOCodeGenerator(jdc);
-
- // run the ParseDD test
- if (bundleDescriptor.getSpecVersion().compareTo("2.1") < 0) { // NOI18N
- EjbDeploymentDescriptorFile ddf = new EjbDeploymentDescriptorFile();
- File file = new File(getAbstractArchiveUri(bundleDescriptor),
- ddf.getDeploymentDescriptorPath());
- FileInputStream is = new FileInputStream(file);
- try {
- if (is != null) {
- Result result = new ParseDD().validateEJBDescriptor(is);
- result.setComponentName(new File(bundleDescriptor.getModuleDescriptor().
- getArchiveUri()).getName());
- setModuleName(result);
- verifierFrameworkContext.getResultManager().add(result);
- }
- } finally {
- try {
- if(is != null) {
- is.close();
- }
- } catch (Exception e) {}
- }
- }
-
- for (Iterator itr = bundleDescriptor.getEjbs().iterator();
- itr.hasNext();) {
- EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
- super.check(ejbDescriptor);
- }
-
- if (bundleDescriptor.containsCMPEntity() &&
- context.getJDOException() == null) {
- jdc.cleanup();
- context.setJDOCodeGenerator(null);
- }
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * connector architecture
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getTestsListFileName() {
- return testsListFileName;
- }
-
- /**
- * @return <code>String</code> filename containing sunone tests
- */
- protected String getSunONETestsListFileName() {
- return sunONETestsListFileName;
- }
-
- protected void checkWebServicesClient(Descriptor descriptor)
- throws Exception {
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isWebServicesClient())
- return;
- EjbBundleDescriptorImpl desc = (EjbBundleDescriptorImpl) descriptor;
- WebServiceClientCheckMgrImpl webServiceClientCheckMgr = new WebServiceClientCheckMgrImpl(
- verifierFrameworkContext);
- if (desc.hasWebServiceClients()) {
- Set ejbdescs = desc.getEjbs();
- Iterator ejbIt = ejbdescs.iterator();
-
- while (ejbIt.hasNext()) {
- EjbDescriptor ejbDesc = (EjbDescriptor) ejbIt.next();
- context.setEjbDescriptorForServiceRef(ejbDesc);
- Set serviceRefDescriptors = ejbDesc.getServiceReferenceDescriptors();
- Iterator it = serviceRefDescriptors.iterator();
- while (it.hasNext()) {
- webServiceClientCheckMgr.setVerifierContext(context);
- webServiceClientCheckMgr.check(
- (ServiceReferenceDescriptor) it.next());
- }
- }
- context.setEjbDescriptorForServiceRef(null);
- }
- }
-
- protected String getSchemaVersion(Descriptor descriptor) {
- return getBundleDescriptor(descriptor).getSpecVersion();
- }
-
- protected void setModuleName(Result r) {
- r.setModuleName(Result.EJB);
- }
-
- protected EjbBundleDescriptorImpl getBundleDescriptor(Descriptor descriptor) {
- return ((EjbDescriptor) descriptor).getEjbBundleDescriptor();
- }
-
- /**
- * entity and mdb assertions should not be run for session descriptors and
- * similarly the other way round.
- */
- protected boolean isApplicable(TestInformation test, Descriptor descriptor) {
- String testName = test.getClassName();
- if(descriptor instanceof EjbSessionDescriptor &&
- (testName.indexOf("tests.ejb.entity")>=0 || // NOI18N
- testName.indexOf("tests.ejb.messagebean")>=0)) // NOI18N
- return false;
- if(descriptor instanceof EjbEntityDescriptor &&
- (testName.indexOf("tests.ejb.session")>=0 || // NOI18N
- testName.indexOf("tests.ejb.messagebean")>=0)) // NOI18N
- return false;
- if(descriptor instanceof EjbMessageBeanDescriptor &&
- (testName.indexOf("tests.ejb.session")>=0 || // NOI18N
- testName.indexOf("tests.ejb.entity")>=0)) // NOI18N
- return false;
- return true;
- }
-
- private String getAbstractArchiveUri(EjbBundleDescriptorImpl desc) {
- String archBase = context.getAbstractArchive().getURI().toString();
- ModuleDescriptor mdesc = desc.getModuleDescriptor();
- if(mdesc.isStandalone()) {
- return archBase;
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(mdesc.getArchiveUri());
- }
- }
-
- private void setDescClassLoader(EjbBundleDescriptorImpl bundleDescriptor) {
- Iterator bundleItr = bundleDescriptor.getEjbs().iterator();
- while (bundleItr.hasNext()) {
- EjbDescriptor descriptor = (EjbDescriptor) bundleItr.next();
- if (descriptor instanceof IASEjbCMPEntityDescriptor) {
- ((IASEjbCMPEntityDescriptor) (descriptor)).setClassLoader(
- context.getClassLoader());
- }
- }
- }
-
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor((EjbDescriptor)descriptor);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ejb/EjbVerifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ejb/EjbVerifier.java
deleted file mode 100755
index 4dbada2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/ejb/EjbVerifier.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.ejb;
-
-import java.io.File;
-import java.io.IOException;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EjbBundleDescriptor;
-import com.sun.enterprise.tools.verifier.BaseVerifier;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoaderFactory;
-import com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder;
-import com.sun.enterprise.tools.verifier.apiscan.stdapis.EjbClosureCompiler;
-import com.sun.enterprise.util.io.FileUtils;
-
-/**
- * The class handles the EJB Verification.
- *
- * @author Vikas Awasthi
- */
-public class EjbVerifier extends BaseVerifier {
-
- private EjbBundleDescriptor ejbd = null;
- private String classPath;//this is lazily populated in getClassPath()
- private boolean isASMode = false;
-
- public EjbVerifier(VerifierFrameworkContext verifierFrameworkContext,
- EjbBundleDescriptor ejbd) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- this.ejbd = ejbd;
- this.isASMode = !verifierFrameworkContext.isPortabilityMode();
- }
-
- public void verify() throws Exception {
- if (areTestsNotRequired(verifierFrameworkContext.isEjb()) &&
- areTestsNotRequired(verifierFrameworkContext.isWebServices()) &&
- areTestsNotRequired(verifierFrameworkContext.isWebServicesClient()) &&
- areTestsNotRequired(verifierFrameworkContext.isPersistenceUnits()))
- return;
-
- preVerification();
- createClosureCompiler();//this can be moved up to base verifier in future.
- verify(ejbd, new EjbCheckMgrImpl(verifierFrameworkContext));
- }
-
- public Descriptor getDescriptor() {
- return ejbd;
- }
-
- /**
- * Create the classloader from the extracted directory
- */
- protected ClassLoader createClassLoader()
- throws IOException {
- return ejbd.getClassLoader();
- }
-
- protected String getArchiveUri() {
- return FileUtils.makeFriendlyFilename(ejbd.getModuleDescriptor().getArchiveUri());
- }
-
- protected String[] getDDString() {
- String dd[] = {"META-INF/sun-ejb-jar.xml", "META-INF/ejb-jar.xml", "META-INF/glassfish-ejb-jar.xml", // NOI18N
- "META-INF/webservices.xml"}; // NOI18N
- return dd;
- }
-
- /**
- * Creates and returns the class path associated with the ejb archive.
- * Uses the exploded location of the archive for generating the classpath.
- *
- * @return entire classpath string
- * @throws IOException
- */
- protected String getClassPath() throws IOException {
- if (classPath != null) return classPath;
-
- if(isASMode)
- return (classPath = getClassPath(verifierFrameworkContext.getClassPath()));
-
- String cp;
- if (!ejbd.getModuleDescriptor().isStandalone()) {
- //take the cp from the enclosing ear file
- String ear_uri = verifierFrameworkContext.getExplodedArchivePath();
- File ear = new File(ear_uri);
- assert(ear.isDirectory());
- String earCP = ClassPathBuilder.buildClassPathForEar(ear);
- String libdir = ejbd.getApplication().getLibraryDirectory();
- if (libdir!=null) {
- earCP = getLibdirClasspath(ear_uri, libdir) + earCP;
- }
- String module_uri = ejbd.getModuleDescriptor().getArchiveUri();//this is a relative path
- File module = new File(module_uri);
- assert(module.isFile() && !module.isAbsolute());
- // exploder creates the directory replacing all dots by '_'
- File explodedModuleDir = new File(ear_uri,
- FileUtils.makeFriendlyFilename(module_uri));
- String moduleCP = ClassPathBuilder.buildClassPathForJar(
- explodedModuleDir);
- cp = moduleCP + File.pathSeparator + earCP;
- } else {
- String module_uri = verifierFrameworkContext.getExplodedArchivePath();//this is an absolute path
- File module = new File(module_uri);
- assert(module.isDirectory() && module.isAbsolute());
- cp = ClassPathBuilder.buildClassPathForJar(module);
- }
- return (classPath = cp);
- }
-
- /**
- * creates the ClosureCompiler for the ejb module and sets it to the
- * verifier context. This is used to compute the closure on the classes used
- * in the ejb archive.
- *
- * @throws IOException
- */
- protected void createClosureCompiler() throws IOException {
- String specVer = SpecVersionMapper.getEJBVersion(
- verifierFrameworkContext.getJavaEEVersion());
- Object arg = (isASMode)?ejbd.getClassLoader():(Object)getClassPath();
- EjbClosureCompiler cc = new EjbClosureCompiler(specVer,
- ClassFileLoaderFactory.newInstance(new Object[]{arg}));
- context.setClosureCompiler(cc);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/ControlPanel.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/ControlPanel.java
deleted file mode 100644
index a700a3d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/ControlPanel.java
+++ /dev/null
@@ -1,535 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.gui;
-
-
-import javax.help.CSH;
-import javax.help.HelpBroker;
-import javax.help.HelpSet;
-import javax.swing.BorderFactory;
-import javax.swing.Box;
-import javax.swing.BoxLayout;
-import javax.swing.ButtonGroup;
-import javax.swing.DefaultListModel;
-import javax.swing.JButton;
-import javax.swing.JFileChooser;
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JList;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.JRadioButton;
-import javax.swing.JScrollPane;
-import javax.swing.ListSelectionModel;
-import javax.swing.SwingConstants;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.Dimension;
-import java.awt.GridLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.awt.event.KeyEvent;
-import java.io.File;
-import java.net.URL;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.tools.verifier.util.VerifierConstants;
-
-public class ControlPanel extends JPanel {
-
- static com.sun.enterprise.util.LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
- static String allString =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".AllRadioButton", // NOI18N
- "All Results")); // NOI18N
- static String failString =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".FailuresOnlyRadioButton", // NOI18N
- "Failures Only")); // NOI18N
- static String warnString =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".FailuresWarningRadioButton", // NOI18N
- "Failures and Warnings only")); // NOI18N
-
- // Strings used for 508 compliance
- static String buttonName =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".buttonName", // NOI18N
- "Button")); // NOI18N
- static String buttonDesc =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".buttonDesc", // NOI18N
- "This is a button used to select an action")); // NOI18N
- static String radioButtonName =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".radioButtonName", // NOI18N
- "Radio Button")); // NOI18N
- static String radioButtonDesc =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".radioButtonDesc", // NOI18N
- "This is a radio button used to select one from option from many choices")); // NOI18N
- static String panelName =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".panelName", // NOI18N
- "Panel")); // NOI18N
- static String panelDesc =
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".panelDesc", // NOI18N
- "This is a panel in the verifier window")); // NOI18N
-
- static JRadioButton allButton = new JRadioButton(allString);
- static JRadioButton failButton = new JRadioButton(failString);
- static JRadioButton warnButton = new JRadioButton(warnString);
- static final String helpsetName = "Help"; // NOI18N
-
-
- // Logger to log messages
- private static Logger logger = LogDomains.getLogger(LogDomains.AVK_VERIFIER_LOGGER);
-
- // Main HelpSet & Broker
- private static HelpBroker mainHB = null;
-
- // Defaults for Main Help, - don't i18n, must be called this
- private static int reportLevel = VerifierConstants.ALL;
-
- final DefaultListModel listModel; // the list of files to verify
-
- JButton okButton;
- JButton closeButton;
- JButton helpButton;
-
- JFrame parent;
- HelpSet mainHS = null;
-
- /**
- * This is the control panel of the Verifier GUI
- */
- public ControlPanel(JFrame p) {
- parent = p;
-
- // 508 for this panel
- this.getAccessibleContext().setAccessibleName(panelName);
- this.getAccessibleContext().setAccessibleDescription(panelDesc);
- allButton.getAccessibleContext().setAccessibleName(radioButtonName);
- allButton.getAccessibleContext().setAccessibleDescription(radioButtonDesc);
- failButton.getAccessibleContext().setAccessibleName(radioButtonName);
- failButton.getAccessibleContext().setAccessibleDescription(radioButtonDesc);
- warnButton.getAccessibleContext().setAccessibleName(radioButtonName);
- warnButton.getAccessibleContext().setAccessibleDescription(radioButtonDesc);
-
- // set up title border
- setBorder(BorderFactory.createTitledBorder(BorderFactory.createLineBorder(Color.black),
- (smh.getLocalString("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".ItemsToBeVerifierPanelLabel", // NOI18N
- "Items to be Verified")))); // NOI18N
- setLayout(new BoxLayout(this, BoxLayout.X_AXIS));
-
- //Create the verification list U
-
- //buttons
- JButton addButton = new JButton((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".AddButton", // NOI18N
- "Add..."))); // NOI18N
- JButton deleteButton = new JButton((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".DeleteButton", // NOI18N
- "Delete"))); // NOI18N
-
- // 508 compliance for the above buttons
- addButton.getAccessibleContext().setAccessibleName(buttonName);
- addButton.getAccessibleContext().setAccessibleDescription(buttonDesc);
- addButton.setMnemonic('A');
- deleteButton.getAccessibleContext().setAccessibleName(buttonName);
- deleteButton.getAccessibleContext().setAccessibleDescription(buttonDesc);
- deleteButton.setMnemonic('D');
-
- //main part of the dialog
- listModel = new DefaultListModel();
- final JList list = new JList(listModel);
- // 508 for JList
- list.getAccessibleContext().setAccessibleName(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".listName", // NOI18N
- "List")); // NOI18N
- list.getAccessibleContext().setAccessibleDescription(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".listDesc", // NOI18N
- "This is a list")); // NOI18N
-
- list.setSelectionMode(ListSelectionModel.SINGLE_INTERVAL_SELECTION);
-
- JScrollPane listScroller = new JScrollPane(list);
- // 508 for JScrollPane
- listScroller.getAccessibleContext().setAccessibleName(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".scrName", // NOI18N
- "Scroll Pane")); // NOI18N
- listScroller.getAccessibleContext().setAccessibleDescription
- (smh.getLocalString("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".scrDesc", // NOI18N
- "This is a scroll pane that helps to scroll the list")); // NOI18N
- listScroller.setPreferredSize(new Dimension(250, 80));
- //XXX: Must do the following, too, or else the scroller thinks
- //XXX: it's taller than it is:
- listScroller.setMinimumSize(new Dimension(250, 80));
- listScroller.setAlignmentX(LEFT_ALIGNMENT);
-
- //Create a container so that we can add a title around
- //the scroll pane. Can't add a title directly to the
- //scroll pane because its background would be white.
- //Lay out the label and scroll pane from top to button.
- JPanel listPane = new JPanel();
- // 508 for this panel
- listPane.getAccessibleContext().setAccessibleName(panelName);
- listPane.getAccessibleContext().setAccessibleDescription(panelDesc);
- listPane.setLayout(new BoxLayout(listPane, BoxLayout.Y_AXIS));
- //JLabel label = new JLabel("Selected Items");
- //label.setLabelFor(list);
- //listPane.add(label);
- listPane.add(Box.createRigidArea(new Dimension(0, 5)));
- listPane.add(listScroller);
- listPane.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));
-
- //Lay out the buttons from left to right.
- JPanel buttonPane = new JPanel();
- // 508 for this panel
- buttonPane.getAccessibleContext().setAccessibleName(panelName);
- buttonPane.getAccessibleContext().setAccessibleDescription(panelDesc);
- buttonPane.setLayout(new BoxLayout(buttonPane, BoxLayout.X_AXIS));
- buttonPane.setBorder(BorderFactory.createEmptyBorder(0, 10, 10, 10));
- buttonPane.add(Box.createHorizontalGlue());
- buttonPane.add(addButton);
- buttonPane.add(Box.createRigidArea(new Dimension(10, 0)));
- buttonPane.add(deleteButton);
-
- //Put everything together, using the content pane's BorderLayout.
- JPanel listPanel = new JPanel();
- // 508 for this panel
- listPanel.getAccessibleContext().setAccessibleName(panelName);
- listPanel.getAccessibleContext().setAccessibleDescription(panelDesc);
- listPanel.setLayout(new BorderLayout());
- listPanel.add(listPane, BorderLayout.CENTER);
- listPanel.add(buttonPane, BorderLayout.SOUTH);
-
- // create the file chooser
- final JFileChooser fileChooser = new JFileChooser();
-
- // Add 508 compliance
- fileChooser.getAccessibleContext().setAccessibleName(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".fcName", // NOI18N
- "FileChooser")); // NOI18N
- fileChooser.getAccessibleContext().setAccessibleDescription(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".fcDesc", // NOI18N
- "This dialog box enables selection of files")); // NOI18N
- fileChooser.setApproveButtonMnemonic('O');
-
- fileChooser.setMultiSelectionEnabled(true);
- fileChooser.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (e.getActionCommand().equals("ApproveSelection")) { // NOI18N
- File[] files = fileChooser.getSelectedFiles();
- for (int i = 0; i < files.length; i++) {
- if (!listModel.contains(files[i])) {//don't allow duplicates
- listModel.addElement(files[i]);
- }
- }
- //select the last one selected for verification.
- list.setSelectedIndex(listModel.getSize() - 1);
- }
- }
- });
-
- // set up file chooser button listeners
- addButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- fileChooser.rescanCurrentDirectory();
- fileChooser.setFileSelectionMode(JFileChooser.FILES_ONLY);
- fileChooser.showOpenDialog(null);
- }
- });
-
- deleteButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (!list.isSelectionEmpty()) {
- Object[] selections = list.getSelectedValues();
- for (int i = 0; i < selections.length; i++) {
- listModel.removeElement(selections[i]);
- }
- } else {
- JOptionPane.showMessageDialog(parent,
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.deleteButtonNoFiles", // NOI18N
- "You must first select file to delete.")) + // NOI18N
- "\n" + // NOI18N
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.deleteButtonNoFiles2", // NOI18N
- "Then click on the Delete button, to delete " + // NOI18N
- "file from list of files to be verified.")), // NOI18N
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.deleteTitle", // NOI18N
- "ERROR")), // NOI18N
- JOptionPane.ERROR_MESSAGE);
- }
- }
- });
-
- // set-up the radio buttons.
- allButton.setMnemonic(KeyEvent.VK_L);
- allButton.setActionCommand(allString);
- allButton.setSelected(getReportLevel() == VerifierConstants.ALL);
-
- failButton.setMnemonic(KeyEvent.VK_F);
- failButton.setActionCommand(failString);
- failButton.setSelected(getReportLevel() == VerifierConstants.FAIL);
-
- warnButton.setMnemonic(KeyEvent.VK_W);
- warnButton.setActionCommand(warnString);
- warnButton.setSelected(getReportLevel() == VerifierConstants.WARN);
-
- // Group the radio buttons.
- ButtonGroup group = new ButtonGroup();
- group.add(allButton);
- group.add(failButton);
- group.add(warnButton);
-
-
- // Put the radio buttons in a column in a panel
- JPanel radioPanel = new JPanel();
- // 508 for this panel
- radioPanel.getAccessibleContext().setAccessibleName(panelName);
- radioPanel.getAccessibleContext().setAccessibleDescription(panelDesc);
- radioPanel.setLayout(new BoxLayout(radioPanel, BoxLayout.Y_AXIS));
- JLabel d = new JLabel((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".RadioButtonLabel", // NOI18N
- "Display:"))); // NOI18N
- d.setVerticalAlignment(SwingConstants.BOTTOM);
- // 508 compliance for the JLabel
- d.getAccessibleContext().setAccessibleName(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".labelName", // NOI18N
- "Label")); // NOI18N
- d.getAccessibleContext().setAccessibleDescription(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".labelDesc", // NOI18N
- "This is a label")); // NOI18N
- radioPanel.add(d);
- radioPanel.add(allButton);
- radioPanel.add(failButton);
- radioPanel.add(warnButton);
-
- // create the control buttons
- okButton =
- new JButton((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".OKButton", // NOI18N
- "OK"))); // NOI18N
- closeButton =
- new JButton((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".CloseButton", // NOI18N
- "Close"))); // NOI18N
- helpButton =
- new JButton((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".HelpButton", // NOI18N
- "Help"))); // NOI18N
-
- // 508 compliance for the above buttons
- okButton.getAccessibleContext().setAccessibleName(buttonName);
- okButton.getAccessibleContext().setAccessibleDescription(buttonDesc);
- okButton.setMnemonic('O');
- closeButton.getAccessibleContext().setAccessibleName(buttonName);
- closeButton.getAccessibleContext().setAccessibleDescription(buttonDesc);
- closeButton.setMnemonic('C');
- helpButton.getAccessibleContext().setAccessibleName(buttonName);
- helpButton.getAccessibleContext().setAccessibleDescription(buttonDesc);
- helpButton.setMnemonic('H');
-
-
- boolean mainHelpSetWoes = false;
- boolean usingDeployTool = false;
-
- if (!usingDeployTool) {
- // Create the main HelpBroker
- try {
- ClassLoader cl = ControlPanel.class.getClassLoader();
- URL url = HelpSet.findHelpSet(cl, helpsetName);
- mainHS = new HelpSet(cl, url);
- } catch (Exception ee) {
- logger.log(Level.WARNING,
- "com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".debug.helpSetMissing", // NOI18N
- new Object[]{helpsetName});
- JOptionPane.showMessageDialog(this,
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.helpSetMissing1", // NOI18N
- "Could not find Help Set for {0}.", // NOI18N
- new Object[]{helpsetName})) +
- "\n" + // NOI18N
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.helpSetMissing2", // NOI18N
- "Please consult your host administrator. " + // NOI18N
- "Starting Verifier with JavaHelp disabled."))); // NOI18N
- mainHelpSetWoes = true;
- } catch (ExceptionInInitializerError ex) {
- logger.log(Level.WARNING,
- "com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".debug.ExceptionInInitializerError"); // NOI18N
- JOptionPane.showMessageDialog(this,
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.helpSetMissing1", // NOI18N
- "Could not find Help Set for {0}.", // NOI18N
- new Object[]{helpsetName})) +
- "\n" + // NOI18N
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.helpSetMissing2", // NOI18N
- "Please consult your host administrator. " + // NOI18N
- "Starting Verifier with JavaHelp disabled."))); // NOI18N
- mainHelpSetWoes = true;
- }
-
- if (!mainHelpSetWoes) {
- mainHB = mainHS.createHelpBroker();
- setMainHelpBroker(mainHB);
-
- // hook this into "top" equivalent for verifier
- mainHB.enableHelpKey(this, "Verifier", null); // NOI18N
-
- CSH.setHelpIDString(helpButton, "Verifier"); // NOI18N
-
- // set up help button listener
- helpButton.addActionListener(new CSH.DisplayHelpFromSource(mainHB));
- } else {
- // grey out help button since there was woes...
- helpButton.setEnabled(false);
- }
- } else {
- // using deploytool, turn off javahelp button.
- helpButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- JOptionPane.showMessageDialog(parent,
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".optionPane.helpDisabled", // NOI18N
- "Verifier online help disabled."))); // NOI18N
- }
- });
- }
-
-
- // put the control buttons on a panel
- JPanel buttonPanel = new JPanel();
- // 508 for this panel
- buttonPanel.getAccessibleContext().setAccessibleName(panelName);
- buttonPanel.getAccessibleContext().setAccessibleDescription(panelDesc);
- GridLayout gl = new GridLayout(0, 1);
- gl.setVgap(10);
- gl.setHgap(5);
- buttonPanel.setLayout(gl);
- buttonPanel.add(okButton);
- buttonPanel.add(closeButton);
- buttonPanel.add(helpButton);
- buttonPanel.add(new JLabel(""));
-
- // Add the controls to the Panel
- add(listPanel);
- add(radioPanel);
- add(buttonPanel);
-
- // Register a listener for the report level radio buttons.
- RadioListener myListener = new RadioListener();
- addRadioButtonListener((ActionListener) myListener);
- }
-
- public static void setMainHelpBroker(HelpBroker hb) {
- mainHB = hb;
- Thread t = new Thread() {
- public void run() {
- if (mainHB != null) {
- mainHB.initPresentation();//reduce help first time startup
- }
- }
- };
- t.setPriority(Thread.MIN_PRIORITY);
- t.start();
- }
-
- private static void setReportLevel(int rl) {
- reportLevel = rl;
- }
-
- static int getReportLevel() {
- return reportLevel;
- }
-
- class RadioListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == allButton) {
- setReportLevel(VerifierConstants.ALL);
- }
- if (e.getSource() == failButton) {
- setReportLevel(VerifierConstants.FAIL);
- }
- if (e.getSource() == warnButton) {
- setReportLevel(VerifierConstants.WARN);
- }
- }
- }
-
- // add a listener to the three radio buttons
- public static void addRadioButtonListener(ActionListener r) {
- allButton.addActionListener(r);
- failButton.addActionListener(r);
- warnButton.addActionListener(r);
- }
-
- // add a Jar file to the items to verify list
- public void addJarFile(File jarFile) {
- listModel.addElement(jarFile);
- }
-
- // remove all Jar files from the items to verify list
- public void removeAllJarFiles() {
- listModel.clear();
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/MainFrame.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/MainFrame.java
deleted file mode 100644
index 74b5c69..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/MainFrame.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.gui;
-
-import javax.swing.*;
-import java.awt.Container;
-import java.awt.event.WindowAdapter;
-import java.awt.event.WindowEvent;
-import java.io.File;
-
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.tools.verifier.Verifier;
-
-public class MainFrame extends JFrame {
-
-
- /**
- * Deploytool gui entry point (acessed via reflection)
- */
- private static MainFrame verifierPanel = null;
- private static boolean exitOnClose = false;
- MainPanel mp = null;
-
- /**
- * Constructor.
- */
- public MainFrame() {
- this(null);
- }
-
- public MainFrame(String jarFileName) {
- this(jarFileName, false, null);
- }
-
- public MainFrame(String jarFileName, boolean exitOnClose,
- Verifier verifier) {
- super((StringManagerHelper.getLocalStringsManager().getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainFrame" + // NOI18N
- ".WindowTitle", // NOI18N
- "Verify Specification Compliance"))); // NOI18N
- setExitOnClose(exitOnClose);
-
- // 508 compliance for the JFrame
- this.getAccessibleContext().setAccessibleName(StringManagerHelper.getLocalStringsManager()
- .getLocalString("com.sun.enterprise.tools.verifier.gui.MainFrame" + // NOI18N
- ".jfName", // NOI18N
- "Main Window")); // NOI18N
- this.getAccessibleContext().setAccessibleDescription(StringManagerHelper.getLocalStringsManager()
- .getLocalString("com.sun.enterprise.tools.verifier.gui.MainFrame" + // NOI18N
- ".jfDesc", // NOI18N
- "This is the main window of the verifier tool")); // NOI18N
-
- if (exitOnClose) {
- this.addWindowListener(new WindowAdapter() {
- public void windowClosing(WindowEvent e) {
- System.exit(0);
- }
- });
- }
- Container contentPane = getContentPane();
- mp = new MainPanel(this, jarFileName, verifier);
- contentPane.add(mp);
- JOptionPane.showMessageDialog(this,
- StringManagerHelper.getLocalStringsManager()
- .getLocalString("com.sun.enterprise.tools.verifier.gui.Deprecation", // NOI18N
- "\nThis GUI has been deprecated. Please use the GUI that comes with NetBeans."), // NOI18N
- "WARNING", JOptionPane.WARNING_MESSAGE); // NOI18N
- }
-
- public static JFrame getDeploytoolVerifierFrame(File jarFile) {
- if (verifierPanel == null) {
- verifierPanel = new MainFrame();
- } else {
- verifierPanel.getMainPanel().reset();
- }
- if (jarFile != null) {
- verifierPanel.getMainPanel().setJarFilename(
- jarFile.getAbsolutePath());
- }
- return verifierPanel;
- }
-
-
- public MainPanel getMainPanel() {
- return mp;
- }
-
- public static boolean getExitOnClose() {
- return exitOnClose;
- }
-
- public static void setExitOnClose(boolean b) {
- exitOnClose = b;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/MainPanel.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/MainPanel.java
deleted file mode 100644
index 775ed14..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/MainPanel.java
+++ /dev/null
@@ -1,285 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.gui;
-
-import javax.swing.JFrame;
-import javax.swing.JLabel;
-import javax.swing.JOptionPane;
-import javax.swing.JPanel;
-import javax.swing.SwingUtilities;
-
-import java.awt.BorderLayout;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.io.File;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.logging.LogRecord;
-
-import com.sun.enterprise.tools.verifier.ResultManager;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-
-public class MainPanel extends JPanel implements Runnable {
-
- static com.sun.enterprise.util.LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
- ResultsPanel resultsPanel = new ResultsPanel();
- ControlPanel verifierControls;
-
- JLabel statusLabel = new JLabel((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".Status_Idle", // NOI18N
- "Idle"))); // NOI18N
- Verifier verifier;
- Enumeration components;
- Thread running = null;
-
- /**
- * This is the top-level panel of the Verifier GUI
- */
- public MainPanel(JFrame parent) {
- this(parent, null, null);
- }
-
- public MainPanel(JFrame parent, String jarFileName, Verifier verifier) {
- super(new BorderLayout(), true);
-
- // 508 compliance
- this.getAccessibleContext().setAccessibleName(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".panelName", // NOI18N
- "Panel")); // NOI18N
- this.getAccessibleContext().setAccessibleDescription(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".PanelDesc", // NOI18N
- "This is a panel")); // NOI18N
- statusLabel.getAccessibleContext().setAccessibleName(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".labelName", // NOI18N
- "Label")); // NOI18N
- statusLabel.getAccessibleContext().setAccessibleDescription
- (smh.getLocalString("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".labelDesc", // NOI18N
- "This is a label")); // NOI18N
-
- //verifier.setFrame(parent);
- verifierControls = new ControlPanel(parent);
- // set the initial jar in file list
- setJarFilename(jarFileName);
- this.verifier = verifier;
-
- add("North", verifierControls); // NOI18N
- add("Center", resultsPanel); // NOI18N
- add("South", statusLabel); // NOI18N
-
-
- verifierControls.okButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (getFileList().hasMoreElements()) {
- resultsPanel.clearOldResults();
- start();
- } else {
- JOptionPane.showMessageDialog(verifierControls, (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".optionPane.okButtonNoFiles", // NOI18N
- "You must first select file to verify.")) + // NOI18N
- "\n" + // NOI18N
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".optionPane.okButtonNoFiles2", // NOI18N
- "Use the Add button to select file to be verified," + // NOI18N
- " then click on OK button."))); // NOI18N
- }
- }
- });
-
- verifierControls.closeButton.addActionListener(new ActionListener() {
- public void actionPerformed(ActionEvent e) {
- if (MainFrame.getExitOnClose()) {
- System.exit(0);
- } else {
- stop();
- enableOK();
- enableClose();
- reset();
- try {
- Class cls = Class.forName("javax.swing.JFrame"); // NOI18N
- JFrame frame = (JFrame) SwingUtilities.getAncestorOfClass(cls, resultsPanel);
- frame.setVisible(false);
-
- //frame.dispose();
- } catch (ClassNotFoundException ex) {
- // ??can this happen
- ex.getMessage();
- }
- }
- }
- });
- }
-
- /**
- * Retrieve the verifierControls panel of the Verifier GUI
- */
- public ControlPanel getVerifierControlPanel() {
- return verifierControls;
- }
-
- public void setJarFilename(String jarFileName) {
- // set the initial jar in file list
- if (jarFileName != null) {
- File jarFile = new File(jarFileName);
- if (jarFile.exists()) {
- getVerifierControlPanel().addJarFile(jarFile);
- }
- }
- }
-
- private Verifier getVerifier() {
- return verifier;
- }
-
- public void reset() {
- resultsPanel.clearOldResults();
- resultsPanel.clearResults();
- verifierControls.removeAllJarFiles();
- }
-
- public void setStatus(String stat) {
- statusLabel.setText(stat);
- }
-
- public Enumeration getFileList() {
- return verifierControls.listModel.elements();
- }
-
- public void clearResults() {
- resultsPanel.clearResults();
- }
-
- void disableOK() {
- verifierControls.okButton.setEnabled(false);
- }
-
- void enableOK() {
- verifierControls.okButton.setEnabled(true);
- }
-
- void disableClose() {
- verifierControls.closeButton.setEnabled(false);
- }
-
- void enableClose() {
- verifierControls.closeButton.setEnabled(true);
- }
-
- public void start() {
-
- if (running == null) {
- components = getFileList();
- clearResults();
- running = new Thread(this);
- running.setPriority(Thread.MIN_PRIORITY);
- running.start();
- }
- }
-
- public void stop() {
- if (running != null) {
- running = null;
- setStatus((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".Status_Closed", // NOI18N
- "Closed"))); // NOI18N
- }
- }
-
- public void run() {
- try {
- disableOK();
-
- while (components.hasMoreElements() && running != null) {
- File jarFile = ((File) components.nextElement());
- String jarName = ((jarFile).getPath());
- try {
- setStatus((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".Status_Verifying", // NOI18N
- "Verifying archive {0}...", // NOI18N
- new Object[]{jarName})));
- VerifierFrameworkContext vfc = new VerifierFrameworkContext();
- vfc.setJarFileName(jarFile.getAbsolutePath());
- getVerifier().init(vfc);
- getVerifier().verify();
- Iterator itr = vfc.getResultManager().getError().iterator();
- while (itr.hasNext()) {
- LogRecord log = (LogRecord) itr.next();
- log.setLoggerName(jarFile.getName());
- resultsPanel.addError(log);
- }
- setStatus((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".Status_WritingReport", // NOI18N
- "Writing report..."))); // NOI18N
- verifier.generateReports();
-
- if (vfc.getResultManager().getFailedCount() +
- vfc.getResultManager().getErrorCount() ==
- 0) { // this code might not be called
- resultsPanel.addDetailText((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".AllTestsPassed", // NOI18N
- "{0}: All tests passed.", // NOI18N
- new Object[]{jarFile.getName()})) +
- "\n"); // NOI18N
- } else {
- resultsPanel.addDetailText((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".SomeTestsFailed", // NOI18N
- "{0}: Some tests failed.", // NOI18N
- new Object[]{jarFile.getName()})) +
- "\n"); // NOI18N
- }
-
- } catch (Throwable t) {
- JOptionPane.showMessageDialog(this,
- (smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".ErrorLoading", // NOI18N
- "Error verifying {0}: {1}", // NOI18N
- new Object[]{jarName, t.getMessage()})));
- resultsPanel.addDetailText((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".ErrorLoading", // NOI18N
- "Error verifying {0}: {1}", // NOI18N
- new Object[]{jarName, t.getMessage()})) +
- "\n"); // NOI18N
- }
- }
-
- setStatus((smh.getLocalString
- ("com.sun.enterprise.tools.verifier.gui.MainPanel" + // NOI18N
- ".Status_Idle", // NOI18N
- "Idle"))); // NOI18N
- enableOK();
- enableClose();
- } finally {
- running = null;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/ResultsPanel.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/ResultsPanel.java
deleted file mode 100644
index abd6b87..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/gui/ResultsPanel.java
+++ /dev/null
@@ -1,698 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.gui;
-
-
-import javax.swing.BorderFactory;
-import javax.swing.DefaultCellEditor;
-import javax.swing.JPanel;
-import javax.swing.JScrollBar;
-import javax.swing.JScrollPane;
-import javax.swing.JTable;
-import javax.swing.JTextArea;
-import javax.swing.JTextField;
-import javax.swing.ListSelectionModel;
-import javax.swing.event.ListSelectionEvent;
-import javax.swing.event.ListSelectionListener;
-import javax.swing.table.DefaultTableModel;
-
-import java.awt.BorderLayout;
-import java.awt.Color;
-import java.awt.event.ActionEvent;
-import java.awt.event.ActionListener;
-import java.util.Enumeration;
-import java.util.EventObject;
-import java.util.Vector;
-import java.util.logging.LogRecord;
-
-import com.sun.enterprise.tools.verifier.CheckMgr;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.tools.verifier.VerifierEventsListener;
-import com.sun.enterprise.tools.verifier.util.VerifierConstants;
-
-public class ResultsPanel extends JPanel implements VerifierEventsListener {
-
- JTable table;
- DefaultTableModel tableModel;
- JScrollPane tableScrollPane;
- JScrollPane textScrollPane;
- JTextArea detailText;
- Vector<String> details = new Vector<String>();
- private Vector<Result> passResults = new Vector<Result>();
- private Vector<Result> failResults = new Vector<Result>();
- private Vector<LogRecord> errorResults = new Vector<LogRecord>();
- private Vector<Result> warnResults = new Vector<Result>();
- private Vector<Result> naResults = new Vector<Result>();
- private Vector<Result> notImplementedResults = new Vector<Result>();
- private Vector<Result> notRunResults = new Vector<Result>();
- private Vector<Result> defaultResults = new Vector<Result>();
- private static final com.sun.enterprise.util.LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
-
- //final String[] columnNames = {"Item", "Test Name", "Result"};
- final String[] columnNames = {
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName1", // NOI18N
- "Item")), // NOI18N
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName2", // NOI18N
- "Test Name")), // NOI18N
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName3", // NOI18N
- "Result"))}; // NOI18N
- final String errStr = smh.getLocalString(getClass().getName()+".errStr", // NOI18N
- "Error during verification"); // NOI18N
- final String errStr1 = smh.getLocalString(getClass().getName()+".errStr1", // NOI18N
- "ERROR"); // NOI18N
-
-
- public ResultsPanel() {
-
- setLayout(new BorderLayout());
- setBorder(
- BorderFactory.createTitledBorder(
- BorderFactory.createLineBorder(Color.black),
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".ResultsPanelLabel", // NOI18N
- "Results: (Click on Item to show test Details below)")))); // NOI18N
-
- // 508 compliance
- this.getAccessibleContext().setAccessibleName(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".panelName", // NOI18N
- "Panel")); // NOI18N
- this.getAccessibleContext().setAccessibleDescription(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".PanelDesc", // NOI18N
- "This is a panel")); // NOI18N
-
- CheckMgr.addVerifierEventsListener(this);
-
- // set up result table
- tableModel = new DefaultTableModel(columnNames, 0);
- table = new JTable(tableModel);
- // 508 for JTable
- table.getAccessibleContext().setAccessibleName(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".tableName", // NOI18N
- "Table")); // NOI18N
- table.getAccessibleContext().setAccessibleDescription(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".tableDesc", // NOI18N
- "This is a table of items")); // NOI18N
- table.setSelectionMode(ListSelectionModel.SINGLE_SELECTION);
- tableScrollPane = new JScrollPane(table);
- // 508 for JScrollPane
- tableScrollPane.getAccessibleContext().setAccessibleName(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".scrName1", // NOI18N
- "Scroll Pane")); // NOI18N
- tableScrollPane.getAccessibleContext().setAccessibleDescription(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".scrDesc1", // NOI18N
- "This is a scroll pane that helps to scroll the list")); // NOI18N
- sizeTableColumns();
- // make the cells uneditable
- JTextField field = new JTextField();
- // 508 for JTextField
- field.getAccessibleContext().setAccessibleName(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".fielsName", // NOI18N
- "Text Field")); // NOI18N
- field.getAccessibleContext().setAccessibleDescription(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".fieldDesc", // NOI18N
- "This is a text field")); // NOI18N
- table.setDefaultEditor(Object.class, new DefaultCellEditor(field) {
- public boolean isCellEditable(EventObject anEvent) {
- return false;
- }
- });
- // add action listener to table to show details
- table.getSelectionModel().addListSelectionListener(new ListSelectionListener() {
- public void valueChanged(ListSelectionEvent e) {
- if (!e.getValueIsAdjusting()) {
- if (table.getSelectionModel().isSelectedIndex(
- e.getLastIndex())) {
- setDetailText(
- (String) details.elementAt(e.getLastIndex()));
- } else if (table.getSelectionModel().isSelectedIndex(
- e.getFirstIndex())) {
- setDetailText(
- (String) details.elementAt(e.getFirstIndex()));
- }
- }
- }
- });
-
- // create detail text area
- detailText = new JTextArea(4, 50);
- // 508 for JTextArea
- detailText.getAccessibleContext().setAccessibleName(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".areaName", // NOI18N
- "Text Area")); // NOI18N
- detailText.getAccessibleContext().setAccessibleDescription(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".areaDesc", // NOI18N
- "This is a text area")); // NOI18N
- detailText.setEditable(false);
- textScrollPane = new JScrollPane(detailText);
- // 508 for JScrollPane
- textScrollPane.getAccessibleContext().setAccessibleName(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".scrName2", // NOI18N
- "Scroll Pane")); // NOI18N
- textScrollPane.getAccessibleContext().setAccessibleDescription(
- smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ControlPanel" + // NOI18N
- ".scrDesc2", // NOI18N
- "This is a scroll pane that helps to scroll the list")); // NOI18N
- textScrollPane.setBorder(
- BorderFactory.createTitledBorder(
- BorderFactory.createEmptyBorder(),
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".DetailsPanelLabel", // NOI18N
- "Details:")))); // NOI18N
-
- //add the components to the panel
- add("Center", tableScrollPane); // NOI18N
- add("South", textScrollPane); // NOI18N
-
- // Register a listener for the report level radio buttons.
- // to allow post-processing filtering
- RadioListener myListener = new RadioListener();
- ControlPanel.addRadioButtonListener((ActionListener) myListener);
- }
-
- class RadioListener implements ActionListener {
- public void actionPerformed(ActionEvent e) {
- if (e.getSource() == ControlPanel.allButton) {
- if ((getPassResultsForDisplay().size() > 0) ||
- (getFailResultsForDisplay().size() > 0) ||
- (getErrorResultsForDisplay().size() > 0) ||
- (getWarnResultsForDisplay().size() > 0) ||
- (getNaResultsForDisplay().size() > 0) ||
- (getNotImplementedResultsForDisplay().size() > 0) ||
- (getNotRunResultsForDisplay().size() > 0) ||
- (getDefaultResultsForDisplay().size() > 0)) {
- upDateDisplay(VerifierConstants.ALL);
- } else {
- clearResults();
- }
- }
- if (e.getSource() == ControlPanel.failButton) {
- if (getFailResultsForDisplay().size() > 0 ||
- getErrorResultsForDisplay().size() > 0) {
- upDateDisplay(VerifierConstants.FAIL);
- } else {
- clearResults();
- }
- }
- if (e.getSource() == ControlPanel.warnButton) {
- if ((getFailResultsForDisplay().size() > 0) ||
- (getErrorResultsForDisplay().size() > 0) ||
- (getWarnResultsForDisplay().size() > 0)) {
- upDateDisplay(VerifierConstants.WARN);
- } else {
- clearResults();
- }
- }
- }
- }
-
- public void setDetailText(String details) {
- detailText.setText(details);
- JScrollBar scrollBar = textScrollPane.getVerticalScrollBar();
- if (scrollBar != null) {
- scrollBar.setValue(0);
- }
- }
-
- public void addDetailText(String details) {
- detailText.append(details);
- }
-
- public void clearResults() {
- //clear the table
- tableModel = new DefaultTableModel(columnNames, 0);
- table.setModel(tableModel);
- sizeTableColumns();
- //clear the detail text
- setDetailText("");
- //clear the details Vector
- details = new Vector<String>();
- }
-
- void sizeTableColumns() {
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName1", // NOI18N
- "Item"))) // NOI18N
- .setMinWidth(150);
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName1", // NOI18N
- "Item"))) // NOI18N
- .setMaxWidth(200);
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName1", // NOI18N
- "Item"))) // NOI18N
- .setPreferredWidth(180);
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName2", // NOI18N
- "Test Name"))) // NOI18N
- .setMinWidth(150);
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName2", // NOI18N
- "Test Name"))) // NOI18N
- .setPreferredWidth(180);
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName3", // NOI18N
- "Result"))) // NOI18N
- .setMinWidth(120);
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName3", // NOI18N
- "Result"))) // NOI18N
- .setMaxWidth(200);
- table.getColumn(
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".columnName3", // NOI18N
- "Result"))) // NOI18N
- .setPreferredWidth(160);
- table.setAutoResizeMode(JTable.AUTO_RESIZE_ALL_COLUMNS);
- table.sizeColumnsToFit(0);
- }
-
- private void upDateDisplayAll() {
- upDateDisplayFail();
- upDateDisplayWarn();
- upDateDisplayPass();
- upDateDisplayNa();
- upDateDisplayNotImplemented();
- upDateDisplayNotRun();
- upDateDisplayDefault();
- upDateDisplayError();
- }
-
-
- private void updateTableRows(Vector results) {
- String status;
- // update display approriately
- for (int i = 0; i < results.size(); i++) {
- Result r = ((Result) results.elementAt(i));
- StringBuffer s = new StringBuffer(
- "Assertion:" + r.getAssertion() + "\n"); // NOI18N
- switch (r.getStatus()) {
- case Result.PASSED:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Passed", // NOI18N
- "Passed")); // NOI18N
- Enumeration e = r.getGoodDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.FAILED:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Failed", // NOI18N
- "FAILED")); // NOI18N
- Enumeration e = r.getErrorDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.WARNING:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Warning", // NOI18N
- "WARNING")); // NOI18N
- Enumeration e = r.getWarningDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.NOT_APPLICABLE:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_NotApplicable", // NOI18N
- "Not Applicable")); // NOI18N
- Enumeration e = r.getNaDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.NOT_IMPLEMENTED:
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_NotImplemented", // NOI18N
- "Not Implemented")); // NOI18N
- break;
- case Result.NOT_RUN:
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_NotRun", // NOI18N
- "Not Run")); // NOI18N
- break;
- default:
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Unknown", // NOI18N
- "Unknown")); // NOI18N
- break;
- }
- details.add(s.toString());
- Object[] row = {r.getComponentName(), r.getTestName(), status};
- tableModel.addRow(row);
- }//for
- table.sizeColumnsToFit(0);
- }
-
- private void upDateDisplayPass() {
- updateTableRows(getPassResultsForDisplay());
- }
-
- private void upDateDisplayFail() {
- updateTableRows(getFailResultsForDisplay());
- }
-
- private void upDateDisplayError() {
- Vector errors = getErrorResultsForDisplay();
- for (int i = 0; i < errors.size(); i++) {
- LogRecord r = (LogRecord) errors.elementAt(i);
- details.add(r.getMessage() + "\n" + r.getThrown().getMessage()); // NOI18N
- Object[] row = {r.getLoggerName(), errStr, errStr1};
- tableModel.addRow(row);
- }
- table.sizeColumnsToFit(0);
- }
-
- private void upDateDisplayWarn() {
- updateTableRows(getWarnResultsForDisplay());
- }
-
- private void upDateDisplayNa() {
- updateTableRows(getNaResultsForDisplay());
- }
-
- private void upDateDisplayNotImplemented() {
- updateTableRows(getNotImplementedResultsForDisplay());
- }
-
- private void upDateDisplayNotRun() {
- updateTableRows(getNotRunResultsForDisplay());
- }
-
- private void upDateDisplayDefault() {
- updateTableRows(getDefaultResultsForDisplay());
- }
-
- void addError(LogRecord r) {
- saveErrorResultsForDisplay(r);
- details.add(r.getMessage() + "\n" + r.getThrown().getMessage()); // NOI18N
- // create a table row for this result
- Object[] row = {r.getLoggerName(), errStr, errStr1};
- tableModel.addRow(row);
- table.sizeColumnsToFit(0);
- }
-
- public void upDateDisplay(int status) {
- // update display approriately
- clearResults();
- if (status == VerifierConstants.ALL) {
- upDateDisplayAll();
- }
- if (status == VerifierConstants.FAIL) {
- upDateDisplayError();
- upDateDisplayFail();
- }
- if (status == VerifierConstants.WARN) {
- upDateDisplayError();
- upDateDisplayFail();
- upDateDisplayWarn();
- }
- }
-
- private void savePassResultsForDisplay(Result r) {
- passResults.addElement(r);
- }
-
- private void saveWarnResultsForDisplay(Result r) {
- warnResults.addElement(r);
- }
-
- private void saveFailResultsForDisplay(Result r) {
- failResults.addElement(r);
- }
-
- private void saveErrorResultsForDisplay(LogRecord r) {
- errorResults.addElement(r);
- }
-
- private void saveNaResultsForDisplay(Result r) {
- naResults.addElement(r);
- }
-
- private void saveNotRunResultsForDisplay(Result r) {
- notRunResults.addElement(r);
- }
-
- private void saveNotImplementedResultsForDisplay(Result r) {
- notImplementedResults.addElement(r);
- }
-
- private void saveDefaultResultsForDisplay(Result r) {
- defaultResults.addElement(r);
- }
-
- private Vector getPassResultsForDisplay() {
- return passResults;
- }
-
- private Vector getWarnResultsForDisplay() {
- return warnResults;
- }
-
- private Vector getFailResultsForDisplay() {
- return failResults;
- }
-
- private Vector getErrorResultsForDisplay() {
- return errorResults;
- }
-
- private Vector getNaResultsForDisplay() {
- return naResults;
- }
-
- private Vector getNotImplementedResultsForDisplay() {
- return notImplementedResults;
- }
-
- private Vector getNotRunResultsForDisplay() {
- return notRunResults;
- }
-
- private Vector getDefaultResultsForDisplay() {
- return defaultResults;
- }
-
- public void clearOldResults() {
- passResults = new Vector<Result>();
- failResults = new Vector<Result>();
- errorResults = new Vector<LogRecord>();
- warnResults = new Vector<Result>();
- naResults = new Vector<Result>();
- notImplementedResults = new Vector<Result>();
- notRunResults = new Vector<Result>();
- defaultResults = new Vector<Result>();
- }
-
-
- // We are a ChangeListener of the test harness CheckMgrs
- public void testFinished(EventObject evt) {
- Result r = (Result) evt.getSource();
- StringBuffer s = new StringBuffer("Assertion:" + r.getAssertion() + "\n"); // NOI18N
- String status;
- switch (r.getStatus()) {
- case Result.PASSED:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Passed", // NOI18N
- "Passed")); // NOI18N
- savePassResultsForDisplay(r);
- Enumeration e = r.getGoodDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.FAILED:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Failed", // NOI18N
- "FAILED")); // NOI18N
- saveFailResultsForDisplay(r);
- Enumeration e = r.getErrorDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.WARNING:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Warning", // NOI18N
- "WARNING")); // NOI18N
- saveWarnResultsForDisplay(r);
- Enumeration e = r.getWarningDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.NOT_APPLICABLE:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_NotApplicable", // NOI18N
- "Not Applicable")); // NOI18N
- saveNaResultsForDisplay(r);
- Enumeration e = r.getNaDetails().elements();
- while (e.hasMoreElements()) {
- s.append((String) e.nextElement());
- s.append("\n"); // NOI18N
- }
- break;
- }
- case Result.NOT_IMPLEMENTED:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_NotImplemented", // NOI18N
- "Not Implemented")); // NOI18N
- saveNotImplementedResultsForDisplay(r);
- break;
- }
- case Result.NOT_RUN:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_NotRun", // NOI18N
- "Not Run")); // NOI18N
- saveNotRunResultsForDisplay(r);
- break;
- }
- default:
- {
- status =
- (smh.getLocalString(
- "com.sun.enterprise.tools.verifier.gui.ResultsPanel" + // NOI18N
- ".Status_Unknown", // NOI18N
- "Unknown")); // NOI18N
- saveDefaultResultsForDisplay(r);
- break;
- }
- }
- // create a table row for this result
- Object[] row = {r.getComponentName(), r.getTestName(), status};
- if (ControlPanel.getReportLevel() == VerifierConstants.FAIL &&
- r.getStatus() == Result.FAILED) {
- details.add(s.toString());
- tableModel.addRow(row);
- }
-
- if (ControlPanel.getReportLevel() == VerifierConstants.WARN &&
- (r.getStatus() == Result.FAILED ||
- r.getStatus() == Result.WARNING)) {
- details.add(s.toString());
- tableModel.addRow(row);
- }
-
- if (ControlPanel.getReportLevel() == VerifierConstants.ALL) {
- details.add(s.toString());
- tableModel.addRow(row);
- }
- }
-
- public void allTestsFinished(EventObject e) {
- // do nothing for now
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/persistence/AVKPersistenceUnitInfoImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/persistence/AVKPersistenceUnitInfoImpl.java
deleted file mode 100644
index 27c4aac..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/persistence/AVKPersistenceUnitInfoImpl.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.persistence;
-
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-
-import javax.sql.DataSource;
-import jakarta.persistence.spi.ClassTransformer;
-import jakarta.persistence.EntityManagerFactory;
-import javax.naming.NamingException;
-import jakarta.validation.ValidatorFactory;
-
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-import org.glassfish.persistence.jpa.PersistenceUnitInfoImpl;
-import org.glassfish.api.deployment.InstrumentableClassLoader;
-import org.glassfish.api.deployment.DeploymentContext;
-import org.glassfish.persistence.jpa.ProviderContainerContractInfoBase;
-
-/**
- * This class implements {@link jakarta.persistence.spi.PersistenceUnitInfo}
- * It inherits most of the implementation from its super class, except the
- * implementation that depends on runtime environment. See the details of methods
- * overridden in this class.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class AVKPersistenceUnitInfoImpl extends PersistenceUnitInfoImpl
-{
- public AVKPersistenceUnitInfoImpl(
- PersistenceUnitDescriptor persistenceUnitDescriptor,
- final String applicationLocation,
- final InstrumentableClassLoader classLoader) {
- super(persistenceUnitDescriptor, new ProviderContainerContractInfoBase(null) {
- public ClassLoader getClassLoader()
- {
- return (ClassLoader)classLoader;
- }
-
- public ClassLoader getTempClassloader()
- {
- // EclipseLink has started to use this even if we are just validating the PU.
- // See issue 15112 for a test case.
- return (ClassLoader)classLoader;
- }
-
- public void addTransformer(ClassTransformer transformer)
- {
- // NOOP
- }
-
- public String getApplicationLocation()
- {
- return applicationLocation;
- }
-
- public DataSource lookupDataSource(String dataSourceName) throws NamingException
- {
- return null;
- }
-
- public DataSource lookupNonTxDataSource(String dataSourceName) throws NamingException
- {
- return null;
- }
-
- public ValidatorFactory getValidatorFactory() {
- // TODO: Need to implement this correctly.
- return null;
- }
-
- public DeploymentContext getDeploymentContext()
- {
- return null;
- }
-
- public boolean isJava2DBRequired()
- {
- return false;
- }
-
- public void registerEMF(String unitName, String persistenceRootUri,
- RootDeploymentDescriptor containingBundle,
- EntityManagerFactory emf)
- {
- // NOOP
- }
-
- @Override
- public String getJTADataSourceOverride() {
- return null;
- }
- }
- );
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/persistence/PersistenceUnitCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/persistence/PersistenceUnitCheckMgrImpl.java
deleted file mode 100644
index fe45117..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/persistence/PersistenceUnitCheckMgrImpl.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.persistence;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.api.deployment.archive.ArchiveType;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import com.sun.enterprise.deployment.BundleDescriptor;
-import com.sun.enterprise.deployment.util.DOLUtils;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-
-/**
- * This class is responsible for checking a PU represented by a {@link
- * PersistenceUnitDescriptor}
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class PersistenceUnitCheckMgrImpl extends CheckMgr {
-
- // module for which this check mgr is running the test.
- // This string is one of the types defined in Result class.
- private String moduleName;
- private LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
-
-
- public PersistenceUnitCheckMgrImpl(
- VerifierFrameworkContext verifierFrameworkContext, VerifierTestContext context) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- this.context = context;
- }
-
- @Override protected void check(Descriptor descriptor) throws Exception {
- PersistenceUnitDescriptor pu =
- PersistenceUnitDescriptor.class.cast(descriptor);
- RootDeploymentDescriptor rootDD = pu.getParent().getParent();
- if(rootDD.isApplication()) {
- moduleName = Result.APP;
- } else {
- ModuleDescriptor mdesc =
- BundleDescriptor.class.cast(rootDD).getModuleDescriptor();
- final ArchiveType moduleType = mdesc.getModuleType();
- if(moduleType != null && moduleType.equals(DOLUtils.ejbType())) {
- moduleName = Result.EJB;
- } else if (moduleType != null && moduleType.equals(DOLUtils.warType())) {
- moduleName = Result.WEB;
- } else if (moduleType != null && moduleType.equals(DOLUtils.carType())) {
- moduleName = Result.APPCLIENT;
- } else {
- throw new RuntimeException(
- smh.getLocalString(getClass().getName()+".exception", // NOI18N
- "Unknown module type : {0}", // NOI18N
- new Object[] {moduleType}));
- }
- }
- super.check(descriptor);
- }
-
- /**
- * We override here because there is nothing like sun-persistence.xml.
- * @param uri
- */
- @Override protected void setRuntimeDDPresent(String uri) {
- isDDPresent = false;
- }
-
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor(
- PersistenceUnitDescriptor.class.cast(descriptor));
- }
-
- protected String getTestsListFileName() {
- return "TestNamesPersistence.xml"; // NOI18N
- }
-
- protected void setModuleName(Result r) {
- r.setModuleName(moduleName);
- }
-
- protected String getSchemaVersion(Descriptor descriptor) {
- // A PU inherits its schema version from its parent.
- return PersistenceUnitDescriptor.class.cast(descriptor).getParent().
- getSpecVersion();
- }
-
- protected String getSunONETestsListFileName() {
- return null;
- }
-
- /**
- * This method returns the path to the module.
- * @param descriptor is a PersistenceUnitDescriptor
- * @return the path to the module
- */
- protected String getAbstractArchiveUri(Descriptor descriptor) {
- String archBase = context.getAbstractArchive().getURI().toString();
- RootDeploymentDescriptor rootDD =
- PersistenceUnitDescriptor.class.cast(descriptor).getParent().getParent();
- if(rootDD.isApplication()) {
- return archBase;
- } else {
- ModuleDescriptor mdesc =
- BundleDescriptor.class.cast(rootDD).getModuleDescriptor();
- if(mdesc.isStandalone()) {
- return archBase;
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(mdesc.getArchiveUri());
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPUMatchingEMandEMFRefTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPUMatchingEMandEMFRefTest.java
deleted file mode 100644
index f995bfd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPUMatchingEMandEMFRefTest.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-
-import java.util.Collection;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * For every entity manager reference and entity manager factory reference
- * in a component (ejb/servlet/app-client etc), there must be a matching
- * persistence unit defined in the scope of that component.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public abstract class AbstractPUMatchingEMandEMFRefTest extends VerifierTest
- implements VerifierCheck {
- final static String className = AbstractPUMatchingEMandEMFRefTest.class.getName();
- public Result check(Descriptor descriptor) {
- // initialize the result object
- Result result = getInitializedResult();
- addErrorDetails(result,
- getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED); //default status is PASSED
-
- BundleDescriptor bundleDescriptor = getBundleDescriptor(descriptor);
-
- for (EntityManagerReferenceDescriptor emRefDesc : getEntityManagerReferenceDescriptors(descriptor)) {
- String referringUnitName = emRefDesc.getUnitName();
- PersistenceUnitDescriptor pu = bundleDescriptor.findReferencedPU(referringUnitName);
- if (pu == null) {
- result.failed(smh.getLocalString(
- className + "failed",
- "There is no unique persistence unit found by name " +
- "[ {0} ] in the scope of this component.",
- new Object[]{referringUnitName}));
- } else {
- result.passed(smh.getLocalString(
- className + "passed",
- "Found a persistence unit by name [ {0} ] in the scope of this component",
- new Object[]{referringUnitName}));
- }
- }
- for (EntityManagerFactoryReferenceDescriptor emfRefDesc : getEntityManagerFactoryReferenceDescriptors(descriptor)) {
- String referringUnitName = emfRefDesc.getUnitName();
- PersistenceUnitDescriptor pu = bundleDescriptor.findReferencedPU(referringUnitName);
- if (pu == null) {
- result.failed(smh.getLocalString(
- className + "failed",
- "There is no unique persistence unit found by name " +
- "[ {0} ] in the scope of this component.",
- new Object[]{referringUnitName}));
- } else {
- result.passed(smh.getLocalString(
- className + "passed",
- "Found a persistence unit by name [ {0} ] in the scope of this component",
- new Object[]{referringUnitName}));
- }
- }
-
- StringBuilder visiblePUNames = new StringBuilder();
- final Map<String, PersistenceUnitDescriptor> visiblePUs =
- bundleDescriptor.getVisiblePUs();
- int count = 0;
- for(String puName : visiblePUs.keySet()) {
- visiblePUNames.append(puName);
- if(visiblePUs.size() != ++count) { // end not yet reached
- visiblePUNames.append(", ");
- }
- }
- String message = smh.getLocalString(className + ".puList",
- "PUs that are visible to this component are: [ {0} ]",
- new Object[]{visiblePUNames});
- result.addErrorDetails(message);
- result.addGoodDetails(message);
-
- return result;
- }
-
- protected abstract BundleDescriptor getBundleDescriptor(
- Descriptor descriptor);
-
- protected abstract Collection<EntityManagerReferenceDescriptor>
- getEntityManagerReferenceDescriptors(Descriptor descriptor);
-
- protected abstract Collection<EntityManagerFactoryReferenceDescriptor>
- getEntityManagerFactoryReferenceDescriptors(Descriptor descriptor);
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPersistenceContextType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPersistenceContextType.java
deleted file mode 100644
index 11d000d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPersistenceContextType.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-
-import java.util.Collection;
-import jakarta.persistence.PersistenceContextType;
-
-/**
- * Assertion :
- *
- * Only Stateful Session Bean can use EXTENDED persistence context type.
- *
- * @author bshankar@sun.com
- */
-public abstract class AbstractPersistenceContextType extends VerifierTest
- implements VerifierCheck {
- final static String className = AbstractPersistenceContextType.class.getName();
-
- public Result check(Descriptor descriptor) {
-
- // initialize the result object
- Result result = getInitializedResult();
- addErrorDetails(result,
- getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED); //default status is PASSED
-
- if(!isStatefulSessionBean(descriptor)) {
- for (EntityManagerReferenceDescriptor emRefDesc : getEntityManagerReferenceDescriptors(descriptor)) {
- if(emRefDesc.getPersistenceContextType().equals(PersistenceContextType.EXTENDED)) {
- String unitName = emRefDesc.getUnitName() == null ? "" : emRefDesc.getUnitName();
- result.failed(
- smh.getLocalString(className + ".failed",
- "Found a persistence unit by name [ {0} ] of EXTENDED context type.", new Object[]{unitName}));
- }
- }
- }
- return result;
- }
-
- protected abstract Collection<EntityManagerReferenceDescriptor>
- getEntityManagerReferenceDescriptors(Descriptor descriptor);
-
- protected abstract boolean isStatefulSessionBean(Descriptor d);
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPersistenceUnitCount.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPersistenceUnitCount.java
deleted file mode 100644
index 1d664c4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/AbstractPersistenceUnitCount.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-
-/**
- * Assertion :
- *
- * persistemce.xml should have atleast one persistence unit.
- *
- * @author bshankar@sun.com
- */
-public abstract class AbstractPersistenceUnitCount extends VerifierTest
- implements VerifierCheck {
- final static String className = AbstractPersistenceUnitCount.class.getName();
-
- public Result check(Descriptor descriptor) {
-
- RootDeploymentDescriptor rootDescriptor = getRootDescriptor(descriptor);
-
- Result result = getInitializedResult();
- addErrorDetails(result,
- getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED); //default status is PASSED
-
- if(rootDescriptor.getExtensionsDescriptors(PersistenceUnitsDescriptor.class).size() == 0)
- result.setStatus(Result.NOT_APPLICABLE);
-
- for(PersistenceUnitsDescriptor pus : rootDescriptor.getExtensionsDescriptors(PersistenceUnitsDescriptor.class)) {
- if (pus.getPersistenceUnitDescriptors().size() == 0) {
- result.failed(
- smh.getLocalString(
- className + ".failed",
- "persistence.xml in persistence unit root [ {0} ] has no persistence units.",
- new Object[]{pus.getPuRoot()}));
- }
- }
- return result;
- }
-
- protected abstract RootDeploymentDescriptor getRootDescriptor(Descriptor descriptor);
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ClassContainsNativeMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ClassContainsNativeMethod.java
deleted file mode 100644
index 3023644..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ClassContainsNativeMethod.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl;
-import org.glassfish.deployment.common.Descriptor;
-
-import java.util.Collection;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class ClassContainsNativeMethod
- extends VerifierTest implements VerifierCheck {
- public Result check(Descriptor descriptor) {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- Result result = getInitializedResult();
- result.setStatus(Result.PASSED);
- ClosureCompilerImpl cc = ClosureCompilerImpl.class.cast(
- getVerifierContext().getClosureCompiler());
- Collection<String> nativeMethods = cc.getNativeMethods();
- if(!nativeMethods.isEmpty()) {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName() + ".warning",
- "Supplied below is the list of method names " +
- "(in the format <package.classname>.<methodName>) " +
- "that are defined as native methods and used by the application:\n"));
- for(String m : nativeMethods) {
- result.warning("\n\t" + m);
- }
- result.warning(smh.getLocalString(getClass().getName() + ".suggestion",
- "Please make sure that they are implemented on all operating systems."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ComponentNameConstructor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ComponentNameConstructor.java
deleted file mode 100644
index 1ca2b7c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ComponentNameConstructor.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-import com.sun.enterprise.deployment.*;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-
-/**
- * This class constructs the name of the app client/bean/connector as
- * appName.jarName.componentName
- *
- * @author Sheetal Vartak
- */
-
-public class ComponentNameConstructor {
-
- private String appName = "";
- private String jarName = "";
- private String componentName = "";
-
- public ComponentNameConstructor(EjbDescriptor ejbDsc) {
- EjbBundleDescriptor ejbBundle = ejbDsc.getEjbBundleDescriptor();
- ModuleDescriptor moduleDesc = ejbBundle.getModuleDescriptor();
- if(!moduleDesc.isStandalone()){ // print app name only for embedded ones
- this.appName = ejbBundle.getApplication().getRegistrationName();
- }
- this.jarName = moduleDesc.getArchiveUri();
- this.componentName = ejbDsc.getName();
- }
-
- // this takes care of all bundle descriptors.
- public ComponentNameConstructor(BundleDescriptor bundleDesc) {
- ModuleDescriptor moduleDesc = bundleDesc.getModuleDescriptor();
- if(!moduleDesc.isStandalone()){ // print app name only for embedded ones
- this.appName = bundleDesc.getApplication().getRegistrationName();
- }
- this.jarName = moduleDesc.getArchiveUri();
- // there is no point in printing comp name since it is bundle desc.
- }
-
- public ComponentNameConstructor(String appName, String jarName, String componentName) {
- this.appName = appName;
- this.jarName = jarName;
- this.componentName = componentName;
- }
-
- public ComponentNameConstructor(WebServiceEndpoint wse) {
- BundleDescriptor bundleDesc = wse.getBundleDescriptor();
- ModuleDescriptor moduleDesc = bundleDesc.getModuleDescriptor();
- if(!moduleDesc.isStandalone()){ // print app name only for embedded ones
- this.appName = bundleDesc.getApplication().getRegistrationName();
- }
- this.jarName = moduleDesc.getArchiveUri();
- // WebServiceEndpoint path is WebServices->WebService->WebServiceEndpoint
- this.componentName = wse.getWebService().getName()+"#"+wse.getEndpointName(); // NOI18N
- }
-
- public ComponentNameConstructor(ServiceReferenceDescriptor srd) {
- BundleDescriptor bundleDesc = srd.getBundleDescriptor();
- ModuleDescriptor moduleDesc = bundleDesc.getModuleDescriptor();
- if(!moduleDesc.isStandalone()){ // print app name only for embedded ones
- this.appName = bundleDesc.getApplication().getRegistrationName();
- }
- this.jarName = moduleDesc.getArchiveUri();
- this.componentName = srd.getName();
- }
-
- public ComponentNameConstructor(WebService wsDsc) {
- BundleDescriptor bundleDesc = wsDsc.getBundleDescriptor();
- ModuleDescriptor moduleDesc = bundleDesc.getModuleDescriptor();
- if(!moduleDesc.isStandalone()){ // print app name only for embedded ones
- this.appName = bundleDesc.getApplication().getRegistrationName();
- }
- this.jarName = moduleDesc.getArchiveUri();
- this.componentName = wsDsc.getName();
- }
-
- public ComponentNameConstructor(Application application) {
- this.appName = application.getRegistrationName();
- }
-
- public ComponentNameConstructor(PersistenceUnitDescriptor
- descriptor) {
- PersistenceUnitsDescriptor persistenceUnitsDescriptor =
- descriptor.getParent();
- RootDeploymentDescriptor container = persistenceUnitsDescriptor.getParent();
- if(container.isApplication()) {
- this.appName = Application.class.cast(container).getRegistrationName();
- this.componentName = persistenceUnitsDescriptor.getPuRoot() +
- "#"+descriptor.getName(); // NOI18N
- } else { // this PU is bundled inside a module
- BundleDescriptor bundleDesc = BundleDescriptor.class.cast(container);
- ModuleDescriptor moduleDesc = bundleDesc.getModuleDescriptor();
- if(!moduleDesc.isStandalone()){ // print app name only for embedded ones
- this.appName = bundleDesc.getApplication().getRegistrationName();
- }
- this.jarName = moduleDesc.getArchiveUri();
- String puRoot = persistenceUnitsDescriptor.getPuRoot();
- // for EJB module, PURoot is empty, so to avoid ## in report, this check is needed.
- this.componentName = ("".equals(puRoot) ? "" : puRoot + "#") + descriptor.getName(); // NOI18N
- }
- }
-
- public String toString() {
- StringBuilder sb = new StringBuilder();
- if(!isNullOrEmpty(appName)){
- sb.append(appName);
- }
- if(!isNullOrEmpty(jarName)){
- if(!isNullOrEmpty(appName)) sb.append("#"); // NOI18N
- sb.append(jarName);
- }
- if(!isNullOrEmpty(componentName)){
- if(!isNullOrEmpty(jarName) || !isNullOrEmpty(appName)) sb.append("#"); // NOI18N
- sb.append(componentName);
- }
- return sb.toString();
- }
-
- private static boolean isNullOrEmpty(String s) {
- return s == null || s.length() == 0;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/IconImageTypeTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/IconImageTypeTest.java
deleted file mode 100644
index c532863..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/IconImageTypeTest.java
+++ /dev/null
@@ -1,188 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.deployment.*;
-import org.glassfish.web.deployment.descriptor.ServletFilterDescriptor;
-
-import java.util.Collection;
-import java.util.ArrayList;
-import java.util.Enumeration;
-
-import org.glassfish.api.deployment.archive.Archive;
-import org.glassfish.deployment.common.Descriptor;
-
-/**
- * This test is deried from Java EE platform spec.
- * See javaee_5.xsd
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class IconImageTypeTest extends VerifierTest implements VerifierCheck{
- private Collection<String> smallIconUris = new ArrayList<String>();
- private Collection<String> largeIconUris = new ArrayList<String>();
- private Descriptor descriptor;
- private Result result;
- ComponentNameConstructor compName;
- private static final String[] allowableImageTypesForJavaEEOlderThan5 = {".gif", ".jpg"};
- private static final String[] allowableImageTypesForJavaEE5 = {".gif", ".jpg", ".png"};
- public Result check(Descriptor descriptor) {
- this.descriptor = descriptor;
- compName = getVerifierContext().getComponentNameConstructor();
- result = getInitializedResult();
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed", //NOI18N
- "No errors were detected.")); // NOI18N
-
- // Now collect all the Icon URIs that we are going to test
- collectIconURIs();
- testIconURIType();
- testIconURIExistence();
- return result;
- }
-
- private void testIconURIType() {
- String[] allowableImageTypes;
- String JavaEESchemaVersion = getVerifierContext().getJavaEEVersion();
- if (JavaEESchemaVersion.compareTo(SpecVersionMapper.JavaEEVersion_5) < 0){
- allowableImageTypes = allowableImageTypesForJavaEEOlderThan5;
- } else {
- allowableImageTypes = allowableImageTypesForJavaEE5;
- }
-
- Collection<String> allURIs = new ArrayList<String>(smallIconUris);
- allURIs.addAll(largeIconUris);
- for(String uri : allURIs){
- boolean passed = false;
- for(String allowableType : allowableImageTypes) {
- if(uri.endsWith(allowableType)) {
- passed = true;
- break;
- }
- }
- if(!passed){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedImageType",
- "Error: Unsupported image type used in icon image URI [ {0} ].",
- new Object[]{uri}));
- }
- }
- }
-
- private void testIconURIExistence() {
- Collection<String> allURIs = new ArrayList<String>(smallIconUris);
- allURIs.addAll(largeIconUris);
- for(String uri : allURIs){
- Archive moduleArchive = getVerifierContext().getModuleArchive();
- boolean passed = false;
- for(Enumeration entries = moduleArchive.entries(); entries.hasMoreElements();){
- if(uri.equals(entries.nextElement())) {
- passed = true;
- break;
- }
- }
- if(!passed){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedExistence",
- "Error: icon image URI [ {0} ] is not packaged inside [ {1} ].",
- new Object[]{uri, getVerifierContext().getModuleArchive().getURI()}));
- }
- }
- }
-
- private void collectIconURIs(){
- // in the absence of a proper Visitor pattern I am left with
- // little option but to use instanceof
- if(descriptor instanceof Application)
- collectIconURIs((Application)descriptor);
- else if(descriptor instanceof ApplicationClientDescriptor)
- collectIconURIs((ApplicationClientDescriptor)descriptor);
- else if(descriptor instanceof EjbDescriptor)
- collectIconURIs((EjbDescriptor)descriptor);
- else if(descriptor instanceof ConnectorDescriptor)
- collectIconURIs((ConnectorDescriptor)descriptor);
- else if(descriptor instanceof WebBundleDescriptor)
- collectIconURIs((WebBundleDescriptor)descriptor);
- else if(descriptor instanceof WebServiceEndpoint)
- collectIconURIs((WebServiceEndpoint)descriptor);
- else if(descriptor instanceof ServiceReferenceDescriptor)
- collectIconURIs((ServiceReferenceDescriptor)descriptor);
- else {
- // every time we introduce a new CheckMgrImpl, this will fail
- // that way we can be notified of the fact that this method needs
- // to be modified as well.
- throw new RuntimeException("Unexpected descriptor type.");
- }
- }
-
- // implementation that is common to descriptors that only contain
- // icon element at top level.
- private void collectIconURIs(Descriptor desc){
- String uri=desc.getSmallIconUri();
- if(uri!=null && uri.length()>0) smallIconUris.add(uri);
- uri = desc.getLargeIconUri();
- if(uri!=null && uri.length()>0) largeIconUris.add(uri);
- }
-
- private void collectIconURIs(WebBundleDescriptor webBundleDescriptor) {
- // this is for itself
- collectIconURIs((Descriptor)webBundleDescriptor);
- // now collect for each servlet
- for (WebComponentDescriptor o : webBundleDescriptor.getWebComponentDescriptors()){
- collectIconURIs(o);
- }
- // now collect for each servlet filter
- for (Object o : webBundleDescriptor.getServletFilterDescriptors()) {
- collectIconURIs(ServletFilterDescriptor.class.cast(o));
- }
- }
-
- private void collectIconURIs(WebServiceEndpoint webServiceEndpoint) {
- // WebService.xml is organised like this:
- // WebServicesDescriptor->WebService->WebServiceEndpoint
- // Since we don't have a CheckMgr that runs test for WebService.xml,
- // a work around would be to collect all Icons for all the parents
- // and test them here.
- // This means a problem there would be as many times as there are
- // end points.
- collectIconURIs(webServiceEndpoint.getWebService().getWebServicesDescriptor());
- collectIconURIs(webServiceEndpoint.getWebService());
-
- // this is for itself
- collectIconURIs((Descriptor)webServiceEndpoint);
- // now collect for each port-compont_handler in handler-chain
- for (Object o : webServiceEndpoint.getHandlers()){
- collectIconURIs(WebServiceHandler.class.cast(o));
- }
- }
-
- private void collectIconURIs(EjbDescriptor desc){
- // Since we don't have a CheckMgr that runs test for ejb-jar.xml,
- // a work around would be to collect all Icons for the parent
- // and test them here.
- // This means a problem there would be as many times as there are
- // beans.
- collectIconURIs(desc.getEjbBundleDescriptor());
- // this is for itself
- collectIconURIs((Descriptor)descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/InjectionTargetTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/InjectionTargetTest.java
deleted file mode 100644
index 380b861..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/InjectionTargetTest.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.InjectionCapable;
-import com.sun.enterprise.deployment.InjectionTarget;
-
-import java.util.List;
-import java.util.Set;
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.lang.reflect.Method;
-
-/**
- * The field or method where injection annotation is used may have any access
- * qualifier (public , private , etc.) but must not be static or final.
- * This is the base class of all the InjectionAnnotation tests.
- *
- * @author Vikas Awasthi
- */
-public abstract class InjectionTargetTest extends VerifierTest implements VerifierCheck {
-// Currently only ejbs are checked for injection annotations. Other modules can
-// also use this class to test the assertion.
- protected abstract List<InjectionCapable> getInjectables(String className);
- protected abstract String getClassName();
- private Descriptor descriptor;
- Result result;
- ComponentNameConstructor compName;
-
- public Result check(Descriptor descriptor) {
- this.descriptor = descriptor;
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- ClassLoader cl = getVerifierContext().getClassLoader();
- List<InjectionCapable> injectables = getInjectables(getClassName());
- for (InjectionCapable injectionCapable : injectables) {
- Set<InjectionTarget> iTargets = injectionCapable.getInjectionTargets();
- for (InjectionTarget target : iTargets) {
- try {
- if(target.isFieldInjectable()) {
- Class classObj = Class.forName(getClassName(), false, cl);
- Field field = classObj.getDeclaredField(target.getFieldName());
- testMethodModifiers(field.getModifiers(), "field", field);
- }
- if(target.isMethodInjectable()) {
- Class classObj = Class.forName(getClassName(), false, cl);
- Method method = getInjectedMethod(classObj, target.getMethodName());
- if(method == null) continue;
- testMethodModifiers(method.getModifiers(), "method", method);
- }
- } catch (Exception e) {} //ignore as it will be caught in other tests
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName()+".passed",
- "Valid injection method(s)."));
- }
- return result;
- }
-
- protected Descriptor getDescriptor() {
- return descriptor;
- }
-
- private void testMethodModifiers(int modifier, String targetType, Object fieldOrMethod) {
- if(Modifier.isStatic(modifier) ||
- Modifier.isFinal(modifier)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.InjectionTargetTest.failed",
- "Invalid annotation in {0} [ {1} ].",
- new Object[] {targetType, fieldOrMethod}));
- }
- }
-
- private Method getInjectedMethod(Class classObj, String methodName) {
- for (Method method : classObj.getDeclaredMethods()) {
- if(method.getName().equals(methodName))
- return method;
- }
- return null;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/TagLibTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/TagLibTest.java
deleted file mode 100644
index 8a00971..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/TagLibTest.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import java.util.List;
-import java.util.ArrayList;
-import java.lang.reflect.Method;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-
-/**
- * @author Sudipto Ghosh
- */
-public abstract class TagLibTest extends WebTest {
-
- /**
- * This method parses the function-signature argument and returns the list of
- * parameters as String array.
- *
- * signature param to this method contains the value of this element in tld.
- * <function-signature>java.lana.String nickName( java.lang.String, int )
- * </function-signature>
- *
- * @param signature
- * @return The String array containing the parameter class type.
- */
- public String[] getParameters(String signature) {
- StringBuilder sb = new StringBuilder();
- String[] tokens = (signature.split("\\s"));
- for (int i = 1; i < tokens.length; i++)
- sb.append(tokens[i]);
- String fullParamString = sb.toString().substring(sb.indexOf("(") + 1, sb.indexOf(")"));
- String[] params = getParams(fullParamString);
- return params;
- }
-
- /**
- *
- * @param fullParamString This is the parsed string from which the parameters
- * will be separated and added as a list of Strings
- * eg: for <function-signature>java.lana.String nickName( java.lang.String, int )
- * </function-signature>. The parsed String will look like this
- * java.lang.String,int
- * @return String array containing all the parameter Types
- */
-
- public String[] getParams(String fullParamString) {
- List<String> list = new ArrayList<String>();
- if (fullParamString.contains(",")) {
- String rest = fullParamString.substring(fullParamString.indexOf(",") + 1, fullParamString.length());
- fullParamString = fullParamString.substring(0, fullParamString.indexOf(","));
- list.add(fullParamString);
- } else list.add(fullParamString);
-
- return list.toArray(new String[0]);
- }
-
-
- /**
- * This method returns the first token of this string, which must be the return
- * type of the method.
- * @param signature string from the function-signature element of tld
- * @return return type of the method.
- */
- public String getRetType(String signature) {
- String[] tokens = (signature.split("\\s"));
- return tokens[0];
- }
-
- /**
- * This method will return the method name from the signature String passed
- * as argument.
- * eg: for <function-signature>java.lana.String nickName( java.lang.String, int )
- * </function-signature>
- * @param signature
- * @return method name
- */
- public String getName(String signature) {
- StringBuilder sb = new StringBuilder();
- String[] tokens = (signature.split("\\s"));
- for (int i = 1; i < tokens.length; i++)
- sb.append(tokens[i]);
- String name = sb.toString();
- name = name.substring(0, name.indexOf("("));
- return name;
- }
-
-
- /**
- * Checks if the parameter array matches with this method's parameters
- * @param m method object
- * @param param parameter class array
- * @return true if parameters match, false otherwise
- */
- public boolean parametersMatch(Method m, Class[] param) {
- boolean match = false;
- Class[] types = m.getParameterTypes();
- if (types.length!=param.length)
- return false;
- for (int i=0; i<types.length; i++) {
- match = types[i].equals(param[i]);
- }
- return match;
- }
-
- /**
- * Checks if the return type specified in this method m and the return type
- * required matches
- * @param m
- * @param retType
- * @return true if retType and m.getReturnType matches, false otherwise
- */
- public boolean returnTypeMatch(Method m, String retType) {
- Class ret = m.getReturnType();
- Class retTypeClass = checkIfPrimitive(retType);
- if (retTypeClass == null);
- try {
- retTypeClass = Class.forName(retType);
- } catch (ClassNotFoundException e) {
- //do nothing. If return type is incorrect, it will be caught by
- // another test in verifier.
- }
- if(retTypeClass != null) //this may happen if retType is
- return retTypeClass.equals(ret);//non-primitive and invalid
- else return false;
- }
-
- /**
- * given a parameter array contained in a method, this method returns the
- * Class array representation of the parameters
- * @param par
- * @param cl
- * @return class array representation of the parameters
- */
- public Class[] getParamTypeClass(String[] par, ClassLoader cl) {
- List<Class> list = new ArrayList<Class>();
- for(String s : par) {
- Class c = checkIfPrimitive(s);
- if (c != null)
- list.add(c);
- else {
- try {
- c = Class.forName(s, false, cl);
- list.add(c);
- } catch (ClassNotFoundException e) {
- //do nothing. Other test will report the problem if parameter
- // is not specified correctly
- }
- }
- }
- return list.toArray(new Class[0]);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/VerifierCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/VerifierCheck.java
deleted file mode 100644
index 6766c22..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/VerifierCheck.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * VerifierTest.java
- *
- * Created on September 20, 2000, 3:39 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-
-/**
- * <p>
- * All tests to be run inside the verifier harness must implement this interface
- * defining the contract between the harness and individual tests
- * <p>
- *
- * @author Jerome Dochez
- * @version
- */
-public interface VerifierCheck {
-
- /**
- * <p>
- * run an individual test in the Verifier harness
- * </p>
- *
- * @param descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor);
- public VerifierTestContext getVerifierContext();
- public void setVerifierContext(VerifierTestContext context);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/VerifierTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/VerifierTest.java
deleted file mode 100644
index 4e82b89..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/VerifierTest.java
+++ /dev/null
@@ -1,588 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * VerifierTest.java
- *
- * Created on September 20, 2000, 4:18 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests;
-
-import java.lang.reflect.Method;
-import java.io.File;
-import java.util.jar.JarFile;
-import java.util.StringTokenizer;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-import java.net.URI;
-
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
-import org.w3c.dom.DocumentType;
-import com.sun.org.apache.xpath.internal.XPathAPI;
-import com.sun.org.apache.xpath.internal.NodeSet;
-import com.sun.org.apache.xml.internal.utils.PrefixResolver;
-import com.sun.enterprise.tools.verifier.XpathPrefixResolver;
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.deploy.shared.FileArchive;
-import com.sun.org.apache.xpath.internal.objects.XObject;
-
-/**
- * Superclass for all tests developped for the Verifier Harness
- * Contains convenience methods and fields
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class VerifierTest extends Object {
- // variables ensuring that result details are added only once
- private boolean addedError = false;
- private boolean addedGood = false;
- private boolean addedNa = false;
- private boolean addedWarning = false;
- protected Logger logger = LogDomains.getLogger(LogDomains.AVK_VERIFIER_LOGGER);
-
-
- /**
- * <p>
- * Are we in debug mode
- * </p>
- */
- protected final boolean debug = Verifier.isDebug();
-
- /**
- * <p>
- * helper property to get to the localized strings
- * </p>
- */
- protected static final com.sun.enterprise.util.LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
-
- private VerifierTestContext context = null;
-
- /**
- * This method sets the Context object
- */
- public void setVerifierContext(VerifierTestContext context) {
- this.context = context;
- }
-
- /**
- * This method provides the Context object
- */
- public VerifierTestContext getVerifierContext() {
- return context;
- }
-
-
- /**
- * <p>
- * Common traces and initialization of the result object that will
- * hold the result of the assertion tested by this verifier test
- * </p>
- *
- * @return the initialized Result object
- */
- protected Result getInitializedResult() {
-
- logger.log(Level.FINE, "which.class.called.string",
- new Object[] {getClass()}) ;
- Result result = new Result();
- String version = "";
- // This is only needed because of ParseDD test which runs before
- // context is set in VerifierTest object, else we shall get a NPE.
- String compName = "";
- if (context!=null) {
- version = context.getSchemaVersion();
- compName = context.getComponentNameConstructor().toString();
- } else {
- logger.fine(getClass().getName() + " context is null.");
- }
- result.init(getClass(), version, compName);
- logger.log(Level.FINE, "test.string.assertion", new Object[] {result.getAssertion()});
- return result;
- }
-
- /**
- * <p>
- * check if the class is a sublcass or the class itself of the passed class name
- * </p>
- *
- * @param subClass class object to test if it a subclass
- * @param superClassName class name for the superclass
- * @return true if the <code>Class</code> is a subclass or the class itself
- * of the class name
- */
- public static boolean isSubclassOf(Class subClass, String superClassName) {
-
-
- if (subClass==null || superClassName==null) {
- return false;
- }
-
- Class c = subClass;
-
- do {
- if (c.getName().equals(superClassName)) {
- return true;
- }
- Class[] interfaces = c.getInterfaces();
- for (int i=0; i<interfaces.length;i++) {
- if (interfaces[i].getName().equals(superClassName)) {
- return true;
- }
- else {
- if (isSubclassOf(interfaces[i], superClassName)) {
- return true;
- }
- }
- }
- c = c.getSuperclass();
- } while (c!=null);
- return false;
- }
-
- /**
- * <p>
- * Test if a class or its superclasses implements an interface
- * </p>
- *
- * @param c is the class to test
- * @param interfaceName is the interface we test for implementation
- * @return true if the class or superclasses implements the interface
- */
- public static boolean isImplementorOf(Class<?> c, String interfaceName) {
-
- if (c==null || interfaceName==null)
- return false;
-
- // try this first because the code in the rest of the method
- // is buggy
- try {
- Class<?> intf = Class.forName(interfaceName);
- if (intf.isAssignableFrom(c))
- return true;
- else
- return false;
- }catch(Exception e) { }
-
- do {
- if (isSubclassOf(c, interfaceName)) {
- return true;
- }
- // get the list of implemented interfaces
- Class[] interfaces = c.getInterfaces();
- for (int i=0; i<interfaces.length;i++) {
- if (isSubclassOf(interfaces[i], interfaceName)) {
- return true;
- }
- }
- // we haven't found for this implementation, look in the superclass
- c = c.getSuperclass();
- } while (c != null);
- return false;
- }
-
- /**
- * <p>
- * utility method to return a method if it is implemented by a class or one
- * of its superclass irrespective of the method being public, private or protected
- * </p>
- *
- * @param clazz the class used to look up the method
- * @param methodName the method name
- * @param parmTypes the parameters
- * @return instanceof the <code>Method</code> if implemented
- */
- public static Method getDeclaredMethod(Class clazz, String methodName, Class[] parmTypes)
- {
- Method m=null;
- Class c = clazz;
- do {
- try {
- m = clazz.getDeclaredMethod(methodName, parmTypes);
- } catch(NoSuchMethodException nsme) {
- } catch(SecurityException se) {
- }
- c = c.getSuperclass();
- } while (m != null && c != null);
- return m;
- }
-
- /**
- * <p>
- * utility method to return a method if ig is implemented by a class or one
- * of its superclass and it is defined as public
- * </p>
- *
- * @param clazz the class used to look up the method
- * @param methodName the method name
- * @param parmTypes the parameters
- * @return instanceof the <code>Method</code> if implemented
- */
- public static Method getMethod(Class clazz, String methodName, Class[] parmTypes)
- {
- Method m=null;
- Class c = clazz;
- do {
- try {
- m = clazz.getMethod(methodName, parmTypes);
- } catch(NoSuchMethodException nsme) {
- } catch(SecurityException se) {
- }
- c = c.getSuperclass();
- } while (m != null && c != null);
- return m;
- }
-
- /**
- * <p>
- * verify that a class or one of its superclass is implementing an interface
- * </p>
- *
- * @param clazz the class to test for the implementation of the interface
- * @param interfaceName the name of the interface that should be implementad
- * @param result where to put the result
- *
- */
- public static boolean testImplementationOf(Class clazz, String interfaceName, Result result)
- {
- if (isImplementorOf(clazz, interfaceName)) {
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.VerifierTest.interfaceimplementation.passed",
- "The class [ {0} ] implements the [ {1} ] interface",
- new Object[] {clazz.getName(), interfaceName}));
- return true;
- } else {
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.VerifierTest.interfaceimplementation.failed",
- "Error: The class [ {0} ] does not implement the [ {1} ] interface",
- new Object[] {clazz.getName(), interfaceName}));
- return false;
- }
- }
-
- /**
- * <p>
- * Test for a file existence in the archive file
- * </p>
- *
- * @param uri The archive to look in
- * @param fileName The file Name to look for
- * @param fileID The archive file name
- * @param result where to place the result
- */
- public static void testFileExistence(String uri, String fileName, String fileID, Result result) {
-
- FileArchive arch=null;
-// ZipEntry ze=null;
- JarFile jarFile=null;
-
- if (fileName == null || fileName.length()==0) {
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.notApplicable",
- "No {0} defined in deployment descriptors",
- new Object[] {fileID}));
- return;
- }
-// if (file==null){
- try{
- arch = new FileArchive();
- arch.open(URI.create(uri));
- }catch(Exception e){}
-// }else{
-// try {
-// jarFile = new JarFile(file);
-// } catch (java.io.IOException ioe) {
-// Verifier.debug(ioe);
-// result.failed(smh.getLocalString
-// ("com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.failed",
-// "Error: {0} [ {1} ] not found in the archive",
-// new Object[] {fileID, fileName}));
-// return;
-// }
-// }
- try{
-// if (file!=null){
-// ze = jarFile.getEntry(fileName);
-// if (ze == null) {
-// result.failed(smh.getLocalString
-// ("com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.failed",
-// "Error: {0} [ {1} ] not found in the archive",
-// new Object[] {fileID, fileName}));
-// }else{
-// result.passed(smh.getLocalString
-// ("com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.passed",
-// "{0} [ {1} ] found in the archive",
-// new Object[] {fileID, fileName}));
-// }
-// }
-// else{
- File urif = new File(new File(arch.getURI()), fileName);
- if(urif.exists()){
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.passed",
- "{0} [ {1} ] found in the archive",
- new Object[] {fileID, fileName}));
- }else{
- result.warning(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.warning",
- "{0} [ {1} ] not found in the archive",
- new Object[] {fileID, fileName}));
- }
- urif = null;
-// }
-
- if (jarFile!=null)
- jarFile.close();
- }catch(Exception ex){}
-
- }
-
- /**
- * <p>
- * test if a method throws a particular exception
- * </p>
- *
- * @param method the method to test
- * @param exception the exception we are looking for
- * @return true if the method actually throw the exception
- */
- public static boolean methodThrowException(Method method, String exception) {
-
- Class[] exceptions = method.getExceptionTypes();
- for (int i=0;i<exceptions.length;i++) {
- if (isSubclassOf(exceptions[i], exception))
- return true;
- }
- return false;
- }
-
- /*
- *getXPathValueForNonRuntime(String xpath)
- * return String - is the value of the element specified in the xpath.
- */
- public String getXPathValueForNonRuntime(String xpath){
- try{
- String value = null;
- Document d = getVerifierContext().getDocument();
- if (d==null) return null;
- XObject result = XPathAPI.eval(d, xpath,
- (PrefixResolver)new XpathPrefixResolver (d));
- NodeList nl = result.nodelist();
- for(int i=0; i<nl.getLength();i++){
- Node n = ((Node)nl.item(i)).getFirstChild();
- if (n==null) return null;
- value = n.getNodeValue();
- }
- return value;
- }catch(Exception ex){
- ex.printStackTrace();
- return null;
- }
- }
-
- /*
- *getXPathValue(String xpath)
- * return String - is the value of the element specified in the xpath.
- */
- public String getXPathValue(String xpath){
- try{
- String value = null;
- Document d = getVerifierContext().getRuntimeDocument();
- if (d==null) return null;
- NodeList nl = XPathAPI.selectNodeList(d, xpath);
- for(int i=0; i<nl.getLength();i++){
- Node n = ((Node)nl.item(i)).getFirstChild();
- if (n==null) return null;
- value = n.getNodeValue();
- }
- return value;
- }catch(Exception ex){
- ex.printStackTrace();
- return null;
- }
- }
-
- /*
- *getXPathValue(String xpath)
- * return char[] - is the value of the element specified in the xpath.
- */
- public char[] getXPathValueasCharArray(String xpath){
- try{
- String value = null;
- Document d = getVerifierContext().getRuntimeDocument();
- if (d==null) return null;
- NodeList nl = XPathAPI.selectNodeList(d, xpath);
- for(int i=0; i<nl.getLength();i++){
- Node n = ((Node)nl.item(i)).getFirstChild();
- if (n==null) return null;
- value = n.getNodeValue();
- }
- return value.toCharArray();
- }catch(Exception ex){
- ex.printStackTrace();
- return null;
- }
- }
-
- /*
- * getCountNodeSet( String xpath)
- * return the number of nodes for the specified xpath
- */
- public int getCountNodeSet (String xpath){
- try{
-// int value = -1;
- Document d = getVerifierContext().getRuntimeDocument();
- if (d==null)
- return -1;
- NodeSet ns = new NodeSet(XPathAPI.selectNodeList(d, xpath));
- return ns.getLength();
- }catch(Exception ex){
- ex.printStackTrace();
- return -1;
- }
- }
-
- public int getNonRuntimeCountNodeSet(String xpath){
- try{
-// int value = -1;
- Document d = getVerifierContext().getDocument();
- if (d==null)
- return -1;
- XObject result = XPathAPI.eval(d, xpath,
- (PrefixResolver)new XpathPrefixResolver (d));
- NodeList nl = result.nodelist();
- NodeSet ns = new NodeSet(nl);
- return ns.getLength();
- }catch(Exception ex){
- ex.printStackTrace();
- return -1;
- }
- }
-
- /*
- *getRuntimeSpecVersion()
- * return Float Spec-version
- */
- public Float getRuntimeSpecVersion(){
- String docType = null;
- String versionStr = null;
- Float versionFloat=null;
- try{
- DocumentType dt = getVerifierContext().getRuntimeDocument().getDoctype();
- if (dt==null) return null;
- docType = dt.getPublicId();
- StringTokenizer st = new StringTokenizer(docType, "//");
- while (st.hasMoreElements()) {
- String tmp = st.nextToken();
- if (tmp.startsWith("DTD")) {
- // this is the string we are interested in
- StringTokenizer versionST = new StringTokenizer(tmp);
- while (versionST.hasMoreElements()) {
- versionStr = versionST.nextToken();
- try {
- versionFloat = Float.valueOf(versionStr);
- } catch(NumberFormatException nfe) {
- // ignore, this is just the other info of the publicID
- }
- }
- }
- }
- return versionFloat;
- }catch(Exception ex){
- //ex.printStackTrace();
- return null;
- }
- }
-
- /**
- * If the param string is of primitive type this method return that class
- * representation of the primitive type
- * @param param
- * @return Class representaion of the primitive type
- */
- public Class checkIfPrimitive(String param) {
-
- if (param.equals("int"))
- return int.class;
- if (param.equals("boolean"))
- return boolean.class;
- if (param.equals("float"))
- return float.class;
- if (param.equals("double"))
- return(double.class);
- if (param.equals("byte"))
- return byte.class;
- if (param.equals("long"))
- return long.class;
- if (param.equals("char"))
- return char.class;
- if (param.equals("short"))
- return short.class;
- if (param.equals("void"))
- return void.class;
-
- return null;
- }
-
- /** These methods are used to add details to the result. Since this
- * Class is the base class of all the Ejb Tests, all the tests
- * can use these methods. Currently only runtime tests are using them.
- */
-
- protected void addGoodDetails(Result result, ComponentNameConstructor compName) {
- // make sure that this message is added only once
- if(addedGood) return;
- addedGood = true;
- result.addGoodDetails(smh.getLocalString("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- }
-
- protected void addErrorDetails(Result result, ComponentNameConstructor compName) {
- // make sure that this message is added only once
- if(addedError) return;
- addedError = true;
- result.addErrorDetails(smh.getLocalString("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- }
-
- protected void addWarningDetails(Result result, ComponentNameConstructor compName) {
- // make sure that this message is added only once
- if(addedWarning) return;
- addedWarning = true;
- result.addWarningDetails(smh.getLocalString("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- }
-
- protected void addNaDetails(Result result, ComponentNameConstructor compName) {
- // make sure that this message is added only once
- if(addedNa) return;
- addedNa = true;
- result.addNaDetails(smh.getLocalString("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDAppClient.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDAppClient.java
deleted file mode 100644
index 7ec5e14..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDAppClient.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import java.io.*;
-import java.util.jar.*;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * The alt-dd element specifies a URI to the post-assembly deployment descriptor
- * relative to the root of the application
- */
-
-public class AppAltDDAppClient extends ApplicationTest implements AppCheck {
-
-
- /**
- * The alt-dd element specifies a URI to the post-assembly deployment descriptor
- * relative to the root of the application
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
- if (descriptor.getBundleDescriptors(ApplicationClientDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- int na = 0;
- for (Iterator itr = descriptor.getBundleDescriptors(ApplicationClientDescriptor.class).iterator(); itr.hasNext();) {
- ApplicationClientDescriptor acd = (ApplicationClientDescriptor) itr.next();
-
- if (acd.getModuleDescriptor().getAlternateDescriptor()!=null) {
- if (!(acd.getModuleDescriptor().getAlternateDescriptor().equals(""))) {
- InputStream deploymentEntry=null;
-// File f = null;
-// if (Verifier.getEarFile() != null)
-// f = new File(Verifier.getEarFile());
-
- try {
-// if (f==null){
- String uri = getAbstractArchiveUri(descriptor);
-// try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(acd.getModuleDescriptor().getAlternateDescriptor());
-// }catch (Exception e) { }
-// }else{
-//
-// jarFile = new JarFile(f);
-// ZipEntry deploymentEntry1 = jarFile.getEntry(acd.getModuleDescriptor().getAlternateDescriptor());
-// if (deploymentEntry1 != null)
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
-
- if (deploymentEntry != null) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Found alternate application client deployment descriptor URI file [ {0} ] within [ {1} ]",
- new Object[] {acd.getModuleDescriptor().getAlternateDescriptor(), acd.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No alternate application client deployment descriptor URI file found, looking for [ {0} ] within [ {1} ]",
- new Object[] {acd.getModuleDescriptor().getAlternateDescriptor(), acd.getName()}));
- }
- //jarFile.close();
-
- } catch (FileNotFoundException ex) {
- Verifier.debug(ex);
- if (!oneFailed) {
- oneFailed = true;
- }
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: File not found trying to read deployment descriptor file [ {0} ] within [ {1} ]",
- new Object[] {acd.getModuleDescriptor().getAlternateDescriptor(), acd.getName()}));
- } catch (IOException ex) {
- Verifier.debug(ex);
- if (!oneFailed) {
- oneFailed = true;
- }
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: IO Error trying to read deployment descriptor file [ {0} ] within [ {1} ]",
- new Object[] {acd.getModuleDescriptor().getAlternateDescriptor(), acd.getName()}));
- } finally {
- try {
- if (deploymentEntry !=null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
- }
- } else {
- na++;
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There is no java application client alternative deployment descriptor in [ {0} ]",
- new Object[] {acd.getName()}));
- }
-
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (na == descriptor.getBundleDescriptors(ApplicationClientDescriptor.class).size()) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no java application clients in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDEjb.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDEjb.java
deleted file mode 100644
index 0165708..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDEjb.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import java.io.*;
-import java.util.jar.*;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * The alt-dd element specifies a URI to the post-assembly deployment descriptor
- * relative to the root of the application
- */
-
-public class AppAltDDEjb extends ApplicationTest implements AppCheck {
-
-
- /**
- * The alt-dd element specifies a URI to the post-assembly deployment descriptor
- * relative to the root of the application
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
- if (descriptor.getBundleDescriptors(EjbBundleDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- int na = 0;
- for (Iterator itr = descriptor.getBundleDescriptors(EjbBundleDescriptor.class).iterator(); itr.hasNext();) {
- EjbBundleDescriptor ejbd = (EjbBundleDescriptor) itr.next();
-
- if (ejbd.getModuleDescriptor().getAlternateDescriptor()!=null) {
- if (!(ejbd.getModuleDescriptor().getAlternateDescriptor().equals(""))) {
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
-// File f = null;
-// if (Verifier.getEarFile() != null)
-// f = new File(Verifier.getEarFile());
-
- try {
-// if (f==null){
- String uri = getAbstractArchiveUri(descriptor);
-// try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(ejbd.getModuleDescriptor().getAlternateDescriptor());
-// }catch (Exception e) { }
-// }else{
-//
-// jarFile = new JarFile(f);
-// ZipEntry deploymentEntry1 = jarFile.getEntry(ejbd.getModuleDescriptor().getAlternateDescriptor());
-// if (deploymentEntry1 != null){
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
-// }
-
- if (deploymentEntry != null) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Found alternate EJB deployment descriptor URI file [ {0} ] within [ {1} ]",
- new Object[] {ejbd.getModuleDescriptor().getAlternateDescriptor(),ejbd.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No alternate EJB deployment descriptor URI file found, looking for [ {0} ] within [ {1} ]",
- new Object[] {ejbd.getModuleDescriptor().getAlternateDescriptor(),ejbd.getName()}));
- }
- //jarFile.close();
-
- } catch (FileNotFoundException ex) {
- Verifier.debug(ex);
- if (!oneFailed) {
- oneFailed = true;
- }
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: File not found trying to read deployment descriptor file [ {0} ] within [ {1} ]",
- new Object[] {ejbd.getModuleDescriptor().getAlternateDescriptor(), ejbd.getName()}));
- } catch (IOException ex) {
- Verifier.debug(ex);
- if (!oneFailed) {
- oneFailed = true;
- }
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: IO Error trying to read deployment descriptor file [ {0} ] within [ {1} ]",
- new Object[] {ejbd.getModuleDescriptor().getAlternateDescriptor(), ejbd.getName()}));
- } finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
-
- }
- } else {
- na++;
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There is no java EJB alternative deployment descriptor in [ {0} ]",
- new Object[] {ejbd.getName()}));
- }
-
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (na == descriptor.getBundleDescriptors(EjbBundleDescriptor.class).size()) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no EJB components in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDWeb.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDWeb.java
deleted file mode 100644
index 79ae018..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppAltDDWeb.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import java.io.*;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * The alt-dd element specifies a URI to the post-assembly deployment descriptor
- * relative to the root of the application
- */
-
-public class AppAltDDWeb extends ApplicationTest implements AppCheck {
-
-
- /**
- * The alt-dd element specifies a URI to the post-assembly deployment descriptor
- * relative to the root of the application
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
- if (descriptor.getBundleDescriptors(WebBundleDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- int na = 0;
- for (Iterator itr = descriptor.getBundleDescriptors(WebBundleDescriptor.class).iterator(); itr.hasNext();) {
- WebBundleDescriptor wbd = (WebBundleDescriptor) itr.next();
-
- if (wbd.getModuleDescriptor().getAlternateDescriptor()!=null) {
- if (!(wbd.getModuleDescriptor().getAlternateDescriptor().equals(""))) {
- InputStream deploymentEntry=null;
-// File f = null;
-// if (Verifier.getEarFile() != null)
-// f = new File(Verifier.getEarFile());
-
- try {
-// if (f==null){
- String uri = getAbstractArchiveUri(descriptor);
-// try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(wbd.getModuleDescriptor().getAlternateDescriptor());
-// }catch (Exception e) { }
-// }else{
-//
-// jarFile = new JarFile(f);
-// ZipEntry deploymentEntry1 = jarFile.getEntry(wbd.getModuleDescriptor().getAlternateDescriptor());
-// if (deploymentEntry1 != null)
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
-
- if (deploymentEntry != null) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Found alternate web deployment descriptor URI file [ {0} ] within [ {1} ]",
- new Object[] {wbd.getModuleDescriptor().getAlternateDescriptor(),wbd.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No alternate web deployment descriptor URI file found, looking for [{0} ] within [ {1} ]",
- new Object[] {wbd.getModuleDescriptor().getAlternateDescriptor(), wbd.getName()}));
- }
- //jarFile.close();
-
- } catch (FileNotFoundException ex) {
- Verifier.debug(ex);
- if (!oneFailed) {
- oneFailed = true;
- }
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: File not found trying to read deployment descriptor file [ {0} ] within [ {1} ]",
- new Object[] {wbd.getModuleDescriptor().getAlternateDescriptor(), wbd.getName()}));
- } catch (IOException ex) {
- Verifier.debug(ex);
- if (!oneFailed) {
- oneFailed = true;
- }
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- " Error: IO Error trying to read deployment descriptor file [ {0} ] within [ {1} ]",
- new Object[] {wbd.getModuleDescriptor().getAlternateDescriptor(), wbd.getName()}));
- } finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
-
- }
- } else {
- na++;
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There is no java web alternative deployment descriptor in [ {0} ]",
- new Object[] {wbd.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (na == descriptor.getBundleDescriptors(WebBundleDescriptor.class).size()) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no web components in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppCheck.java
deleted file mode 100755
index 11e3fa4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppCheck.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.*;
-
-/**
- * The Application interface, which all applications tests implement
- */
-
-public interface AppCheck {
-
- Result check(Application descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppClientURI.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppClientURI.java
deleted file mode 100644
index cd67443..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppClientURI.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-
-/**
- * The java element specifies the URI of a java application
- * client module, relative to the top level of the application package.
- *
- */
-
-public class AppClientURI extends ApplicationTest implements AppCheck {
-
-
- /**
- * The java element specifies the URI of a java application
- * client module, relative to the top level of the application package.
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Result result = getInitializedResult();
-
- // java element specifies the URI of a java application
- // client module, relative to the top level of the application package
- for (Iterator itr = descriptor.getBundleDescriptors(ApplicationClientDescriptor.class).iterator(); itr.hasNext();) {
- ApplicationClientDescriptor acd = (ApplicationClientDescriptor) itr.next();
-
- // not sure what we can do to test this string?
- // as long as it's not blank, pass...
- if (!acd.getModuleDescriptor().getArchiveUri().endsWith(".jar")) {
- addErrorDetails(result, compName);
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not specify the URI [ {1} ] of an ejb-jar, relative to the top level of the application package [ {2} ], or does not end with \".jar\"",
- new Object[] {acd.getName(), acd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
-
- }
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "All the Application URIs are valid."));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppName.java
deleted file mode 100644
index 6014135..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppName.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-
-
-/**
- * Application's name test.
- * The Application provider must assign a display name to each Application
- */
-public class AppName extends ApplicationTest implements AppCheck {
-
-
- /**
- * Application's name test.
- * The Application provider must assign a display name to each Application
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
- String appName = descriptor.getName();
-
- if (appName != null && appName.length() > 0 ) {
- // as long as it's not blank, test should pass
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Application display name is : [ {0} ]",
- new Object [] {appName}));
- } else {
- // it's blank, test should not pass
-
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Application display name cannot be blank."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppPublicID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppPublicID.java
deleted file mode 100644
index 5248484..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppPublicID.java
+++ /dev/null
@@ -1,150 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import java.io.*;
-
-import com.sun.enterprise.deployment.io.ApplicationDeploymentDescriptorFile;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * Application PUBLIC identifier test
- * The application deployment descriptor has PUBLIC identifier with
- * a PubidLiteral of "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN"
- */
-public class AppPublicID extends ApplicationTest implements AppCheck {
-
-
- String acceptablePubidLiterals[] = {
- "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN",
- "-//Sun Microsystems, Inc.//DTD J2EE Application 1.3//EN" };
-
- String acceptableURLs[] = {"http://java.sun.com/j2ee/dtds/application_1_2.dtd",
- "http://java.sun.com/dtd/application_1_3.dtd"};
-
- /**
- * Application PUBLIC identifier test
- * The application deployment descriptor has PUBLIC identifier with
- * a PubidLiteral of "-//Sun Microsystems, Inc.//DTD J2EE Application 1.2//EN"
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
- // open the jar and read the XML deployment descriptor
- if (descriptor.getSpecVersion().compareTo("1.4") < 0){
- InputStream deploymentEntry=null;
-
- String uri = null;
- try {
- uri = getAbstractArchiveUri(descriptor);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(
- ApplicationDeploymentDescriptorFile.DESC_PATH);
-
- if (deploymentEntry != null) {
- BufferedReader in = new BufferedReader(new InputStreamReader(deploymentEntry));
- String s = in.readLine();
- boolean foundDOCTYPE = false, foundPubid = false, foundURL = false;
-
- while(s != null) {
- // did we find the DOCTYPE entry?
- if(s.indexOf("DOCTYPE") > -1)
- foundDOCTYPE = true;
- if(foundDOCTYPE){
- for (int i=0;i<acceptablePubidLiterals.length;i++) {
- if (s.indexOf(acceptablePubidLiterals[i]) > -1) {
- foundPubid = true;
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "The deployment descriptor has the proper PubidLiteral: {0}",
- new Object[] {acceptablePubidLiterals[i]}));
- }
- //check if the URLs match as well
- if (s.indexOf(acceptableURLs[i]) > -1) {
- foundURL = true;
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "The deployment descriptor has the proper URL corresponding the the PubIdLiteral: {0}",
- new Object[] {acceptableURLs[i]}));
- }
- }
- }
- if(foundPubid && foundURL) {
- result.setStatus(Result.PASSED);
- break;
- } else if(foundDOCTYPE && s.endsWith(">")) break; // DOCTYPE doesn't have any more lines to check
- s = in.readLine();
- }
-
- if(!foundDOCTYPE){
-
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "No document type declaration found in the deployment descriptor for {0}",
- new Object[] {descriptor.getName()}));
- } else if(!foundPubid) {
-
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed2",
- "The deployment descriptor for {0} does not have the expected PubidLiteral ",
- new Object[] {descriptor.getName()}));
- }else if (!foundURL){
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor {0} doesnot have the right URL corresponding to the PubIdLiteral",
- new Object[] {descriptor.getName()}));
- }
- }
-
- } catch (IOException e) {
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".IOException",
- "I/O error trying to open {0}", new Object[] {uri}));
- } finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
- }else{
- //NOT APPLICABLE
- /*result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));*/
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT-APPLICABLE: No DOCTYPE found for [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppSecurityRole.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppSecurityRole.java
deleted file mode 100644
index c3e7d52..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppSecurityRole.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import java.util.*;
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.security.acl.*;
-import com.sun.enterprise.tools.verifier.*;
-import org.glassfish.security.common.Role;
-
-
-/**
- * The Application role-name element contains the name of a security role.
- */
-public class AppSecurityRole extends ApplicationTest implements AppCheck {
-
-
-
- /**
- * The Application role-name element contains the name of a security role.
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
- if (!descriptor.getRoles().isEmpty()) {
- boolean oneFailed = false;
- boolean foundIt = false;
- // get the security role name's in this app
- Set sc = descriptor.getRoles();
- Iterator itr = sc.iterator();
- while (itr.hasNext()) {
- foundIt = false;
- Role role = (Role) itr.next();
- String roleName = role.getName();
- if (roleName.length() > 0) {
- foundIt = true;
- } else {
- foundIt = false;
- }
-
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The security role name [ {0} ] found within application [ {1} ]",
- new Object[] {roleName, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The security role name [ {0} ] not found within application [ {1} ]",
- new Object[] {roleName, descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no role-name elements within the application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppWebContext.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppWebContext.java
deleted file mode 100644
index c513d79..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppWebContext.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-
-/**
- * All web modules in the application have a non-blank context-root
- */
-
-public class AppWebContext extends ApplicationTest implements AppCheck {
-
-
- /**
- * All web modules in the application have a non-blank context-root
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
- if (descriptor.getBundleDescriptors(WebBundleDescriptor.class).size() > 0) {
- boolean oneWarning = false;
- for (Iterator itr = descriptor.getBundleDescriptors(WebBundleDescriptor.class).iterator(); itr.hasNext();) {
- WebBundleDescriptor wbd = (WebBundleDescriptor) itr.next();
- if (wbd.getContextRoot().equals("")) {
- // fail test can't be blank ,
- if (!oneWarning) {
- oneWarning =true;
- }
- result.addWarningDetails
- (smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: [ {0} ] has blank context root defined within application [ {1} ]",
- new Object[] {wbd.getName(), descriptor.getName()}));
- } else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] has context root defined as [ {1} ] within application[ {2} ].",
- new Object[] {wbd.getName(), wbd.getContextRoot(), descriptor.getName()}));
- }
- }
-
- if (oneWarning) {
- result.setStatus(Result.WARNING);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no web components in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppWebContextUnique.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppWebContextUnique.java
deleted file mode 100644
index 5c879a1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/AppWebContextUnique.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-
-/**
- * All web modules in the application must have unique context-root.
- */
-
-public class AppWebContextUnique extends ApplicationTest implements AppCheck {
-
-
- /**
- * All web modules in the application must have unique context-root.
- * Applicable for j2ee 1.3 or below. For 1.4 and above xml schema takes care of this.
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
- Set webs=descriptor.getBundleDescriptors(WebBundleDescriptor.class);
- if(webs.size()<=1){
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There is one or less web component in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
- Set<String> contexts=new HashSet<String>();
- Iterator itr=webs.iterator();
- boolean oneFailed=false;
- while (itr.hasNext()) {
- WebBundleDescriptor wbd = (WebBundleDescriptor) itr.next();
- String ctx=wbd.getContextRoot();
- if(!contexts.add(ctx)){
- oneFailed=true;
- result.failed(
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: There is already a web module with context-root [ {0} ] within application [ {1} ]",
- new Object[] {ctx, descriptor.getName()})));
- }
- }
- if(!oneFailed){
- result.passed(
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "All the context-root values are unique within application [ {0} ]",
- new Object[] {descriptor.getName()})));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ApplicationTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ApplicationTest.java
deleted file mode 100644
index a4a8b96..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ApplicationTest.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.Application;
-
-import java.io.File;
-
-/**
- * Superclass for all application tests, contains common services.
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class ApplicationTest extends VerifierTest implements VerifierCheck, AppCheck
-{
-
- /**
- * <p>
- * run an individual test against the deployment descriptor for the
- * archive the verifier is performing compliance tests against.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor) {
- return check((Application) descriptor);
- }
-
- /**
- * <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the archive file
- * @return result object containing the result of the individual test
- * performed
- */
- public abstract Result check(Application descriptor);
-
-
-
- protected String getAbstractArchiveUri(Application desc) {
-
- String archBase = getVerifierContext().getAbstractArchive().
- getURI().toString();
- return archBase;
- }
-
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ConnectorURI.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ConnectorURI.java
deleted file mode 100644
index ac99562..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ConnectorURI.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import java.util.Iterator;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-
-/**
- * The connector element specifies the URI of a connector
- * module, relative to the top level of the application package.
- *
- */
-
-public class ConnectorURI extends ApplicationTest implements AppCheck {
-
- /**
- * The connector element specifies the URI of a connector
- * module, relative to the top level of the application package.
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Result result = getInitializedResult();
-
- for (Iterator itr = descriptor.getBundleDescriptors(ConnectorDescriptor.class).iterator(); itr.hasNext();) {
- ConnectorDescriptor cond = (ConnectorDescriptor) itr.next();
-
- if (!cond.getModuleDescriptor().getArchiveUri().endsWith(".rar")) {
- addErrorDetails(result, compName);
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not specify the URI [ {1} ] of a Connector module, relative to the top level of the application package [ {2} ], or does not end with \".rar\"",
- new Object[] {cond.getName(), cond.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- }
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "All the Connector URIs are valid."));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/EARFileUsesClassPath.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/EARFileUsesClassPath.java
deleted file mode 100644
index f294011..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/EARFileUsesClassPath.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * EARFileUsesClassPath.java
- *
- * Created on August 30, 2004, 9:15 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.tools.verifier.Result;
-import java.io.IOException;
-import java.util.jar.Attributes;
-import java.util.jar.Manifest;
-
-/**
- *
- * @author ss141213
- * An ear file should not contain Class-Path reference.
- * This as per J2EE 1.4 spec section#8.2. Contents from spec is given below...
- * A JAR format file (such as a .jar file, .war file, or .rar file)
- * can reference a .jar file by naming the referenced .jar file in a Class-Path header
- * in the referencing Jar file s Manifest file.
- */
-
-public class EARFileUsesClassPath extends ApplicationTest implements AppCheck {
- public Result check(Application descriptor){
- Result result = getInitializedResult();
- result.setStatus(Result.FAILED);
- try{
- Manifest manifest=getVerifierContext().getAbstractArchive().getManifest();
- String cp=null;
- if (manifest!=null)
- cp=manifest.getMainAttributes().getValue(Attributes.Name.CLASS_PATH);
- if(cp==null || cp.length()==0){
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Manifest file of this EAR file does not contain any Class-Path entry."));
- }else{
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Manifest file of this EAR file contains [ {0} ] as the Class-Path entry.",
- new Object[]{cp}));
- }
- }catch(IOException e){
- result.addErrorDetails(e.toString());
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/EjbURI.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/EjbURI.java
deleted file mode 100644
index ef38857..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/EjbURI.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-
-/**
- * The ejb element specifies the URI of a ejb-jar, relative to
- * the top level of the application package.
- *
- */
-
-public class EjbURI extends ApplicationTest implements AppCheck {
-
-
- /** The ejb element specifies the URI of a ejb-jar, relative to
- * the top level of the application package.
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
- if (descriptor.getBundleDescriptors(EjbBundleDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- for (Iterator itr = descriptor.getBundleDescriptors(EjbBundleDescriptor.class).iterator(); itr.hasNext();) {
- EjbBundleDescriptor ejbd = (EjbBundleDescriptor) itr.next();
-
-
- // not sure what we can do to test this string?
- if (ejbd.getModuleDescriptor().getArchiveUri().endsWith(".jar")) {
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] specifies the URI [ {1} ] of an ejb-jar, relative to the top level of the application package [ {2} ].",
- new Object[] {ejbd.getName(), ejbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed =true;
- }
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not specify the URI [ {1} ] of an ejb-jar, relative to the top level of the application package [ {2} ], or does not end with \".jar\"",
- new Object[] {ejbd.getName(), ejbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb components in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/JarContainsXMLFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/JarContainsXMLFile.java
deleted file mode 100644
index 86e4cd1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/JarContainsXMLFile.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.deployment.io.ApplicationDeploymentDescriptorFile;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-import java.util.jar.*;
-
-/** An enterprise archive (.ear) file must contain the XML-based deployment descriptor.
- * The deployment descriptor must be named META-INF/application.xml in the JAR file.
- */
-public class JarContainsXMLFile extends ApplicationTest implements AppCheck {
-
-
- /** An enterprise archive (.ear) file must contain the XML-based deployment descriptor.
- * The deployment descriptor must be named META-INF/application.xml in the JAR file.
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
- // This test can not have a max-version set in xml file,
- // hence we must exclude this test based on platform version.
- if(getVerifierContext().getJavaEEVersion().
- compareTo(SpecVersionMapper.JavaEEVersion_5) >= 0) {
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
- }
-
-
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
- try {
-// File applicationJarFile = null;
-// if (Verifier.getEarFile() != null)
-// applicationJarFile = new File(Verifier.getEarFile());
-
- // should try to validate against SAX XML parser before
- // continuing, report syntax errors and drop out, otherwise
- // continue...
-
-// if (applicationJarFile == null) {
-// try {
- FileArchive arch = (FileArchive)getVerifierContext().
- getAbstractArchive();
- deploymentEntry = arch.getEntry(
- ApplicationDeploymentDescriptorFile.DESC_PATH);
-// }catch (IOException e) { throw e;}
-// }
-// else {
-//
-// jarFile = new JarFile(applicationJarFile);
-// ZipEntry deploymentEntry1 =
-// jarFile.getEntry(ApplicationDeploymentDescriptorFile.DESC_PATH);
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
-
- if (deploymentEntry != null) {
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Found deployment descriptor xml file [ {0} ]",
- new Object[] {ApplicationDeploymentDescriptorFile.DESC_PATH}));
- } else {
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No deployment descriptor xml file found, looking for [ {0} ]",
- new Object[] {ApplicationDeploymentDescriptorFile.DESC_PATH}));
- }
-
- } catch (FileNotFoundException ex) {
- Verifier.debug(ex);
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: File not found trying to read deployment descriptor file [ {0} ]",
- new Object[] {ApplicationDeploymentDescriptorFile.DESC_PATH}));
- } catch (IOException ex) {
- Verifier.debug(ex);
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: IO Error trying to read deployment descriptor file [ {0} ]",
- new Object[] {ApplicationDeploymentDescriptorFile.DESC_PATH}));
- } finally {
- try {
- if (jarFile != null)
- jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistAppClient.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistAppClient.java
deleted file mode 100644
index 6fa566f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistAppClient.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.util.io.FileUtils;
-import java.io.*;
-import java.util.jar.*;
-import java.util.*;
-import java.net.URI;
-
-/**
- * Application's listed J2EE modules exist in the Enterprise archive
- * The J2EE module element contains an ejb, java, or web element, which indicates
- */
-public class ModulesExistAppClient extends ApplicationTest implements AppCheck {
-
-
- /**
- * Application's listed J2EE modules exist in the Enterprise archive
- * The J2EE module element contains an ejb, java, or web element, which indicates
- * the module type and contains a path to the module file
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
-
- if (descriptor.getBundleDescriptors(ApplicationClientDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- for (Iterator itr = descriptor.getBundleDescriptors(ApplicationClientDescriptor.class).iterator(); itr.hasNext();) {
- ApplicationClientDescriptor acd = (ApplicationClientDescriptor) itr.next();
-
- if (!(acd.getModuleDescriptor().getArchiveUri().equals(""))) {
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
- boolean moduleDirExists = false;
-
-// try {
-// File applicationJarFile = null;
-// if (Verifier.getEarFile() != null) {
-// applicationJarFile = new File(Verifier.getEarFile());
-// }
-
-// if (applicationJarFile == null) {
-// try {
- String archBase =
- getAbstractArchiveUri(descriptor);
- String moduleName =
- acd.getModuleDescriptor().getArchiveUri();
- String moduleDir = FileUtils.makeFriendlyFilename(moduleName);
- File f = new File(new File(URI.create(archBase)),
- moduleDir);
- moduleDirExists = f.isDirectory();
-// }catch (Exception e) { throw new IOException(e.getMessage());}
-// }
-// else {
-// jarFile = new JarFile(applicationJarFile);
-// ZipEntry deploymentEntry1 = jarFile.getEntry(
-// acd.getModuleDescriptor().getArchiveUri());
-// deploymentEntry = jarFile.getInputStream(
-// deploymentEntry1);
-// }
-
- if ((deploymentEntry != null) || (moduleDirExists)) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "J2EE Application Client module [ {0} ] exists within [ {1} ].",
- new Object[] {acd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: J2EE Application Client module [ {0} ] does not exist within [ {1} ].",
- new Object[] {acd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- }
-
-// } catch (FileNotFoundException ex) {
-// finally {
- try {
- if (jarFile != null)
- jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
-// }
-
- }
-
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no java application clients in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistEjb.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistEjb.java
deleted file mode 100644
index acd3e45..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistEjb.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.util.io.FileUtils;
-import java.io.*;
-import java.util.jar.*;
-import java.util.*;
-import java.net.URI;
-
-/**
- * Application's listed J2EE modules exist in the Enterprise archive
- * The J2EE module element contains an ejb, java, or web element, which indicates
- */
-public class ModulesExistEjb extends ApplicationTest implements AppCheck {
-
-
- /**
- * Application's listed J2EE modules exist in the Enterprise archive
- * The J2EE module element contains an ejb, java, or web element, which indicates
- * the module type and contains a path to the module file
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
-
- if (descriptor.getBundleDescriptors(EjbBundleDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- for (Iterator itr = descriptor.getBundleDescriptors(EjbBundleDescriptor.class).iterator(); itr.hasNext();) {
- EjbBundleDescriptor ejbd = (EjbBundleDescriptor) itr.next();
-
- if (!(ejbd.getModuleDescriptor().getArchiveUri().equals(""))) {
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
- boolean moduleDirExists = false;
-
-// try {
-// File applicationJarFile = null;
-// if (Verifier.getEarFile() != null) {
-// applicationJarFile = new File(Verifier.getEarFile());
-// }
-
-// if (applicationJarFile == null) {
-// try {
- String archBase =
- getAbstractArchiveUri(descriptor);
- String moduleName =
- ejbd.getModuleDescriptor().getArchiveUri();
- String moduleDir = FileUtils.makeFriendlyFilename(moduleName);
- File f = new File(new File(URI.create(archBase)),
- moduleDir);
- moduleDirExists = f.isDirectory();
-// }catch (Exception e) { throw new IOException(e.getMessage());}
-// }
-// else {
-// jarFile = new JarFile(applicationJarFile);
-// ZipEntry deploymentEntry1 = jarFile.getEntry(
-// ejbd.getModuleDescriptor().getArchiveUri());
-// deploymentEntry = jarFile.getInputStream(
-// deploymentEntry1);
-// }
-
- if ((deploymentEntry != null) || (moduleDirExists)) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "J2EE EJB module [ {0} ] exists within [ {1} ]",
- new Object[] {ejbd.getModuleDescriptor().getArchiveUri(),descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: J2EE EJB module [ {0} ] does not exist within [ {1} ].",
- new Object[] {ejbd.getModuleDescriptor().getArchiveUri(),descriptor.getName()}));
- }
-
-// } catch (FileNotFoundException ex) {
-// Verifier.debug(ex);
-// if (!oneFailed) {
-// oneFailed = true;
-// }
-//
-// result.failed(smh.getLocalString
-// (getClass().getName() + ".failedException",
-// "Error: File not found trying to read J2EE module file [ {0} ] within [ {1} ]",
-// new Object[] {ejbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
-// } catch (IOException ex) {
-// Verifier.debug(ex);
-// if (!oneFailed) {
-// oneFailed = true;
-// }
-//
-// result.failed(smh.getLocalString
-// (getClass().getName() + ".failedException1",
-// "Error: IO Error trying to read J2EE module file [ {0} ] within [ {1} ]",
-// new Object[] {ejbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
-// } finally {
- try {
- if (jarFile != null)
- jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
-// }
-
- }
-
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no EJB components in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistWeb.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistWeb.java
deleted file mode 100644
index 4e12ac1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/ModulesExistWeb.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.util.io.FileUtils;
-import java.io.*;
-import java.util.jar.*;
-import java.util.*;
-import java.net.URI;
-
-/**
- * Application's listed J2EE modules exist in the Enterprise archive
- * The J2EE module element contains an ejb, java, or web element, which indicates
- */
-public class ModulesExistWeb extends ApplicationTest implements AppCheck {
-
-
- /**
- * Application's listed J2EE modules exist in the Enterprise archive
- * The J2EE module element contains an ejb, java, or web element, which indicates
- * the module type and contains a path to the module file
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
-
- if (descriptor.getBundleDescriptors(WebBundleDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- for (Iterator itr = descriptor.getBundleDescriptors(WebBundleDescriptor.class).iterator(); itr.hasNext();) {
- WebBundleDescriptor wbd = (WebBundleDescriptor) itr.next();
-
- if (!(wbd.getModuleDescriptor().getArchiveUri().equals(""))) {
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
- boolean moduleDirExists = false;
-
-// try {
-// File applicationJarFile = null;
-// if (Verifier.getEarFile() != null) {
-// applicationJarFile = new File(Verifier.getEarFile());
-// }
-
-// if (applicationJarFile == null) {
-// try {
- String archBase = getAbstractArchiveUri(descriptor);
- String moduleName = wbd.getModuleDescriptor().getArchiveUri();
- String moduleDir = FileUtils.makeFriendlyFilename(moduleName);
- File f = new File(new File(URI.create(archBase)),
- moduleDir);
- moduleDirExists = f.isDirectory();
-// }catch (Exception e) { throw new IOException(e.getMessage());}
-// }
-// else {
-// jarFile = new JarFile(applicationJarFile);
-// ZipEntry deploymentEntry1 = jarFile.getEntry(
-// wbd.getModuleDescriptor().getArchiveUri());
-// deploymentEntry = jarFile.getInputStream(
-// deploymentEntry1);
-// }
-
- if ((deploymentEntry != null) || moduleDirExists) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "J2EE Web module [ {0} ] exists within [ {1} ].",
- new Object[] {wbd.getModuleDescriptor().getArchiveUri(),descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: J2EE Web module [ {0} ] does not exist within [ {1} ].",
- new Object[] {wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- }
-
-// } catch (FileNotFoundException ex) {
-// Verifier.debug(ex);
-// if (!oneFailed) {
-// oneFailed = true;
-// }
-//
-// result.failed(smh.getLocalString
-// (getClass().getName() + ".failedException",
-// "Error: File not found trying to read J2EE module file [ {0} ] within [ {1} ]",
-// new Object[] {wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
-// } catch (IOException ex) {
-// Verifier.debug(ex);
-// if (!oneFailed) {
-// oneFailed = true;
-// }
-//
-// result.failed(smh.getLocalString
-// (getClass().getName() + ".failedException1",
-// " Error: IO Error trying to read J2EE module file [ {0} ] within [ {1} ]",
-// new Object[] {wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
-// } finally {
- try {
- if (jarFile != null)
- jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
-// }
-
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no web components in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/OptPkgDependencySatisfied.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/OptPkgDependencySatisfied.java
deleted file mode 100644
index 6339233..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/OptPkgDependencySatisfied.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * OptPkgDependencySatisfied.java
- *
- * Created on August 30, 2004, 9:39 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.apiscan.packaging.ExtensionRef;
-import java.io.File;
-import java.io.IOException;
-import java.util.ArrayList;
-import java.util.Iterator;
-
-/**
- *
- * @author ss141213
- * This checks to see that all the installed optional packages that this ear depends on are indeed
- * available in the system or not.
- */
-public class OptPkgDependencySatisfied extends ApplicationTest implements AppCheck {
- public Result check(Application descriptor){
- Result result = getInitializedResult();
- try{
- String earURI=getAbstractArchiveUri(descriptor);
- com.sun.enterprise.tools.verifier.apiscan.packaging.Archive jar=new com.sun.enterprise.tools.verifier.apiscan.packaging.Archive(new File(earURI));
- //See we do not care about bundled opt packages, as for an ear file
- //there should not be any Class-Path entry.
- com.sun.enterprise.tools.verifier.apiscan.packaging.ExtensionRef[] extRefs=jar.getExtensionRefs();
- com.sun.enterprise.tools.verifier.apiscan.packaging.Archive[] allOptPkgs=com.sun.enterprise.tools.verifier.apiscan.packaging.Archive.getAllOptPkgsInstalledInJRE();
- ArrayList<ExtensionRef> notFounds=new ArrayList<ExtensionRef>();
- for(int i=0;i<extRefs.length;++i){
- ExtensionRef ref=extRefs[i];
- boolean found=false;
- for(int j=0;j<allOptPkgs.length;++j){
- if(ref.isSatisfiedBy(allOptPkgs[j])) {
- found=true;
- break;
- }
- }
- if(!found) notFounds.add(ref);
- }//for
-
- if(notFounds.isEmpty()){
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "All opt package dependency satisfied for this ear file."));
- result.passed("");
- }else{
- result.failed(smh.getLocalString(getClass().getName() + ".failed","Some dependencies could not be satisfied for this ear file. See info below..."));
- for(Iterator i=notFounds.iterator();i.hasNext();){
- result.addErrorDetails(i.next().toString());
- }
- }
- }catch(IOException e){
- result.failed(e.toString());
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/PersistenceUnitCount.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/PersistenceUnitCount.java
deleted file mode 100644
index d0f1813..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/PersistenceUnitCount.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.tools.verifier.tests.AbstractPersistenceUnitCount;
-
-
-/**
- * @author bshankar@sun.com
- * @see AbstractPersistenceUnitCount
- */
-public class PersistenceUnitCount extends AbstractPersistenceUnitCount {
-
- protected Application getRootDescriptor(Descriptor descriptor) {
- return Application.class.cast(descriptor);
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/TestNamesApp.xml b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/TestNamesApp.xml
deleted file mode 100644
index 5b46ec1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/TestNamesApp.xml
+++ /dev/null
@@ -1,93 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Application bundle tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppWebContext
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.EjbURI
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppClientURI
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.WebURI
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/WebURI.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/WebURI.java
deleted file mode 100644
index fe64cea..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/app/WebURI.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.app;
-
-import com.sun.enterprise.tools.verifier.tests.app.ApplicationTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-
-/**
- * The web-uri element specifies the URI of a web application file,
- * relative to the top level of the application package.
- *
- */
-
-public class WebURI extends ApplicationTest implements AppCheck {
-
-
- /**
- * The web-uri element specifies the URI of a web application file,
- * relative to the top level of the application package.
- *
- * @param descriptor the Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(Application descriptor) {
-
- Result result = getInitializedResult();
-
-
- // web-uri element specifies the URI of a web application file,
- // relative to the top level of the application package
- if (descriptor.getBundleDescriptors(WebBundleDescriptor.class).size() > 0) {
- boolean oneFailed = false;
- for (Iterator itr = descriptor.getBundleDescriptors(WebBundleDescriptor.class).iterator(); itr.hasNext();) {
- WebBundleDescriptor wbd = (WebBundleDescriptor) itr.next();
-
-
- // not sure what we can do to test this string?
- if (wbd.getModuleDescriptor().getArchiveUri().endsWith(".war")) {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] specifies the URI [ {1} ] of web application file, relative to the top level of the application package [ {2} ].",
- new Object[] {wbd.getName(), wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed =true;
- }
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not specify the URI [ {1} ] of web application file, relative to the top level of the application package [ {2} ]or does not end with \".war\"",
- new Object[] {wbd.getName(), wbd.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no web components in application [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientArchiveClassesLoadable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientArchiveClassesLoadable.java
deleted file mode 100644
index 4f23b61..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientArchiveClassesLoadable.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompiler;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.util.ArchiveClassesLoadableHelper;
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.util.Enumeration;
-
-/**
- * A j2ee archive should be self sufficient and should not depend on any classes to be
- * available at runtime.
- * The test checks whether all the classes found in the appclient archive are loadable and the
- * classes that are referenced inside their code are also loadable within the jar.
- *
- * @author Vikas Awasthi
- */
-public class AppClientArchiveClassesLoadable extends AppClientTest implements AppClientCheck {
-
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String archiveUri = getAbstractArchiveUri(descriptor);
-
- boolean allPassed = true;
- FileArchive arch = null;
- Enumeration entries= null;
- ClosureCompiler closureCompiler=getVerifierContext().getClosureCompiler();
-
- try {
- String uri = getAbstractArchiveUri(descriptor);
- arch = new FileArchive();
- arch.open(uri);
- entries = arch.entries();
- arch.close();
- } catch(Exception e) {
- e.printStackTrace();
- result.failed(smh.getLocalString(getClass().getName() + ".exception",
- "Error: [ {0} ] exception while loading the archive [ {1} ].",
- new Object[] {e, descriptor.getName()}));
- return result;
- }
- Object entry;
- while (entries.hasMoreElements()) {
- String name=null;
- entry = entries.nextElement();
- name = (String)entry;
- // look for entries with .class extension
- if (name.endsWith(".class")) {
- String className = name.substring(0, name.length()-".class".length()).replace('/','.');
- boolean status=closureCompiler.buildClosure(className);
- allPassed=status && allPassed;
- }
- }
- if (allPassed) {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the classes are loadable within [ {0} ] without any linkage error.",
- new Object[] {archiveUri}));
-// result.addGoodDetails(closureCompiler.toString());
- } else {
- result.setStatus(Result.FAILED);
- addErrorDetails(result, compName);
- result.addErrorDetails(ArchiveClassesLoadableHelper.
- getFailedResult(closureCompiler));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.loadableError",
- "Please either bundle the above mentioned classes in the application " +
- "or use optional packaging support for them."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientCallbackHandler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientCallbackHandler.java
deleted file mode 100644
index 16b9e70..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientCallbackHandler.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.ClassLoader;
-
-/**
- * AppClient callback handler test.
- * The AppClient provider may provide a JAAS callback handler.
- */
-public class AppClientCallbackHandler extends AppClientTest implements AppClientCheck {
-
-
-
- /**
- * AppClient name test.
- * The AppClient provider must assign a display-name to each AppClient module
- *
- *
- * @param descriptor the app-client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String callbackHandler = descriptor.getCallbackHandler();
-
- if(callbackHandler == null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "AppClient callback handler is not specified"));
- }
- else if (callbackHandler.length() > 0)
- {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(callbackHandler, false, getVerifierContext().getClassLoader());
- Object obj = c.newInstance();
- if( obj instanceof javax.security.auth.callback.CallbackHandler) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed1", "AppClient callback handler is : [ {0} ] and is loadable", new Object [] {callbackHandler}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed", "Error: AppClient callback handler is not loadable."));
- }
- } catch (Exception e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed", "Error: AppClient callback handler is not loadable."));
- }
- } else {
- // it's blank, test should not pass
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed1", "Error: AppClient callback handler must not be blank."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientCheck.java
deleted file mode 100755
index ec64dc2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientCheck.java
+++ /dev/null
@@ -1,29 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.*;
-
-/**
- * Interface that all Application Client test implement
- */
-
-public interface AppClientCheck {
-
- Result check(ApplicationClientDescriptor descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEjbRefNamePrefixed.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEjbRefNamePrefixed.java
deleted file mode 100755
index f54b4ab..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEjbRefNamePrefixed.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The application client ejb-ref-name element contains the name of an EJB
- * reference. The EJB reference is an entry in the enterprise bean's
- * environment. It is recommended that name is prefixed with "ejb/".
- */
-public class AppClientEjbRefNamePrefixed extends AppClientTest implements AppClientCheck {
-
-
- /**
- * The application client ejb-ref-name element contains the name of an EJB
- * reference. The EJB reference is an entry in the enterprise bean's
- * environment. It is recommended that name is prefixed with "ejb/".
- *
- * @param descriptor the app-client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneWarning = false;
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- String ejbRefName = nextEjbReference.getName();
-
- if (ejbRefName.startsWith("ejb/")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] is prefixed with recommended string \"ejb/\" within application client [ {1} ]",
- new Object[] {ejbRefName,descriptor.getName()}));
- } else {
- if (!oneWarning) {
- oneWarning = true;
- }
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails
- (smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: [ {0} ] is not prefixed with recommended string \"ejb/\" within application client [ {1} ]",
- new Object[] {ejbRefName,descriptor.getName()}));
- }
- }
- if (oneWarning) {
- result.setStatus(Result.WARNING);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEnvEntryValue.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEnvEntryValue.java
deleted file mode 100755
index ef809b2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEnvEntryValue.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * If the Bean Provider provides a value for an environment entry using the
- * env-entry-value element, the value can be changed later by the Application
- * Assembler or Deployer. The value must be a string that is valid for the
- * constructor of the specified type that takes a single String parameter.
- */
-public class AppClientEnvEntryValue extends AppClientTest implements AppClientCheck {
-
-
- /**
- * If the Bean Provider provides a value for an environment entry using the
- * env-entry-value element, the value can be changed later by the Application
- * Assembler or Deployer. The value must be a string that is valid for the
- * constructor of the specified type that takes a single String parameter.
- *
- * @param descriptor the app-client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- if (!descriptor.getEnvironmentProperties().isEmpty()) {
- int oneEnvValue = 0;
- int oneNA = 0;
- // The value must be a string that is valid for the
- // constructor of the specified type that takes a single String parameter
- for (Iterator itr2 = descriptor.getEnvironmentProperties().iterator();
- itr2.hasNext();) {
- oneEnvValue++;
- EnvironmentProperty nextEnvironmentProperty =
- (EnvironmentProperty) itr2.next();
- if ((nextEnvironmentProperty.getValue() != null) && (nextEnvironmentProperty.getValue().length() > 0)) {
- if (nextEnvironmentProperty.getType().equals("java.lang.String")) {
- // don't need to do anything in this case, since any string results
- // in a valid object creation
- try {
- new String(nextEnvironmentProperty.getValue());
- } catch (Exception e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Character")) {
- try {
- if (nextEnvironmentProperty.getValue().length() == 1) {
- char c = (nextEnvironmentProperty.getValue()).charAt(0);
- new Character(c);
- }
- else oneFailed = true;
- } catch (Exception e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Integer")) {
- try {
- new Integer(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Boolean")) {
- // don't need to do anything in this case, since any string results
- // in a valid object creation
- try {
- new Boolean(nextEnvironmentProperty.getValue());
- } catch (Exception e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Double")) {
- try {
- new Double(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Byte")) {
- try {
- new Byte(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Short")) {
- try {
- new Short(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Long")) {
- try {
- new Long(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Float")) {
- try {
- new Float(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else {
- oneFailed = true;
- }
- if (oneFailed) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Environment entry value [ {0} ] does not have valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within application client [ {3} ]",
- new Object[] {nextEnvironmentProperty.getName(),nextEnvironmentProperty.getValue(),nextEnvironmentProperty.getType(),descriptor.getName()}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Environment entry value [ {0} ] has valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within application client [ {3} ]",
- new Object[] {nextEnvironmentProperty.getName(),nextEnvironmentProperty.getValue(),nextEnvironmentProperty.getType(),descriptor.getName()}));
- }
- } else {
- // maybe nextEnvironmentProperty.getValue is null 'cause we
- // are not using nextEnvironmentProperty.getValue
- // if that is the case, then test is N/A,
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Environment entry [ {0} ] initial value is not defined within application client [ {1} ]",
- new Object[] {nextEnvironmentProperty.getName(), descriptor.getName()}));
- oneNA++;
- }
- }
- if (oneFailed){
- result.setStatus(Result.FAILED);
- } else if (oneNA == oneEnvValue) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no environment entry elements defined within this application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
-
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEnvEntryValueType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEnvEntryValueType.java
deleted file mode 100755
index a954a7f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientEnvEntryValueType.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The environment entry value type must be one of the following Java types:
- * String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- */
-public class AppClientEnvEntryValueType extends AppClientTest implements AppClientCheck {
-
-
-
- /**
- * The environment entry value type must be one of the following Java types:
- * String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- *
- * @param descriptor the app-client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- if (!descriptor.getEnvironmentProperties().isEmpty()) {
- // environment entry value type must be one of the following Java types:
- // String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- for (Iterator itr2 = descriptor.getEnvironmentProperties().iterator();
- itr2.hasNext();) {
- EnvironmentProperty nextEnvironmentProperty =
- (EnvironmentProperty) itr2.next();
- String envType = nextEnvironmentProperty.getType();
- if ((envType.equals("java.lang.String")) ||
- (envType.equals("java.lang.Integer")) ||
- (envType.equals("java.lang.Boolean")) ||
- (envType.equals("java.lang.Double")) ||
- (envType.equals("java.lang.Byte")) ||
- (envType.equals("java.lang.Short")) ||
- (envType.equals("java.lang.Long")) ||
- (envType.equals("java.lang.Character")) ||
- (envType.equals("java.lang.Float"))) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Environment entry value [ {0} ] has valid value type [ {1} ] within application client [ {2} ]",
- new Object[] {nextEnvironmentProperty.getName(),envType,descriptor.getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Environment entry value [ {0} ] does not have valid value type [ {1} ] within application client [ {2} ]",
- new Object[] {nextEnvironmentProperty.getName(),envType,descriptor.getName()}));
- }
- }
- if (!oneFailed){
- result.setStatus(Result.PASSED);
- } else {
- result.setStatus(Result.FAILED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no environment entry elements defined within this application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
-
- return result;
-
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientMainClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientMainClass.java
deleted file mode 100644
index 7c1a77e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientMainClass.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import java.lang.reflect.Modifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-
-/**
- * Application clients start execution at the main method of the class specified
- * in the Main-Class attribute in the manifest file of the application client’s
- * JAR file. It must be specified in the MANIFEST file.
- * @author Sudipto Ghosh
- */
-public class AppClientMainClass extends AppClientTest implements AppClientCheck {
-
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- String mainClass = descriptor.getMainClassName();
- if (mainClass != null && mainClass.length() > 0) {
- try {
- Class c = Class.forName(mainClass, false, getVerifierContext().getClassLoader());
- if(!Modifier.isPublic(c.getModifiers())) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName() + ".failed2",
- "ERROR: Appclient main-class [ {0} ] as specified in the Manifest file is not public.",
- new Object[] {mainClass}));
- }
- } catch (ClassNotFoundException cnfe) {
- if(debug)
- cnfe.printStackTrace();
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName() + ".failed1",
- "ERROR: Appclient main-class [ {0} ] as specified in the" +
- " Manifest file is not loadable.",
- new Object[] {mainClass}));
- }
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Appclient main-class is not found. Please check the " +
- "main-class entry of your appclient manifest file."));
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "main-class entry is defined properly."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientName.java
deleted file mode 100644
index 8797820..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientName.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * AppClient name test.
- * The AppClient provider must assign a display-name to each AppClient module
- */
-public class AppClientName extends AppClientTest implements AppClientCheck {
-
-
-
- /**
- * AppClient name test.
- * The AppClient provider must assign a display-name to each AppClient module
- *
- *
- * @param descriptor the app-client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- // String clientName = descriptor.getName();
- // get client xml display-name..
- // fix for bug # 4942905 - api changed in the DOL
- String clientName = descriptor.getDisplayName();
-
-
- if (clientName !=null && clientName.length() > 0)
- {
- // as long as it's not blank, test should pass
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed", "AppClient display name is : [ {0} ]", new Object [] {clientName}));
- } else {
- // it's blank, test should not pass
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed", "Error: AppClient display name must not be blank."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientPublicID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientPublicID.java
deleted file mode 100644
index ac53c77..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientPublicID.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import java.io.*;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.deployment.io.DescriptorConstants;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * Application Client PUBLIC identifier test
- * The application client deployment descriptor has PUBLIC identifier with
- * a PubidLiteral of
- * "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN"
- * "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN"
- */
-public class AppClientPublicID extends AppClientTest implements AppClientCheck {
-
- String acceptablePubidLiterals[] = {
- "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN",
- "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.3//EN" };
-
- String acceptableURLs[] = {"http://java.sun.com/j2ee/dtds/application-client_1_2.dtd",
- "http://java.sun.com/dtd/application-client_1_3.dtd"};
-
-
- /**
- * Application Client PUBLIC identifier test
- * The application client deployment descriptor has PUBLIC identifier with
- * a PubidLiteral of
- * "-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN"
- *
- * @param descriptor the app-client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // open the jar and read the XML deployment descriptor
- if (descriptor.getSpecVersion().compareTo("1.4") < 0){
- InputStream deploymentEntry=null;
- BufferedReader in = null;
- String uri = null;
- try {
- uri = getAbstractArchiveUri(descriptor);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(
- DescriptorConstants.APP_CLIENT_DD_ENTRY);
-
- if (deploymentEntry != null) {
- in = new BufferedReader(new InputStreamReader(deploymentEntry));
- String s = in.readLine();
- boolean foundDOCTYPE = false, foundPubid = false, foundURL = false;
-
- while(s != null) {
- // did we find the DOCTYPE entry?
- if(s.indexOf("DOCTYPE") > -1)
- foundDOCTYPE = true;
- if(foundDOCTYPE){
- for (int i=0;i<acceptablePubidLiterals.length;i++) {
- if (s.indexOf(acceptablePubidLiterals[i]) > -1) {
- foundPubid = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "The deployment descriptor has the proper PubidLiteral: {0}",
- new Object[] {acceptablePubidLiterals[i]}));
- }
- //check if the URLs match as well
- if (s.indexOf(acceptableURLs[i]) > -1) {
- foundURL = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "The deployment descriptor has the proper URL corresponding the the PubIdLiteral: {0}",
- new Object[] {acceptableURLs[i]}));
- }
- }
- }
-
- if(foundPubid && foundURL) {
- result.setStatus(Result.PASSED);
- break;
- } else if(foundDOCTYPE && s.endsWith(">")) break; // DOCTYPE doesn't have any more lines to check
- s = in.readLine();
- }
-
- if(!foundDOCTYPE){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "No document type declaration found in the deployment descriptor for {0}",
- new Object[] {descriptor.getName()}));
- } else if(!foundPubid) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed2",
- "The deployment descriptor for {0} does not have an expected PubidLiteral ",
- new Object[] {descriptor.getName()}));
- }else if (!foundURL){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor {0} doesnot have the right URL corresponding to the PubIdLiteral",
- new Object[] {descriptor.getName()}));
- }
- }
-
- } catch (IOException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".IOException",
- "I/O error trying to open {0}", new Object[] {uri}));
- } finally {
- try {
- if(in != null)
- in.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
- }else{
- //NOT APPLICABLE
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT-APPLICABLE: No DOCTYPE found for [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientTest.java
deleted file mode 100644
index 7143c0f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/AppClientTest.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.util.io.FileUtils;
-
-import java.io.File;
-
-/**
- * Superclass for all appclient tests, contains common services.
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class AppClientTest extends VerifierTest implements VerifierCheck, AppClientCheck
-{
-
- /**
- * <p>
- * run an individual test against the deployment descriptor for the
- * archive the verifier is performing compliance tests against.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor) {
- return check((ApplicationClientDescriptor) descriptor);
- }
-
- /**
- * <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive file
- * @return result object containing the result of the individual test
- * performed
- */
- public abstract Result check(ApplicationClientDescriptor descriptor);
-
- protected String getAbstractArchiveUri(ApplicationClientDescriptor desc) {
- String archBase = getVerifierContext().getAbstractArchive().
- getURI().toString();
- final ModuleDescriptor moduleDescriptor = desc.getModuleDescriptor();
- if (moduleDescriptor.isStandalone()) {
- return archBase; // it must be a stand-alone module; no such physical dir exists
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(moduleDescriptor.getArchiveUri());
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/JarContainsXML.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/JarContainsXML.java
deleted file mode 100644
index 9cf07df..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/JarContainsXML.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.io.DescriptorConstants;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-import java.util.jar.*;
-
-/**
- * An AppClient jar file must contain the XML-based deployment descriptor. The
- * deployment descriptor must be name META-INF/application-client-jar.xml in the
- * JAR file.
- */
-public class JarContainsXML extends AppClientTest implements AppClientCheck {
-
-
-
- /**
- * An AppClient jar file must contain the XML-based deployment descriptor. The
- * deployment descriptor must be name META-INF/application-client-jar.xml in the
- * JAR file.
- *
- * @param descriptor the app-client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
- Result result = getInitializedResult();
-
- // This test can not have a max-version set in xml file,
- // hence we must exclude this test based on platform version.
- if(getVerifierContext().getJavaEEVersion().
- compareTo(SpecVersionMapper.JavaEEVersion_5) >= 0) {
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
- }
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
- try {
-// File applicationJarFile = Verifier.getAppClientJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-
- // should try to validate against SAX XML parser before
- // continuing, report syntax errors and drop out, otherwise
- // continue...
-
-// if (applicationJarFile == null) {
- String uri = getAbstractArchiveUri(descriptor);
- try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(
- DescriptorConstants.APP_CLIENT_DD_ENTRY);
- }catch (IOException e) { throw e;}
-// }
-// else {
-//
-// jarFile = new JarFile(applicationJarFile);
-// ZipEntry deploymentEntry1 =
-// jarFile.getEntry((DescriptorConstants.APP_CLIENT_DD_ENTRY).replace('\\','/'));
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
-
- if (deploymentEntry != null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Found deployment descriptor xml file [ {0} ]",
- new Object[] {DescriptorConstants.APP_CLIENT_DD_ENTRY}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No deployment descriptor xml file found, looking for [ {0} ]",
- new Object[] {DescriptorConstants.APP_CLIENT_DD_ENTRY}));
- }
-
- } catch (FileNotFoundException ex) {
- Verifier.debug(ex);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: File not found trying to read deployment descriptor file [ {0} ]",
- new Object[] {DescriptorConstants.APP_CLIENT_DD_ENTRY}));
- } catch (IOException ex) {
- Verifier.debug(ex);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: IO Error trying to read deployment descriptor file [ {0} ]",
- new Object[] {DescriptorConstants.APP_CLIENT_DD_ENTRY}));
- } finally {
- try {
- if (jarFile != null)
- jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PUMatchingEMandEMFRefTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PUMatchingEMandEMFRefTest.java
deleted file mode 100644
index 39a72ef..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PUMatchingEMandEMFRefTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import com.sun.enterprise.deployment.BundleDescriptor;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EntityManagerReferenceDescriptor;
-import com.sun.enterprise.deployment.EntityManagerFactoryReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPUMatchingEMandEMFRefTest;
-
-import java.util.Collection;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class PUMatchingEMandEMFRefTest extends AbstractPUMatchingEMandEMFRefTest {
- protected ApplicationClientDescriptor getBundleDescriptor(Descriptor descriptor) {
- return ApplicationClientDescriptor.class.cast(descriptor);
- }
-
- protected Collection<EntityManagerReferenceDescriptor>
- getEntityManagerReferenceDescriptors(Descriptor descriptor) {
- return ApplicationClientDescriptor.class.cast(descriptor)
- .getEntityManagerReferenceDescriptors();
- }
-
- protected Collection<EntityManagerFactoryReferenceDescriptor>
- getEntityManagerFactoryReferenceDescriptors(Descriptor descriptor) {
- return ApplicationClientDescriptor.class.cast(descriptor)
- .getEntityManagerFactoryReferenceDescriptors();
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PUTransactionType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PUTransactionType.java
deleted file mode 100644
index 63ec4c7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PUTransactionType.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import com.sun.enterprise.deployment.BundleDescriptor;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EntityManagerFactoryReferenceDescriptor;
-import com.sun.enterprise.deployment.EntityManagerReferenceDescriptor;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import com.sun.enterprise.deployment.PersistenceUnitsDescriptor;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.tools.verifier.Result;
-import java.util.List;
-import java.util.ArrayList;
-import java.net.URI;
-import java.net.URISyntaxException;
-
-/**
- * Assertions :
- *
- * 1) A persistence unit with JTA transaction type is not supported in application client.
- * 2) Reference to a PU whose transaction type is JTA is not supported in application client.
- *
- * @author bshankar@sun.com
- */
-
-public class PUTransactionType extends VerifierTest implements VerifierCheck {
-
- public Result check(Descriptor descriptor) {
- ApplicationClientDescriptor appClient = (ApplicationClientDescriptor) descriptor;
- Result result = getInitializedResult();
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED); // default status is PASSED
-
- for(PersistenceUnitsDescriptor pus : appClient.getExtensionsDescriptors(PersistenceUnitsDescriptor.class)) {
- for(PersistenceUnitDescriptor nextPU : pus.getPersistenceUnitDescriptors()) {
- if("JTA".equals(nextPU.getTransactionType())) {
- result.failed(smh.getLocalString(getClass().getName() + ".puName",
- "Found a persistence unit by name [ {0} ] in persistence unit root [ {1} ] with JTA transaction type.",
- new Object[]{nextPU.getName(), nextPU.getPuRoot()}));
- }
- }
- }
-
- for(EntityManagerFactoryReferenceDescriptor emfRef : appClient.getEntityManagerFactoryReferenceDescriptors()) {
- String unitName = emfRef.getUnitName();
- PersistenceUnitDescriptor nextPU = appClient.findReferencedPU(unitName);
- if(nextPU == null) continue;
- if("JTA".equals(nextPU.getTransactionType())) {
- result.failed(smh.getLocalString(getClass().getName() + ".puRefName",
- "Found a reference to a persistence unit by name [ {0} ] in persistence unit root [ {1} ] with JTA transaction type.",
- new Object[]{nextPU.getName(), nextPU.getPuRoot()}));
- }
- }
-
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PersistenceUnitCount.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PersistenceUnitCount.java
deleted file mode 100644
index 100a8ef..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/PersistenceUnitCount.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPersistenceUnitCount;
-
-/**
- * @author bshankar@sun.com
- * @see AbstractPersistenceUnitCount
- */
-public class PersistenceUnitCount extends AbstractPersistenceUnitCount {
-
- protected ApplicationClientDescriptor getRootDescriptor(Descriptor descriptor) {
- return ApplicationClientDescriptor.class.cast(descriptor);
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/TestNamesAppClient.xml b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/TestNamesAppClient.xml
deleted file mode 100644
index 1495e25..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/TestNamesAppClient.xml
+++ /dev/null
@@ -1,83 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- App Client tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbLinkElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbLinkElement.java
deleted file mode 100755
index 6c0100f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbLinkElement.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient.elements;
-
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientTest;
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientCheck;
-import java.util.*;
-import java.util.logging.Level;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The value of the application client ejb-link element must be the ejb-name
- * of an enterprise bean in the same ejb .ear file.
- */
-public class AppClientEjbLinkElement extends AppClientTest implements AppClientCheck {
-
- /**
- * The value of the application client ejb-link element must be the ejb-name
- * of an enterprise bean in the same ejb-jar file.
- *
- * @param descriptor the Application client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean resolved = false;
- boolean oneFailed = false;
- int na = 0;
-/*
- if (Verifier.getEarFile() == null) {
- // this appclient is not part of an .ear file
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable
- (smh.getLocalString
- (getClass().getName() + ".no_ear",
- "This Application Client [ {0} ] is not part of a J2EE Archive.",
- new Object[] {descriptor.getName()}));
- return result;
- }
-*/
-// String applicationName = null;
- // The value of the ejb-link element must be the ejb-name of an enterprise
- // bean in the same ejb-jar file.
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- if (nextEjbReference.isLinked()) {
- String ejb_link = nextEjbReference.getLinkName();
- ejb_link = ejb_link.substring(ejb_link.indexOf("#") + 1);
- // get the application descriptor and check all ejb-jars in the application
- try {
-// File tmpFile = new File(System.getProperty("java.io.tmpdir"));
-// tmpFile = new File(tmpFile, Verifier.TMPFILENAME + ".tmp");
-
- // iterate through the ejb jars in this J2EE Application
- Set ejbBundles = descriptor.getApplication().getBundleDescriptors(EjbBundleDescriptor.class);
- Iterator ejbBundlesIterator = ejbBundles.iterator();
- EjbBundleDescriptor ejbBundle = null;
-
- while (ejbBundlesIterator.hasNext()) {
- ejbBundle = (EjbBundleDescriptor)ejbBundlesIterator.next();
- // Kumar: this code here seems like dead code to me, because tmpFile is
- // not being used. and extractBundleToFile, does not modify ejbBundle
- //((Application)application).getApplicationArchivist().
- // extractBundleToFile(ejbBundle, tmpFile);
-
- for (Iterator itr2 = ejbBundle.getEjbs().iterator(); itr2.hasNext();) {
- EjbDescriptor ejbDescriptor = (EjbDescriptor) itr2.next();
- if (ejbDescriptor.getName().equals(ejb_link)) {
- resolved = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "EJB reference [ {0} ] is successfully resolved.",
- new Object[] {nextEjbReference.getLinkName()}));
- break;
- }
- }
- }
- }catch (Exception e) {
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.testsprint",
- new Object[] {"[" + getClass() + "] Error: " + e.getMessage()});
- if (!oneFailed) {
- oneFailed = true;
- }
- }
-
- // before you go onto the next ejb-link, tell me whether you
- // resolved the last ejb-link okay
- if (!resolved) {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Failed to resolve EJB reference [ {0} ].",
- new Object[] {nextEjbReference.getLinkName()}));
- } else {
- // clear the resolved flag for the next ejb-link
- resolved =false;
- }
-
- } else {
- // Cannot get the link name of an ejb reference referring
- // to an external bean, The value of the ejb-link element
- // must be the ejb-name of an enterprise bean in the same
- // ejb-ear file.
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails
- (smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Not Applicable: Cannot verify the existence of an ejb reference [ {0} ] to external bean within different .ear file.",
- new Object[] {nextEjbReference.getName()}));
- na++;
- }
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (na == descriptor.getEjbReferenceDescriptors().size()) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-// File tmpFile = new File(System.getProperty("java.io.tmpdir"));
-// tmpFile = new File(tmpFile, Verifier.TMPFILENAME + ".tmp");
-// tmpFile.delete();
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-/*
- Application getApplication(File file) throws ArchiveException {
-
- try {
- // There is an ApplicationArchivist lying in appserver-core/com/sun/enterprise/deployment
- com.sun.enterprise.deployment.archivist.Archivist arch =
- ArchivistFactory.getArchivistForArchive(file);
- return (Application)(arch.open(file));
- }
- catch(Exception e) {
- throw new ArchiveException(e.getMessage());
- }
- }
- */
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbLinkOnlyOne.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbLinkOnlyOne.java
deleted file mode 100755
index 196db72..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbLinkOnlyOne.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient.elements;
-
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientTest;
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientCheck;
-import java.util.*;
-import java.util.logging.Level;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * For each application client ejb-link element, there must be only one
- * corresponding ejb that fullfils that dependancy in the scope of the
- * application.
- */
-public class AppClientEjbLinkOnlyOne extends AppClientTest implements AppClientCheck {
-
- /**
- * For each application client ejb-link element, there must be only one
- * corresponding ejb that fullfils that dependancy in the scope of the
- * application.
- *
- * @param descriptor the Application client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- int resolved = 0;
- boolean oneFailed = false;
- int na = 0;
- boolean pathPrefix = false;
- String jar_name = "";
-/*
- if (Verifier.getEarFile() == null) {
- // this appclient is not part of an .ear file
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable
- (smh.getLocalString
- (getClass().getName() + ".no_ear",
- "This Application Client [ {0} ] is not part of a J2EE Archive.",
- new Object[] {descriptor.getName()}));
- return result;
- }
-*/
-// String applicationName = null;
-
- // The value of the ejb-link element must be the ejb-name of an enterprise
- // bean in the same ejb-jar file.
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- if (nextEjbReference.isLinked()) {
- String ejb_link = nextEjbReference.getLinkName();
- if (ejb_link.indexOf("#") != -1) {
- jar_name = ejb_link.substring(0,ejb_link.indexOf("#"));
- ejb_link = ejb_link.substring(ejb_link.indexOf("#") + 1);
- pathPrefix = true;
- }
- // get the application descriptor and check all ejb-jars in the application
- try {
- // iterate through the ejb jars in this J2EE Application
- Set ejbBundles = descriptor.getApplication().getBundleDescriptors(EjbBundleDescriptor.class);
- Iterator ejbBundlesIterator = ejbBundles.iterator();
- EjbBundleDescriptor ejbBundle = null;
- resolved = 0;
-
- while (ejbBundlesIterator.hasNext()) {
- ejbBundle = (EjbBundleDescriptor)ejbBundlesIterator.next();
- String ejbBundleName = ejbBundle.getModuleDescriptor().getArchiveUri();
- // Kumar: this code here seems like dead code to me, because tmpFile is
- // not being used. and extractBundleToFile, does not modify ejbBundle
- //((Application)application).getApplicationArchivist().
- //extractBundleToFile(ejbBundle, tmpFile);
- for (Iterator itr2 = ejbBundle.getEjbs().iterator(); itr2.hasNext();) {
- EjbDescriptor ejbDescriptor = (EjbDescriptor) itr2.next();
- if (ejbDescriptor.getName().equals(ejb_link)) {
- if ((pathPrefix == true && jar_name.equals(ejbBundleName)) || pathPrefix == false) {
- resolved++;
- logger.log(Level.FINE, getClass().getName() + ".debug",
- new Object[] {ejb_link, ejbDescriptor.getName(), descriptor.getName()});
- }
- }
- if (resolved > 0) {
- break;
- }
-
- }
- if (resolved > 0) {
- break;
- }
- }
- }catch (Exception e) {
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.testsprint",
- new Object[] {"[" + getClass() + "] Error: " + e.getMessage()});
- if (!oneFailed) {
- oneFailed = true;
- }
- }
-
-
- // before you go onto the next ejb-link, tell me whether you
- // resolved the last ejb-link okay
- if (resolved == 0) {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Failed to resolve EJB reference [ {0} ] to a unique EJB in this application.",
- new Object[] {nextEjbReference.getLinkName()}));
- } else if (resolved == 1 || (pathPrefix == true && resolved > 0)) {
- // clear the resolved counter for the next ejb-link
- resolved=0;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "EJB reference [ {0} ] is successfully resolved.",
- new Object[] {nextEjbReference.getLinkName()}));
-
- } else {
- // Cannot get the link name of an ejb reference referring
- // to an external bean, The value of the ejb-link element
- // must be the ejb-name of an enterprise bean in the same
- // ejb-ear file.
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails
- (smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Warning: Cannot verify the existence of an ejb reference [ {0} ] to external bean within different .ear file.",
- new Object[] {nextEjbReference.getName()}));
- }
- }else {
- // Cannot get the link name of an ejb reference referring
- // to an external bean, The value of the ejb-link element
- // must be the ejb-name of an enterprise bean in the same
- // ejb-ear file.
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails
- (smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Not Applicable: Cannot verify the existence of an ejb reference [ {0} ] to external bean within different .ear file.",
- new Object[] {nextEjbReference.getName()}));
- na++;
- }
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (na == descriptor.getEjbReferenceDescriptors().size()) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-// File tmpFile = new File(System.getProperty("java.io.tmpdir"));
-// tmpFile = new File(tmpFile, Verifier.TMPFILENAME + ".tmp");
-// tmpFile.delete();
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbRefTypeElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbRefTypeElement.java
deleted file mode 100755
index 7f5a0b7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbRefTypeElement.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient.elements;
-
-import com.sun.enterprise.deployment.ApplicationClientDescriptor;
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientCheck;
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientTest;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.Iterator;
-
-/**
- * The ejb-ref-type element must be one of the following:
- * Entity
- * Session
- */
-public class AppClientEjbRefTypeElement extends AppClientTest implements AppClientCheck {
-
-
- /**
- * The ejb-ref-type element must be one of the following:
- * Entity
- * Session
- *
- * @param descriptor the Application client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean failed = false;
-
- //The ejb-ref-type element must be one of the following:
- // Entity
- // Session
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- String ejbRefTypeStr = nextEjbReference.getType();//getEjbDescriptor().getType();
- if (!((ejbRefTypeStr.equals(EjbSessionDescriptor.TYPE)) ||
- (ejbRefTypeStr.equals(EjbEntityDescriptor.TYPE)))) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: ejb-ref-type [ {0} ] within \n application client [ {1} ] is not valid. \n Must be [ {2} ] or [ {3} ]",
- new Object[] {ejbRefTypeStr,descriptor.getName(),EjbEntityDescriptor.TYPE,EjbSessionDescriptor.TYPE}));
- failed = true;
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- if (failed)
- {
- result.setStatus(Result.FAILED);
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "All ejb-ref-type elements are valid. They are all [ {0} ] or [ {1} ] within this application client [ {2} ]",
- new Object[] {EjbEntityDescriptor.TYPE,EjbSessionDescriptor.TYPE,descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbReferencesElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbReferencesElement.java
deleted file mode 100755
index 171a88c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientEjbReferencesElement.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient.elements;
-
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientTest;
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientCheck;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The Bean Provider must declare all enterprise bean's references to the homes
- * of other enterprise beans as specified in section 14.3.2 of the Moscone spec.
- * Check for one within the same jar file, can't check outside of jar file.
- * Load/locate & check other bean's home/remote/bean, ensure they match with
- * what the linking bean says they should be; check for pair of referencing and
- * referenced beans exist.
- */
-public class AppClientEjbReferencesElement extends AppClientTest implements AppClientCheck {
-
-
- /**
- * The Bean Provider must declare all enterprise bean's references to the homes
- * of other enterprise beans as specified in section 14.3.2 of the Moscone spec.
- * Check for one within the same jar file, can't check outside of jar file.
- * Load/locate & check other bean's home/remote/bean, ensure they match with
- * what the linking bean says they should be; check for pair of referencing and
- * referenced beans exist.
- *
- * @param descriptor the Application client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof ApplicationClientDescriptor) {
- // RULE: References to other beans must be declared in the form of
- // references to other beans homes as specified in section
- // 14.3.2 of the Moscone spec.
-
- // check for one bean within the same jar file; can't check outside of
- // jar file. need to load/locate and check other beans remote, home, bean
- // match with the linking bean says they should be. i.e. check for pair
- // of referencing & referenced bean exist, using reflection API
-
- EjbReferenceDescriptor ejbReference;
- Set references = descriptor.getEjbReferenceDescriptors();
- Iterator iterator = references.iterator();
-
- if (iterator.hasNext()) {
- boolean oneFailed = false;
- while (iterator.hasNext()) {
- ejbReference = (EjbReferenceDescriptor) iterator.next();
-
- String homeClassName = ejbReference.getHomeClassName();
- if(homeClassName == null) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: {0} class cannot be null.",
- new Object[] {"home"}));
- } else {
- try {
- Class.forName(homeClassName, false, getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] class [ {1} ] cannot be found within this jar [ {2} ].",
- new Object[] {ejbReference.getName(), homeClassName,
- descriptor.getModuleDescriptor().getArchiveUri()}));
- }
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "The referenced bean's home interface [ {0} ] exists and is loadable within [ {1} ].",
- new Object[] {ejbReference.getHomeClassName(),
- descriptor.getModuleDescriptor().getArchiveUri()}));
- }
-
- String remoteClassName = ejbReference.getEjbInterface();
- if(remoteClassName == null) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: {0} class cannot be null.",
- new Object[] {"remote"}));
- } else {
- try {
- Class.forName(remoteClassName, false, getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] class [ {1} ] cannot be found within this jar [ {2} ].",
- new Object[] {ejbReference.getName(), remoteClassName,
- descriptor.getModuleDescriptor().getArchiveUri()}));
- }
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed3",
- "The referenced bean's remote interface [ {0} ] exists and is loadable within [ {1} ].",
- new Object[] {ejbReference.getEjbInterface(),
- descriptor.getModuleDescriptor().getArchiveUri()}));
- }
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no ejb references to other beans within this application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] not called with a application client.",
- new Object[] {getClass()}));
- return result;
- }
- }
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientResourceType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientResourceType.java
deleted file mode 100644
index 76456e4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/appclient/elements/AppClientResourceType.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.appclient.elements;
-
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientTest;
-import com.sun.enterprise.tools.verifier.tests.appclient.AppClientCheck;
-import java.util.*;
-import java.util.logging.Level;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * The application client resource-type element specifies the Java class type
- * of the data source.
- */
-public class AppClientResourceType extends AppClientTest implements AppClientCheck {
-
- /**
- * The application client resource-type element specifies the Java class type
- * of the data source.
- *
- * @param descriptor the Application client deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ApplicationClientDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getResourceReferenceDescriptors().isEmpty()) {
- boolean oneFailed = false;
- boolean foundIt = false;
- Set resources = descriptor.getResourceReferenceDescriptors();
- Iterator itr = resources.iterator();
- // get the res-ref's in this .ear
- while(itr.hasNext()) {
- foundIt = false;
- ResourceReferenceDescriptor next = (ResourceReferenceDescriptor) itr.next();
- String resType = next.getType();
- logger.log(Level.FINE, "servlet resType: " + resType);
- if ((resType.equals("javax.sql.DataSource")) ||
- (resType.equals("jakarta.jms.QueueConnectionFactory")) ||
- (resType.equals("jakarta.jms.TopicConnectionFactory")) ||
- (resType.equals("jakarta.jms.ConnectionFactory")) ||
- (resType.equals("jakarta.mail.Session")) ||
- (resType.equals("java.net.URL"))) {
- foundIt = true;
- } else {
- foundIt = false;
- String specVerStr = descriptor.getSpecVersion();
- double specVer = 0;
- specVer = (Double.valueOf(specVerStr)).doubleValue();
- if (Double.compare(specVer, 1.4) >= 0) {
- // with J2EE 1.4, resource-ref can be any userdefined type
- foundIt = true;
- }
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The resource-type [ {0} ] element specifies the Java class type of the data source within application client [ {1} ]",
- new Object[] {resType, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The resource-type [ {0} ] element does not specify valid Java class type of the data source within application client [ {1} ]",
- new Object[] {resType, descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no resource-type elements within the application client [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/AuthMechType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/AuthMechType.java
deleted file mode 100644
index 968e413..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/AuthMechType.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * AuthMechType.java
- *
- * Created on October 3, 2000, 9:17 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.util.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.AuthMechanism;
-import com.sun.enterprise.deployment.xml.ConnectorTagNames;
-
-/**
- * All Authorization Mechanism type should be of an allowed type
- * @author Jerome Dochez
- * @version
- */
-public class AuthMechType extends ConnectorTest implements ConnectorCheck {
-
-
- private static String[] allowedMechs = {
- ConnectorTagNames.DD_BASIC_PASSWORD,
- ConnectorTagNames.DD_KERBEROS };
-
- /** <p>
- * All Authorization Mechanism type should be of an allowed type
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- boolean oneFailed = false;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- Set mechanisms =
- descriptor.getOutboundResourceAdapter().getAuthMechanisms();
- if (mechanisms.isEmpty()) {
- // passed
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.nonexist",
- "No authentication mechanism defined for this resource adapater"));
- return result;
- }
- Iterator mechIterator = mechanisms.iterator();
- while (mechIterator.hasNext()) {
- AuthMechanism am = (AuthMechanism) mechIterator.next();
- String authMechType = am.getAuthMechType();
- boolean allowedMech = false;
- if (authMechType!=null) {
- for (int i=0;i<allowedMechs.length;i++) {
- if (authMechType.equals(allowedMechs[i])) {
- allowedMech = true;
- break;
- }
- }
- }
- if (!allowedMech || authMechType == null) {
- // failed
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.failed",
- "Authentication mechanism type [ {0} ] is not allowed"));
- }
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.passed",
- "All defined authentication mechanism types are allowed"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckConfigPropertyName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckConfigPropertyName.java
deleted file mode 100644
index d14b740..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckConfigPropertyName.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckConfigPropertyName.java
- *
- * Created on October 2, 2000, 11:11 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.util.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- *
- * @author Jerome Dochez
- * @version
- */
-public class CheckConfigPropertyName extends ConnectorTest implements ConnectorCheck {
-
-
- /** <p>
- * Properties names defined in the resource adapter config-propery should
- * be unique per resource adapter
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Set properties = descriptor.getConfigProperties();
- Iterator iterator = properties.iterator();
- // let's add the propery name
- HashSet<String> hs = new HashSet<String>();
- while (iterator.hasNext()) {
- EnvironmentProperty ep = (EnvironmentProperty) iterator.next();
- if (hs.add(ep.getName())==false) {
- // duplicate name...
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: More than one propery has a duplicate name [ {0} ] in the deployment descriptors",
- new Object[] {ep.getName()}));
- return result;
- }
- }
- // success
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "There are no config properties with a duplicate name"));
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckConfigPropertyType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckConfigPropertyType.java
deleted file mode 100644
index f164ed9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckConfigPropertyType.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckConfigProperyType.java
- *
- * Created on October 2, 2000, 3:25 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.util.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-/**
- * Properties names defined in the resource adapter config-propery should
- * be of an acceptable type
- *
- * @author Jerome Dochez
- * @version
- */
-public class CheckConfigPropertyType extends ConnectorTest implements ConnectorCheck {
-
- /**
- * Property allowed type
- */
- private static Class[] allowedTypes = {
- java.lang.String.class,
- java.lang.Boolean.class,
- java.lang.Integer.class,
- java.lang.Double.class,
- java.lang.Byte.class,
- java.lang.Short.class,
- java.lang.Long.class,
- java.lang.Float.class,
- java.lang.Character.class,
- };
-
- /** <p>
- * Properties names defined in the resource adapter config-propery should
- * be of an acceptable type
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- boolean oneFailed = false;
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- //Set properties = descriptor.getConfigProperties();
- ConnectionDefDescriptor desc = descriptor.getConnectionDefinitionByCFType(null, true);
- Set properties = desc.getConfigProperties();
- if (properties.size()!=0) {
- Iterator iterator = properties.iterator();
- // let's add the propery name
- // HashSet hs = new HashSet();
- while (iterator.hasNext()) {
- EnvironmentProperty ep = (EnvironmentProperty) iterator.next();
- String type = ep.getType();
- if (type == null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".notdefined",
- "Error: The configuration property named [ {0} ] has no type ",
- new Object[] {ep.getName()}));
- return result;
- }
- Class typeClass = null;
- // is it loadable ?
- try {
- typeClass = Class.forName(type);
- } catch (Throwable t) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".nonexist",
- "Error: The type [ {0} ] of the configuration property named [ {1} ] cannot be loaded",
- new Object[] {ep.getType(), ep.getName()}));
- return result;
- }
- boolean allowedType = false;
- for (int i = 0; i < allowedTypes.length; i++) {
- if (allowedTypes[i].equals(typeClass)) {
- allowedType = true;
- break;
- }
- }
- if (!allowedType) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: The type [ {0} ] for the configuration property named [ {1} ] is not allowed",
- new Object[] {ep.getType(), ep.getName()}));
- return result;
- }
- }
- // for failure, result has been set before
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all properties have an allowed type"));
-
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName() + ".notApplicable",
- "Not Applicable: There are no config-property element defined" ));
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterClass.java
deleted file mode 100644
index 98f502b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterClass.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckResourceAdapterClass.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test that "resourceadapter-class" implements
- * "jakarta.resource.spi.ResourceAdapter".
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckResourceAdapterClass
-extends ConnectorTest
-implements ConnectorCheck
-{
-
- /** <p>
- * Test that "resourceadapter-class" implements
- * "jakarta.resource.spi.ResourceAdapter".
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- String resourceAdapterClass = descriptor.getResourceAdapterClass();
- if(resourceAdapterClass.equals(""))
- {
- if(descriptor.getInBoundDefined())
- {
- // resourceadapter-class cannot be null
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "resourceadapter-class cannot be empty if the resource" +
- " adapter provides inbound communication"));
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.resourceadapter.notApp",
- "resourceadapter-class is not specified."));
- }
- return result;
- }
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getRarClassLoader();
- Class implClass = null;
- try
- {
- implClass = Class.forName(resourceAdapterClass, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector." +
- "CheckResourceAdapter.nonexist",
- "Error: The class [ {0} ] as defined under resourceadapter-class " + "in the deployment descriptor does not exist",
- new Object[] {resourceAdapterClass}));
- return result;
- }
- if(!isImplementorOf(implClass, "jakarta.resource.spi.ResourceAdapter"))
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: resourceadapter-class [ {0} ] does not implement jakarta.resource.spi.ResourceAdapter",
- new Object[] {resourceAdapterClass}));
- }
- else
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: resourceadapter-class implements jakarta.resource.spi.ResourceAdapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterClassSerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterClassSerializable.java
deleted file mode 100644
index 070fda3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterClassSerializable.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckResourceAdapterClassSerializable.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test that "resourceadapter-class" implements java.io.Serializable
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckResourceAdapterClassSerializable
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * ResourceAdapter class must be available if the resource adapter provides
- * inbound communication
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
-
- String resourceAdapterClass = descriptor.getResourceAdapterClass();
- if(resourceAdapterClass.equals("") && descriptor.getInBoundDefined())
- {
- // resourceadapter-class cannot be null
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "ResourceAdapter class not found"));
- }
- else
- {
- addGoodDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.resourceadapter.notApp",
- "Valid ResourceAdapter class."));
- }
- return result;
- }
-}
-/* CR: 6388236
- }
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getRarClassLoader();
- Class implClass = null;
- try
- {
- implClass = Class.forName(resourceAdapterClass, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapter.nonexist",
- "Error: The class [ {0} ] as defined under resourceadapter-class in the deployment descriptor does not exist",
- new Object[] {resourceAdapterClass}));
- return result;
- }
- if(!isImplementorOf(implClass, "java.io.Serializable"))
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: resourceadapter-class [ {0} ] does not implement java.io.Serializable",
- new Object[] {resourceAdapterClass}));
- }
- else
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: resourceadapter-class implements java.io.Serializable"));
- }
- return result;
- }
-}
-*/
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterJavaBean.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterJavaBean.java
deleted file mode 100644
index 7dd84c0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CheckResourceAdapterJavaBean.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckResourceAdapterJavaBean.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.*;
-import java.beans.*;
-
-/**
- * Test that "resourceadapter-class" is a Java Bean.
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckResourceAdapterJavaBean
-extends ConnectorTest
-implements ConnectorCheck
-{
-
- /** <p>
- * Test that "resourceadapter-class" is a Java Bean.
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
-
- String impl = descriptor.getResourceAdapterClass();
- if(impl.equals(""))
- {
- if(descriptor.getInBoundDefined())
- {
- // resourceadapter-class cannot be null
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "resourceadapter-class cannot be empty if the resource" +
- " adapter provides inbound communication"));
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.resourceadapter.notApp",
- "resourceadapter-class is not specified."));
- }
- return result;
- }
- VerifierTestContext context = getVerifierContext();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapter.nonexist",
- "Error: The class [ {0} ] as defined under resourceadapter-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- Set configProps = descriptor.getConfigProperties();
- boolean oneFailed = false;
- Iterator propIter = configProps.iterator();
- BeanInfo bi = null;
- try
- {
- bi = Introspector.getBeanInfo(implClass, Object.class);
- }
- catch (IntrospectionException ie) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The resourceadapter-class [ {0} ] is not JavaBeans compliant",
- new Object[] {impl} ));
- return result;
- }
-
- PropertyDescriptor[] properties = bi.getPropertyDescriptors();
- Hashtable<String, PropertyDescriptor> props = new Hashtable<String, PropertyDescriptor>();
- for(int i=0;i<properties.length;i++)
- {
- props.put(properties[i].getName(), properties[i]);
- }
- while(propIter.hasNext())
- {
- EnvironmentProperty envProp = (EnvironmentProperty) propIter.next();
- String name = Introspector.decapitalize(envProp.getName());
- String type = envProp.getType();
- PropertyDescriptor propDesc = props.get(name);
- if(propDesc != null)
- {
- if (propDesc.getReadMethod()==null || propDesc.getWriteMethod()==null)
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: The resourceadapter-class [ {0} ] does not provide accessor methods for [ {1} ].",
- new Object[] {impl, name} ));
- return result;
- }
- }
- else
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: The resourceadapter-class [ {0} ] does not provide accessor methods for [ {1} ].",
- new Object[] {impl, name} ));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: resourceadapter-class is a Java Bean"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectionRequestInfoImplEquals.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectionRequestInfoImplEquals.java
deleted file mode 100644
index d199e3c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectionRequestInfoImplEquals.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionRequestInfoImplEquals.java
- *
- * Created on September 27, 2000, 10:21 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test wether the implementatin of the ConnectionRequestInfo interface
- * properly overrides the equals method
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionRequestInfoImplEquals extends ConnectorTest implements ConnectorCheck {
-
-
- /** <p>
- * Test wether the implementatin of the ConnectionRequestInfo interface
- * properly overrides the equals method.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // let's get first the the default implementation of the ConnectionManager
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- Class c = findImplementorOf(descriptor, "jakarta.resource.spi.ConnectionRequestInfo");
-
- if (c == null) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.optionalInterfaceMissing",
- "Warning: There is no implementation of the optional [ {0} ] interface",
- new Object[] {"jakarta.resource.spi.ConnectionRequestInfo"}));
- } else {
- // An implementation of the interface is provided, let's check the equals method
- checkMethodImpl(c, "equals", new Class[] {Object.class}, "public boolean equals(java.lang.Object)", result);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectionRequestInfoImplHashcode.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectionRequestInfoImplHashcode.java
deleted file mode 100644
index 1dd2f3d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectionRequestInfoImplHashcode.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionRequestInfoImplHashcode.java
- *
- * Created on September 27, 2000, 11:08 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test wether the implementatin of the ConnectionRequestInfo interface
- * properly overrides the hashcode method
- *
- * @author Jerome Dochez
- * @version
- */
-
-public class ConnectionRequestInfoImplHashcode extends ConnectorTest implements ConnectorCheck {
-
-
- /** <p>
- * Test wether the implementatin of the ConnectionRequestInfo interface
- * properly overrides the hashcode method.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- Class c = findImplementorOf(descriptor, "jakarta.resource.spi.ConnectionRequestInfo");
- if (c == null) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.optionalInterfaceMissing",
- "Warning: There is no implementation of the optional [ {0} ] interface",
- new Object[] {"jakarta.resource.spi.ConnectionRequestInfo"}));
- } else {
- // An implementation of the interface is provided, let's check the equals method
- checkMethodImpl(c, "hashCode", null, "public int hashCode()", result);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorArchiveClassesLoadable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorArchiveClassesLoadable.java
deleted file mode 100644
index a307c0e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorArchiveClassesLoadable.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompiler;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.util.ArchiveClassesLoadableHelper;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.util.Enumeration;
-
-/**
- * A j2ee archive should be self sufficient and should not depend on any classes to be
- * available at runtime.
- * The test checks whether all the classes found in the Connector archive are loadable and the
- * classes that are referenced inside their code are also loadable within the jar.
- *
- * @author Sanjeeb Sahoo
- */
-public class ConnectorArchiveClassesLoadable extends ConnectorTest implements ConnectorCheck {
-
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String archiveUri = getAbstractArchiveUri(descriptor);
-
- boolean allPassed = true;
- Enumeration entries= null;
- ClosureCompiler closureCompiler=getVerifierContext().getClosureCompiler();;
- try {
- String uri = getAbstractArchiveUri(descriptor);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- entries = arch.entries();
- arch.close();
- } catch(Exception e) {
- e.printStackTrace();
- result.failed(smh.getLocalString(getClass().getName() + ".exception",
- "Error: [ {0} ] exception while loading the archive [ {1} ].",
- new Object[] {e, descriptor.getName()}));
- return result;
- }
- Object entry;
- while (entries.hasMoreElements()) {
- String name=null;
- entry = entries.nextElement();
- name = (String)entry;
- if (name.endsWith(".class")) {
- String classEntryName = name.substring(0, name.length()-".class".length()).replace('/','.');
- boolean status=closureCompiler.buildClosure(classEntryName);
- allPassed=status && allPassed;
- }
- }
- if (allPassed) {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the classes are loadable within [ {0} ] without any linkage error.",
- new Object[] {archiveUri}));
-// result.addGoodDetails(closureCompiler.toString());
- } else {
- result.setStatus(Result.FAILED);
- addErrorDetails(result, compName);
- result.addErrorDetails(ArchiveClassesLoadableHelper.
- getFailedResult(closureCompiler));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.loadableError",
- "Please either bundle the above mentioned classes in the application " +
- "or use optional packaging support for them."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorCheck.java
deleted file mode 100644
index 335da36..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorCheck.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectorCheck.java
- *
- * Created on September 19, 2000, 5:08 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- * All Connector architecture test implement this interface to be
- * loaded and run inside the Verifier harness
- *
- * @author Jerome Dochez
- * @version
- */
-public interface ConnectorCheck {
-
- /**
- * <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorPublicID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorPublicID.java
deleted file mode 100644
index 3e39ee1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorPublicID.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.io.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.deployment.io.ConnectorDeploymentDescriptorFile;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * Connector PUBLIC identifier test
- * The Connector deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN"
- */
-public class ConnectorPublicID extends ConnectorTest implements ConnectorCheck {
-
-
- /**
- * Connector PUBLIC identifier test
- * The Connector deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN"
- *
- * @param descriptor the Connector deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String acceptablePubidLiterals[] = {
- "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN" };
-
- String acceptableURLs[] = {"http://java.sun.com/dtd/connector_1_0.dtd"};
-
-
- // open the jar and read the XML deployment descriptor
- if (descriptor.getSpecVersion().compareTo("1.5") < 0){
- InputStream deploymentEntry=null;
- BufferedReader in = null;
-
- String uri = null;
- try {
- uri = getAbstractArchiveUri(descriptor);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(
- ConnectorDeploymentDescriptorFile.DESC_PATH);
-
- if (deploymentEntry != null) {
- in = new BufferedReader(new InputStreamReader(deploymentEntry));
- String s = in.readLine();
- boolean foundDOCTYPE = false, foundPubid = false, foundURL = false;
-
- while (s != null) {
- // did we find the DOCTYPE entry?
- if (s.indexOf("DOCTYPE") > -1)
- foundDOCTYPE = true;
- if (foundDOCTYPE) {
- for (int i=0;i<acceptablePubidLiterals.length;i++) {
- if (s.indexOf(acceptablePubidLiterals[i]) > -1) {
- foundPubid = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "The deployment descriptor has the proper PubidLiteral: {0}",
- new Object[] {acceptablePubidLiterals[i]}));
- }
- if (s.indexOf(acceptableURLs[i]) > -1) {
- foundURL = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "The deployment descriptor has the proper URL corresponding to the PubIdLiteral: {0}",
- new Object[] {acceptableURLs[i]}));
- }
- }
- }
- if (foundPubid && foundURL) {
- result.setStatus(Result.PASSED);
- break;
- } else if(foundDOCTYPE && s.endsWith(">")) break; // DOCTYPE doesn't have any more lines to check
- s = in.readLine();
- }
-
- if (!foundDOCTYPE){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "No document type declaration found in the deployment descriptor for {0}",
- new Object[] {descriptor.getName()}));
- } else if (!foundPubid) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed2",
- "The deployment descriptor for {0} does not have an expected PubidLiteral ",
- new Object[] {descriptor.getName()}));
- }else if (!foundURL){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor {0} doesnot have the right URL corresponding to the PubIdLiteral",
- new Object[] {descriptor.getName()}));
- }
- }
-
- } catch (IOException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".IOException",
- "I/O error trying to open {0}", new Object[] {uri}));
- } finally {
- try {
- if(in != null)
- in.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
- }else{
- //NOT APPLICABLE
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT-APPLICABLE: No DOCTYPE found for [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorTest.java
deleted file mode 100644
index 1fdd697..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/ConnectorTest.java
+++ /dev/null
@@ -1,249 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectorTest.java
- *
- * Created on September 20, 2000, 11:10 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.File;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.util.Enumeration;
-import java.util.jar.JarInputStream;
-import java.util.zip.ZipEntry;
-/**
- * Superclass for all connector tests, contains common services.
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class ConnectorTest extends VerifierTest implements VerifierCheck, ConnectorCheck
-{
-
- /**
- * <p>
- * run an individual test against the deployment descriptor for the
- * archive the verifier is performing compliance tests against.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor) {
- return check((ConnectorDescriptor) descriptor);
- }
-
- /**
- * <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public abstract Result check(ConnectorDescriptor descriptor);
-
- /**
- * <p>
- * Find a class implementating the interface in the jar files contained
- * in the connector rar file.
- * </p>
- * @param interfaceName the interface the class should implement
- * @return class implementing the interface or null if not present in the
- * jar files
- */
- protected Class findImplementorOf(ConnectorDescriptor desc, String interfaceName) {
- /**
- * This is a little bit hectic but we have to go through all the
- * jar files included in the rar file and load all classes implemented
- * in these jar files. For each class, we should look if the class
- * implements the requested interface "interfaceName"
- */
-
- // let's get the rar file
- try {
- String uri=getAbstractArchiveUri(desc);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- for(Enumeration en = arch.entries();en.hasMoreElements();) {
- String entry = (String)en.nextElement();
- if (entry.endsWith(".jar")) {
- // we found a jar file, let's load it
- JarInputStream jis = new JarInputStream(arch.getEntry(entry));
- try {
- // Now we are going to iterate over the element of the jar file
- ZipEntry ze = jis.getNextEntry();
- while(ze!=null) {
- String elementName = (String) ze.getName();
- // Is this jar entry a java class file ?
- if (elementName.endsWith(".class")) {
- // we found a .class file let's load it and see if it does implement the interface
- String className = elementName.substring(0, elementName.length()-".class".length()).replace('/','.');
- //try {
- ClassLoader jcl = getVerifierContext().getRarClassLoader();
- Class c = Class.forName(className, false, jcl);
-
- if (isImplementorOf(c, interfaceName))
- if(c.getSuperclass() != null)
- return c;
-
- }
- ze = jis.getNextEntry();
- }
- } catch(ClassNotFoundException cnfe) {
- // We ignore this for now
- } catch(NoClassDefFoundError cdnf) {
- //continue to search other classes
- } finally {
- try {
- if(jis != null)
- jis.close();
- } catch(IOException e) {}
- }
- }
- }
- } catch(java.io.IOException ioe) {
- Verifier.debug(ioe);
- }
- return null;
- }
-
- /**
- * <p>
- * Check that a class overrides some methods defined in the java.lang.Object class
- * </p>
- *
- * @param clazz the implementation class
- * @param methodName the method name
- * @param parmTypes the method parameter types
- * @param methodSignature a human readable signature description of the method
- * @param result where to put the method lookup result
- * @return true if the method is overriden by the implementation class
- */
- protected boolean checkMethodImpl(Class clazz, String methodName, Class[] parmTypes,
- String methodSignature, Result result) {
-
- Method m=null;
- Class c = clazz;
-
- do {
- try {
- m = c.getDeclaredMethod(methodName, parmTypes);
- } catch(NoSuchMethodException nsme) {
- } catch(SecurityException se) {
- }
- c = c.getSuperclass();
- } while (m != null && c!=null && c != Object.class);
-
- if (m==null) {
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.MethodOverride.failed",
- "Warning: The class [ {0} ] does not override the method [ {1} ]",
- new Object[] {clazz.getName(), methodSignature }));
- return false;
- } else {
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.MethodOverride.passed",
- "The class [ {0} ] overrides the method [ {1} ]",
- new Object[] {clazz.getName(), methodSignature }));
- return true;
- }
- }
-
- /**
- * <p>
- * Look for an implementation of an interface in all the classes present
- * in a jar file, setting the result object with the look up result
- * </p>
- *
- * @param interfaceName interface to look for an implementor
- * @param result where to put the look up result
- */
- protected boolean findImplementorOf(ConnectorDescriptor desc, String interfaceName, Result result)
- {
- Class c = findImplementorOf(desc, interfaceName);
- if (c != null) {
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.findImplementor.passed",
- "The class [ {0} ] implements the [ {1} ] interface",
- new Object[] {c.getName(), interfaceName}));
- return true;
- } else {
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.findImplementor.failed",
- "Error: There is no implementation of the [ {0} ] provided",
- new Object[] {interfaceName}));
- return false;
- }
- }
-
- /**
- * <p>
- * Check if a class or interface can be loaded from the archive file
- * </p>
- *
- * @param className the class or interface name
- * @param result instance for test status
- * @return true if the class or interface can be loaded
- */
- protected boolean isClassLoadable(String className, Result result) {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- try {
- Class.forName(className, false, jcl);
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.isClassLoadable.passed",
- "The class [ {0} ] is contained in the archive file",
- new Object[] {className}));
- return true;
- } catch(ClassNotFoundException cnfe) {
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.isClassLoadable.failed",
- "The class [ {0} ] is not contained in the archive file",
- new Object[] {className}));
- return true;
- }
- }
-
- protected String getAbstractArchiveUri(ConnectorDescriptor desc) {
- String archBase = getVerifierContext().getAbstractArchive().
- getURI().toString();
- final ModuleDescriptor moduleDescriptor = desc.getModuleDescriptor();
- if (moduleDescriptor.isStandalone()) {
- return archBase; // it must be a stand-alone module; no such physical dir exists
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(moduleDescriptor.getArchiveUri());
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CredentialInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CredentialInterface.java
deleted file mode 100644
index 684f6f7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/CredentialInterface.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CredentialInterface.java
- *
- * Created on October 3, 2000, 2:42 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.util.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.AuthMechanism;
-
-/**
- * All Credential interface declared in the DD should be one of the
- * allowed interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class CredentialInterface extends ConnectorTest implements ConnectorCheck {
-
-
- private static String[] allowedInterfaces = new String[] {
- "jakarta.resource.spi.security.PasswordCredential",
- "org.ietf.jgss.GSSCredential",
- "jakarta.resource.spi.security.GenericCredential" };
-
- /** <p>
- * All Credential interface declared in the DD should be one of the
- * allowed interface
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- boolean oneFailed = false;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- Set mechanisms =
- descriptor.getOutboundResourceAdapter().getAuthMechanisms();
- if (mechanisms.isEmpty()) {
- // passed
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.nonexist",
- "No authentication mechanism defined for this resource adapater"));
- return result;
- }
- Iterator mechIterator = mechanisms.iterator();
- while (mechIterator.hasNext()) {
- AuthMechanism am = (AuthMechanism) mechIterator.next();
- String credInterface = am.getCredentialInterface();
- boolean allowedInterface = false;
- if (credInterface!=null) {
- for (int i=0;i<allowedInterfaces.length;i++) {
- if (credInterface.equals(allowedInterfaces[i])) {
- allowedInterface = true;
- break;
- }
- }
- }
- if (!allowedInterface || credInterface == null) {
- // failed
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface.failed",
- "Authentication mechanism credential interface [ {0} ] defined in the credential-interface tag is not allowed",
- new Object[] {credInterface}));
- }
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface.passed",
- "All defined authorization mechanism credential interfaces are allowed"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/DefaultConnectionManagerExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/DefaultConnectionManagerExistence.java
deleted file mode 100644
index ce26fe4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/DefaultConnectionManagerExistence.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * DefaultConnectionManagerExistence.java
- *
- * Created on September 26, 2000, 3:56 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-
-/**
- * Test if a default ConnectionManager has been provided in the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class DefaultConnectionManagerExistence
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
-
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.spi.ConnectionManager", result);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/DefaultConnectionManagerSerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/DefaultConnectionManagerSerializable.java
deleted file mode 100644
index 279cbaa..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/DefaultConnectionManagerSerializable.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * DefaultConnectionManagerSerializable.java
- *
- * Created on September 26, 2000, 6:53 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * Test if the default implementation of the jakarta.resource.spi.ConnectionManager
- * provided implements the java.io.Serializable interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class DefaultConnectionManagerSerializable extends ConnectorTest implements ConnectorCheck {
-
-
- /** <p>
- * Test if the default implementation of the jakarta.resource.spi.ConnectionManager
- * provided implements the java.io.Serializable interface
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
-
- // let's get first the the default implementation of the ConnectionManager
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- Class c = findImplementorOf(descriptor, "jakarta.resource.spi.ConnectionManager");
-
- if (c!=null) {
- // We found it, let's see if it implements the right interface
- testImplementationOf(c, "java.io.Serializable", result);
- return result;
- }
- // ooppss, no implementation of the default Connection Manager
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerExistence.failed",
- "Error: There is no default implementation of the [ {0} ] provided",
- new Object[] {"jakarta.resource.spi.ConnectionManager"}));
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TestNamesConnector.xml b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TestNamesConnector.xml
deleted file mode 100644
index fe96e29..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TestNamesConnector.xml
+++ /dev/null
@@ -1,298 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Connector
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplementation
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactorySerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplHashcode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplEquals
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryProperties
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionMetaDataExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplEquals
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplHashcode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.AuthMechType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.SmallIconExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.LargeIconExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryImplExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactorySerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryReferenceable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryGetConnection
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplClose
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionMetaDataExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ResourceAdapterMetaDataExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.RecordExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.RecordFactoryExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplReferenceable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectJavaBean
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecJavaBean
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecOverridesEquals
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClassSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClassJavaBean
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TransactionSupport.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TransactionSupport.java
deleted file mode 100644
index 151bdcb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TransactionSupport.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * TransactionSupport.java
- *
- * Created on September 20, 2000, 9:29 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.xml.ConnectorTagNames;
-
-/**
- * Verify that the Transaction Support for the ressource adapter is of an
- * acceptable value
- *
- * @author Jerome Dochez
- * @version
- */
-public class TransactionSupport extends ConnectorTest implements ConnectorCheck {
-
- private final String[] acceptableValues = {
- ConnectorTagNames.DD_NO_TRANSACTION,
- ConnectorTagNames.DD_LOCAL_TRANSACTION,
- ConnectorTagNames.DD_XA_TRANSACTION };
-
- /**
- * <p>
- * Verifier test implementation. Check for the transaction-support
- * deployment field which should be one of the acceptable values :
- * NoTransaction
- * LocalTransaction
- * XATransaction
- * </p>
- *
- * @param <code>ConnectorDescritor</code>The deployment descriptor for
- * the connector.
- * @return <code>Result</code> Code execution result
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- String connectorTransactionSupport =
- descriptor.getOutboundResourceAdapter().getTransSupport();
-
- // No transaction support specified, this is an error
- if (connectorTransactionSupport==null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: No Transaction support specified for ressource adapter",
- new Object[] {connectorTransactionSupport}));
- return result;
- }
-
- // let's loop over all acceptable values to check the declared one is valid
- for (int i=0;i<acceptableValues.length;i++) {
- if (connectorTransactionSupport.equals(acceptableValues[i])) {
-
- // Test passed, we found an acceptable value
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Transaction support [ {0} ] for ressource adapter is supported",
- new Object[] {connectorTransactionSupport}));
- return result;
- }
- }
-
- // If we end up here, we haven't found an acceptable transaction support
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Deployment descriptor transaction-support [ {0} ] for ressource adapter is not valid",
- new Object[] {connectorTransactionSupport}));
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TransactionSupportExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TransactionSupportExistence.java
deleted file mode 100644
index 575fa06..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/TransactionSupportExistence.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * TransactionSupportExistence.java
- *
- * Created on September 28, 2000, 2:09 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.xml.ConnectorTagNames;
-
-/**
- * Test the implementation of the proprer transaction support depending on the
- * level of transaction declared in the deployment descriptor
- *
- * @author Jerome Dochez
- * @version
- */
-public class TransactionSupportExistence
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test the implementation of the proprer transaction support depending on
- * the level of transaction declared in the deployment descriptor :
- * - NoTransaction neither XAResource or LocalTransaction should be
- * implemented, warning if it does
- * - LocalTransaction LocalTransaction has to be implemented
- * - XATransaction XAResource has to be implemented
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- String connectorTransactionSupport =
- descriptor.getOutboundResourceAdapter().getTransSupport();
-
- // No transaction support specified, this is an error
- if (connectorTransactionSupport==null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport.nonexist",
- "Error: No Transaction support specified for ressource adapter",
- new Object[] {connectorTransactionSupport}));
- return result;
- }
-
- // get the rar file handle
- // File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- if (connectorTransactionSupport.equals(ConnectorTagNames.DD_NO_TRANSACTION)) {
- boolean oneFailed=false;
- if (findImplementorOf(descriptor, "jakarta.resource.spi.LocalTransaction")!=null) {
- oneFailed = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString(getClass().getName() + ".warning",
- "Warning: Transaction support {0} is specified for ressource adapter but [ {1} ] is implemented",
- new Object[] {"NoTransaction", "jakarta.resource.spi.LocalTransaction"}));
- }
- if (findImplementorOf(descriptor, "javax.transaction.xa.XAResource")!=null) {
- oneFailed = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString(getClass().getName() + ".warning",
- "Warning: Transaction support {0} is specified for ressource adapter but [ {1} ] is implemented",
- new Object[] {"NoTransaction", "javax.transaction.xa.XAResource"}));
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed1",
- "Transaction support NoTransaction is specified for ressource adapter and [ {0} ] are not implemented",
- new Object[] {"javax.transaction.xa.XAResource, jakarta.resource.spi.LocalTransaction"}));
- }
- }
- else {
- if (connectorTransactionSupport.equals(ConnectorTagNames.DD_LOCAL_TRANSACTION)) {
- if (findImplementorOf(descriptor, "jakarta.resource.spi.LocalTransaction")==null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".nonexist",
- "Error: Transaction support {0} is specified for ressource adapter but [ {1} ] is not implemented",
- new Object[] {"LocalTransaction", "jakarta.resource.spi.LocalTransaction"}));
- } else {
- if (findImplementorOf(descriptor, "javax.transaction.xa.XAResource")!=null) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString(getClass().getName() + ".warning",
- "Warning: Transaction support {0} is specified for ressource adapter but [ {1} ] is implemented",
- new Object[] {"LocalTransaction", "javax.transaction.xa.XAResource"}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed2",
- "Transaction support {0} is specified for ressource adapter and [ {1} ] is(are) implemented",
- new Object[] {"LocalTransaction", "jakarta.resource.spi.LocalTransaction"}));
- }
- }
- } else {
- if (connectorTransactionSupport.equals(ConnectorTagNames.DD_XA_TRANSACTION)) {
- boolean oneFailed = false;
- if (findImplementorOf(descriptor, "jakarta.resource.spi.LocalTransaction")==null) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".nonexist",
- "Error: Transaction support {0} is specified for ressource adapter but [ {1} ] is not implemented",
- new Object[] {"XATransaction", "jakarta.resource.spi.LocalTransaction"}));
- }
- if (findImplementorOf(descriptor, "javax.transaction.xa.XAResource")==null) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".nonexist",
- "Error: Transaction support {0} is specified for ressource adapter but [ {1} ] is not implemented",
- new Object[] {"XATransaction", "javax.transaction.xa.XAResource"}));
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed2",
- "Transaction support {0} is specified for ressource adapter and [ {1} ] is(are) implemented",
- new Object[] {"XATransaction", "javax.transaction.xa.Transaction, jakarta.resource.spi.LocalTransaction"}));
- }
- } else {
- // unknow transaction support
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport.failed",
- "Error: Deployment descriptor transaction-support [ {0} ] for ressource adapter is not valid",
- new Object[] {connectorTransactionSupport}));
- }
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectImpl.java
deleted file mode 100644
index 4c57fa7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectImpl.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckAdminObjectImpl.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.admin;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.AdminObject;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each adminobject, that "adminobject-class"
- * implements "adminobject-interface".
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckAdminObjectImpl
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each adminobject, that "adminobject-class"
- * implements "adminobject-interface".
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(!descriptor.hasAdminObjects())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.admin.notApp",
- "Resource Adapter does not define any administered objects"));
- return result;
- }
- Set adminObjects = descriptor.getAdminObjects();
- boolean oneFailed = false;
- Iterator iter = adminObjects.iterator();
- while(iter.hasNext())
- {
- AdminObject adminObj = (AdminObject) iter.next();
- String intf = adminObj.getAdminObjectInterface();
- String impl = adminObj.getAdminObjectClass();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.admin.nonexist",
- "Error: The class [ {0} ] as defined under adminobject-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- if(!isImplementorOf(implClass, intf))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: adminobject-class [ {0} ] does not implement adminobject-interface [ {1} ].",
- new Object[] {impl, intf}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all adminobject-class implement their corresponding adminobject-interface"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectJavaBean.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectJavaBean.java
deleted file mode 100644
index 99e4ddc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectJavaBean.java
+++ /dev/null
@@ -1,170 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckAdminObjectJavaBean.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.admin;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.AdminObject;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.*;
-import java.beans.*;
-
-/**
- * Test for each adminobject, that "adminobject-class" is a Java Bean.
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckAdminObjectJavaBean
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each adminobject, that "adminobject-class" is a Java Bean.
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(!descriptor.hasAdminObjects())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.admin.notApp",
- "Resource Adapter does not define any administered objects"));
- return result;
- }
- Set adminObjects = descriptor.getAdminObjects();
- boolean oneFailed = false;
- Iterator iter = adminObjects.iterator();
- while(iter.hasNext())
- {
- AdminObject adminObj = (AdminObject) iter.next();
- String impl = adminObj.getAdminObjectClass();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.admin.nonexist",
- "Error: The class [ {0} ] as defined under adminobject-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- Set configProps = adminObj.getConfigProperties();
- Iterator propIter = configProps.iterator();
- BeanInfo bi = null;
- try
- {
- bi = Introspector.getBeanInfo(implClass, Object.class);
- }
- catch (IntrospectionException ie) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The adminobject-class [ {0} ] is not JavaBeans compliant",
- new Object[] {impl} ));
- return result;
- }
-
- PropertyDescriptor[] properties = bi.getPropertyDescriptors();
- Hashtable<String, PropertyDescriptor> props = new Hashtable<String, PropertyDescriptor>();
- for(int i=0;i<properties.length;i++)
- {
- props.put(properties[i].getName(), properties[i]);
- }
- while(propIter.hasNext())
- {
- EnvironmentProperty envProp = (EnvironmentProperty) propIter.next();
- String name = Introspector.decapitalize(envProp.getName());
- String type = envProp.getType();
-
- PropertyDescriptor propDesc = props.get(name);
- if(propDesc != null)
- {
- if (propDesc.getReadMethod()==null || propDesc.getWriteMethod()==null)
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: The adminobject-class [ {0} ] does not provide accessor methods for [ {1} ].",
- new Object[] {impl, name} ));
- return result;
- }
- }
- else
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: The adminobject-class [ {0} ] does not provide accessor methods for [ {1} ].",
- new Object[] {impl, name} ));
- return result;
- }
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: Each adminobject-class is a Java Bean"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectSerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectSerializable.java
deleted file mode 100644
index 7ef5d76..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/admin/CheckAdminObjectSerializable.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckAdminObjectSerializable.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.admin;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.AdminObject;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each adminobject, that "adminobject-class"
- * implements "java.io.Serializable".
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckAdminObjectSerializable
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each adminobject, that "adminobject-class"
- * implements "java.io.Serializable".
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(!descriptor.hasAdminObjects())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.admin.notApp",
- "Resource Adapter does not define any administered objects"));
- return result;
- }
- Set adminObjects = descriptor.getAdminObjects();
- boolean oneFailed = false;
- Iterator iter = adminObjects.iterator();
- while(iter.hasNext())
- {
- AdminObject adminObj = (AdminObject) iter.next();
- String impl = adminObj.getAdminObjectClass();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.admin.nonexist",
- "Error: The class [ {0} ] as defined under adminobject-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- if(!isImplementorOf(implClass, "java.io.Serializable"))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: adminobject-class [ {0} ] does not implement java.io.Serializable",
- new Object[] {impl}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all adminobject-class implement java.io.Serializable"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/CCITest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/CCITest.java
deleted file mode 100644
index 77fb15d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/CCITest.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CCITest.java
- *
- * Created on August 28, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.ClassLoader;
-import java.util.Iterator;
-import java.util.Set;
-/**
- * Contains helper methods for all tests pertinent to CCI
- *
- * @author Anisha Malhotra
- * @version
- */
-public abstract class CCITest extends ConnectorTest {
-
- /**
- * <p>
- * Checks whether the resource adapater is implementing the CCI interfaces
- * </p>
- * @param descriptor the deployment descriptor
- * @param result to put the result
- * @return true if the CCI is implemented
- */
- protected boolean isCCIImplemented(ConnectorDescriptor descriptor,
- Result result) {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return false;
- }
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- // check if intf implements jakarta.resource.cci.ConnectionFactory
- String intf = connDefDesc.getConnectionFactoryIntf();
- Class implClass = null;
- try
- {
- implClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.isClassLoadable.failed",
- "The class [ {0} ] is not contained in the archive file",
- new Object[] {intf}));
- continue;
- }
- if(isImplementorOf(implClass, "jakarta.resource.cci.ConnectionFactory"))
- {
- return true;
- }
- }
- return false;
- }
-
-
- /**
- * <p>
- * Returns the connection-interface that implements
- * "jakarta.resource.cci.Connection"
- * </p>
- * @param descriptor the deployment descriptor
- * @param result to put the result
- * @return interface name
- */
- protected String getConnectionInterface(ConnectorDescriptor descriptor,
- Result result)
- {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- String intf = connDefDesc.getConnectionIntf();
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getRarClassLoader();
- Class intfClass = null;
- try
- {
- intfClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.isClassLoadable.failed",
- "The class [ {0} ] is not contained in the archive file",
- new Object[] {intf}));
- continue;
- }
- if(isImplementorOf(intfClass, "jakarta.resource.cci.Connection"))
- {
- return intf;
- }
- }
- return null;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryDefaultConstructor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryDefaultConstructor.java
deleted file mode 100644
index 49c24f4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryDefaultConstructor.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionGetMetaData.java
- *
- * Created on August 26, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import java.lang.reflect.Method;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-/**
- * Test that the implementation class for
- * jakarta.resource.cci.ConnectionFactory provides a default constructor
- *
- * @author Anisha Malhotra
- * @version
- */
-public class ConnectionFactoryDefaultConstructor
- extends ConnectionFactoryTest
- implements ConnectorCheck
-{
- /** <p>
- * Test that the implementation class for
- * jakarta.resource.cci.ConnectionFactory provides a default constructor
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- Class connFactoryImpl = null;
- if(isCCIImplemented(descriptor, result))
- {
- connFactoryImpl = testConnectionFactoryImpl(descriptor, result);
- if (connFactoryImpl == null)
- return result;
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- return result;
- }
- // check if connectionfactory-impl-class has a default constructor
- try
- {
- connFactoryImpl.getConstructor(new Class[0]);
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor.defConstr",
- "The connectionfactory-impl-class: [ {0} ] provides a default constructor.", new Object[] {connFactoryImpl.getName()} ));
- }
- catch(NoSuchMethodException nsme)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor.noDefConstr",
- "Error: The connectionfactory-impl-class: [ {0} ] must provide a default constructor.", new Object[] {connFactoryImpl.getName()} ));
- }
- catch(SecurityException se)
- {
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryGetConnection.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryGetConnection.java
deleted file mode 100644
index 792c7f9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryGetConnection.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionFactoryGetConnection.java
- *
- * Created on October 3, 2000, 5:41 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.lang.reflect.Method;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Check that the getConnection method of the client API Connection factory
- * is implemented accordingly to the spec
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionFactoryGetConnection
-extends ConnectionFactoryTest
-implements ConnectorCheck
-{
-
- /**
- * <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class cf = testConnectionFactoryImpl(descriptor, result);
- if (cf == null)
- return result;
- String className = cf.getName();
-
- do {
- Method[] allMethods = cf.getMethods();
- for (int i=0;i<allMethods.length;i++) {
- if (allMethods[i].getName().equals("getConnection")) {
- // found it, check the return type
- String connection = getConnectionInterface(descriptor, result);
- if (isSubclassOf(allMethods[i].getReturnType(), connection)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed",
- "The getConnection method of the [ {0} ] returns the [ {1} ] interface",
- new Object[] {cf.getName(), connection} ));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(
- getClass().getName() + ".failed",
- "Error: The getConnection method of the [ {0} ] does not return the [ {1} ] interface",
- new Object[] {cf.getName(), connection} ));
- }
- return result;
- }
- }
- cf = cf.getSuperclass();
- } while (cf!=null);
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString(
- getClass().getName() + ".warning",
- "Warning: The getConnection method is not defined by [ {0} ]",
- new Object[] {className} ));
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryImplExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryImplExistence.java
deleted file mode 100644
index d3b04ff..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryImplExistence.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionFactoryImpl.java
- *
- * Created on September 29, 2000, 10:57 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * test for the existence of the class defined in the deployment descriptors
- * connectionfactory-impl-class
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionFactoryImplExistence extends ConnectionFactoryTest implements ConnectorCheck {
-
-
- /** <p>
- * test for the existence of the class defined in the deployment descriptors
- * connectionfactory-impl-class
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class c = testConnectionFactoryImpl(descriptor, result);
- // failure are handled in the superclass
- if (c!=null)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The class define in the connectionfactory-impl-class tag [ {0} ] is contained in the archive.",
- new Object[] {c.getName()} ));
- }
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryInterfaceExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryInterfaceExistence.java
deleted file mode 100644
index 5c504b8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryInterfaceExistence.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionFactoryExistence.java
- *
- * Created on September 28, 2000, 4:59 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * Verify that the interface declared in the deployment descriptor
- * connectionfactory-interface is actually contained in the archive
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionFactoryInterfaceExistence extends ConnectionFactoryTest implements ConnectorCheck
-{
-
-
- /**
- * <p>
- * Verify that the interface declared in the deployment descriptor
- * connectionfactory-interface is actually contained in the archive
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- /*String interfaceName = descriptor.getConnectionFactoryInterface();
- if (interfaceName == null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: The deployment descriptor for the resource adapter do not define a connectionfactory-interface"));
- }*/
- isClassLoadable("jakarta.resource.cci.ConnectionFactory", result);
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryInterfaceImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryInterfaceImpl.java
deleted file mode 100644
index 9c32b19..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryInterfaceImpl.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionFactoryInterfaceImpl.java
- *
- * Created on September 29, 2000, 3:33 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test if the connectionfactory-impl-class implements the connection-factory-interface
- * interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionFactoryInterfaceImpl extends ConnectionFactoryTest implements ConnectorCheck {
-
- /** <p>
- * Test if the connectionfactory-impl-class implements the
- * connection-factory-interface interface
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class c = testConnectionFactoryImpl(descriptor, result);
- if(c != null)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceImpl.pass1",
- "The class [ {0} ] as defined in the connectionfactory-impl-class deployment descriptor implements jakarta.resource.cci.ConnectionFactory",
- new Object[] {c.getName()}));
- }
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- /*Class c = testConnectionFactoryImpl(descriptor, result);
- // failure to load the class are handled in the superclass
- if (c!=null) {
- // now check it does implement the interface
- String interfaceName = descriptor.getConnectionFactoryInterface();
- testImplementationOf(c, interfaceName, result);
- }*/
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryReferenceable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryReferenceable.java
deleted file mode 100644
index b7a8856..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryReferenceable.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionFactoryReferenceable.java
- *
- * Created on October 3, 2000, 9:08 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-/**
- * Test if the connectionfactory-impl-class implements the jakarta.resource.Referenceable
- * interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionFactoryReferenceable extends ConnectionFactoryTest implements ConnectorCheck {
-
- /** <p>
- * Test if the connectionfactory-impl-class implements the
- * jakarta.resource.Referenceable interface
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class c = testConnectionFactoryImpl(descriptor, result);
- // failure to load the class are handled in the superclass
- if (c!=null) {
- // now check it does implement the interface
- testImplementationOf(c, "jakarta.resource.Referenceable", result);
- }
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactorySerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactorySerializable.java
deleted file mode 100644
index 807e394..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactorySerializable.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionFactorySerializable.java
- *
- * Created on October 2, 2000, 6:23 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test if the connectionfactory-impl-class implements the java.io.Serializable
- * interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionFactorySerializable extends ConnectionFactoryTest implements ConnectorCheck {
-
- /** <p>
- * Test if the connectionfactory-impl-class implements the
- * java.io.Serializable interface
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class c = testConnectionFactoryImpl(descriptor, result);
- // failure to load the class are handled in the superclass
- if (c!=null) {
- // now check it does implement the interface
- testImplementationOf(c, "java.io.Serializable", result);
- }
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- return result;
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryTest.java
deleted file mode 100644
index 155a485..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionFactoryTest.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionFactoryTest.java
- *
- * Created on September 29, 2000, 11:08 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-/**
- * Contains helper methods for all tests pertinent to the ConnectionFactory
- * interface or implementation classes.
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class ConnectionFactoryTest extends CCITest {
-
- /**
- * <p>
- * Get the <code>Class</code> object of the class declared as implementing
- * the jakarta.resource.cci.ConnectionFactory interface and declared in the
- * archive deployment descriptors under the connection-factory-impl-class
- * </p>
- *
- * @param descriptor the rar file deployment descriptor
- * @param result instance to use to put the result of the test
- * @return Class object for the connectionfactoryimpl-class that implements
- * jakarta.resource.cci.ConnectionFactory
- */
- protected Class getConnectionFactoryImpl(ConnectorDescriptor descriptor,
- Result result)
- {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- String impl = connDefDesc.getConnectionFactoryImpl();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- } catch(ClassNotFoundException cnfe) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryTest.nonexist",
- "Error: The class [ {0} ] as defined in the connectionfactory-impl-class deployment descriptor does not exist",
- new Object[] {impl}));
- return null;
- }
- if(isImplementorOf(implClass, "jakarta.resource.cci.ConnectionFactory"))
- return implClass;
- }
- return null;
- /*String className = descriptor.getConnectionFactoryImpl();
- if (className == null)
- return null;
-
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getRarClassLoader();
- return jcl.loadClass(className); */
- }
-
- /**
- * <p>
- * Test whether the class declared in the deployemnt descriptor under the
- * connectionfactory-impl-class tag is available
- * </p>
- *
- * @param descriptor the deployment descriptor
- * @param interfaceName the interface name we look for
- * @param result instance to use to put the result of the test
- * @return true if the test succeeds
- */
- protected Class testConnectionFactoryImpl(ConnectorDescriptor descriptor, Result result)
- {
- Class mcf = getConnectionFactoryImpl(descriptor, result);
- if (mcf == null) {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryTest.nonimpl",
- "Error: The resource adapter must implement the jakarta.resource.cci.ConnectionFactory interface and declare it in the connectionfactory-impl-class deployment descriptor."));
- }
- return mcf;
- }
-
- /**
- * <p>
- * Test wether the class declared in the deployemnt descriptor under the
- * connectionfactory-impl-class tag implements an interface
- * </p>
- *
- * @param descriptor the deployment descriptor
- * @param interfaceName the interface name we look for
- * @param result instance to use to put the result of the test
- * @return true if the test succeeds
- */
- protected boolean testImplementationOf(ConnectorDescriptor descriptor, String interfaceName, Result result)
- {
- Class mcf = testConnectionFactoryImpl(descriptor, result);
- if (mcf != null)
- return testImplementationOf(mcf, interfaceName, result);
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionImplClose.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionImplClose.java
deleted file mode 100644
index 0150425..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionImplClose.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionImplClose.java
- *
- * Created on October 4, 2000, 9:53 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.lang.reflect.Method;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- * Check that the Client API Connection interface implements the close()
- * method
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionImplClose extends ConnectionTest implements ConnectorCheck {
-
-
-
- /** <p>
- * Check that the Client API Connection interface implements the close()
- * method
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- // get the connection
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class c = testConnectionImpl(descriptor, result);
- if (c==null) {
- return result;
- }
- // now check the close() method
- Method m = getMethod(c, "close", null);
- if (m!=null) {
- // passed
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed",
- "The connection interface [ {0} ] implements the close() method",
- new Object[] {c.getName()} ));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(
- getClass().getName() + ".failed",
- "Error: The connection interface [ {0} ] does not implement the close() method",
- new Object[] {c.getName()} ));
- }
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionImplExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionImplExistence.java
deleted file mode 100644
index e181e73..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionImplExistence.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionImplExistence.java
- *
- * Created on October 2, 2000, 10:32 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * test for the existence of the class defined in the deployment descriptors
- * connection-impl-class
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionImplExistence extends ConnectionTest implements ConnectorCheck {
-
-
- /** <p>
- * test for the existence of the class defined in the deployment descriptors
- * connectionfactory-impl-class
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class c = testConnectionImpl(descriptor, result);
- // failure are handled in the superclass
- if (c!=null)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The class define in the connection-impl-class tag [ {0} ] is contained in the archive.",
- new Object[] {c.getName()} ));
- }
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionInterfaceExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionInterfaceExistence.java
deleted file mode 100644
index 9e43fad..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionInterfaceExistence.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CoonteraceInterfaceExistence.java
- *
- * Created on October 2, 2000, 10:17 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Verify that the interface declared in the deployment descriptor
- * connection-interface is actually contained in the archive
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionInterfaceExistence extends ConnectionTest implements ConnectorCheck
-{
-
-
- /** <p>
- * Verify that the interface declared in the deployment descriptor
- * connection-interface is actually contained in the archive
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- String interfaceName = getConnectionInterface(descriptor, result);
- if (interfaceName == null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: The deployment descriptor for the resource adapter do not define a connection-interface"));
- }
- isClassLoadable(interfaceName, result);
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionInterfaceImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionInterfaceImpl.java
deleted file mode 100644
index 1fd2a7d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionInterfaceImpl.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionInterfaceImpl.java
- *
- * Created on October 2, 2000, 10:58 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- * Test if the connection-impl-class implements the connection-interface
- * interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionInterfaceImpl extends ConnectionTest implements ConnectorCheck {
-
- /**
- * <p>
- * Test if the connection-impl-class implements the
- * connection-interface interface
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(isCCIImplemented(descriptor, result))
- {
- Class c = testConnectionImpl(descriptor, result);
- // failure to load the class are handled in the superclass
- if (c!=null) {
- // now check it does implement the interface
- String interfaceName = getConnectionInterface(descriptor, result);
- testImplementationOf(c, interfaceName, result);
- }
- }
- else
- {
- // test is NA
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.notApp",
- "The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionMetaDataExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionMetaDataExistence.java
deleted file mode 100644
index 5ca45f6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionMetaDataExistence.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionMetaDataExistence.java
- *
- * Created on October 5, 2000, 10:44 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- * Test if a jakarta.resource.cci.ConnectionMetaData implementation has been provided in
- * the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class ConnectionMetaDataExistence
- extends ConnectionFactoryTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test if a jakarta.resource.cci.ConnectionMetaData implementation has been
- * provided in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.cci.ConnectionMetaData", result);
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionTest.java
deleted file mode 100644
index 552d23d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ConnectionTest.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ConnectionImplTest.java
- *
- * Created on October 2, 2000, 10:36 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.*;
-
-/**
- * Utility methods for all tests related to java.resource.cci.Connection
- * interface implementation
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class ConnectionTest extends CCITest {
-
- /**
- * <p>
- * Get the <code>Class</code> object of the class declared as implementing
- * the jakarta.resource.cci.Connection interface and declared in the
- * archive deployment descriptors under the connection-impl-class
- * </p>
- *
- * @param descriptor the rar file deployment descriptor
- * @param result instance to use to put the result of the test
- * @return Class object for the connectionimpl-class that implements
- * jakarta.resource.cci.Connection
- */
- protected Class getConnectionImpl(ConnectorDescriptor descriptor,
- Result result)
- {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- String impl = connDefDesc.getConnectionImpl();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- } catch(ClassNotFoundException cnfe) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionTest.nonexist",
- "Error: The class [ {0} ] as defined in the connection-impl-class deployment descriptor does not exist",
- new Object[] {impl}));
- return null;
- }
- if(isImplementorOf(implClass, "jakarta.resource.cci.Connection"))
- return implClass;
- }
- return null;
- }
-
-
- /**
- * <p>
- * Test whether the class declared in the deployemnt descriptor under the
- * connection-impl-class tag is available
- * </p>
- *
- * @param descriptor the deployment descriptor
- * @param result instance to use to put the result of the test
- * @return true if the test succeeds
- */
- protected Class testConnectionImpl(ConnectorDescriptor descriptor, Result result)
- {
- Class mcf = getConnectionImpl(descriptor, result);
- if (mcf == null) {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionTest.nonimpl",
- "Error: The resource adapter must implement the jakarta.resource.cci.Connection interface and declare it in the connection-impl-class deployment descriptor."));
- }
- return mcf;
- }
-
- /**
- * <p>
- * Test wether the class declared in the deployemnt descriptor under the
- * connectionfactory-impl-class tag implements an interface
- * </p>
- *
- * @param descriptor the deployment descriptor
- * @param interfaceName the interface name we look for
- * @param result instance to use to put the result of the test
- * @return true if the test succeeds
- */
- protected boolean testImplementationOf(ConnectorDescriptor descriptor, String interfaceName, Result result)
- {
- Class mcf = testConnectionImpl(descriptor, result);
- if (mcf != null)
- return testImplementationOf(mcf, interfaceName, result);
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionExistence.java
deleted file mode 100644
index 7b2026a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionExistence.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * InteractionExistence.java
- *
- * Created on October 5, 2000, 10:24 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-
-/**
- * Test if a jakarta.resource.cci.Interfaction implementation has been provided in
- * the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class InteractionExistence
- extends ConnectionFactoryTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test if a jakarta.resource.cci.Interfaction implementation has been
- * provided in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.cci.Interaction", result);
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecExistence.java
deleted file mode 100644
index abe2278..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecExistence.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * InteractionSpecExistence.java
- *
- * Created on October 5, 2000, 10:32 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- * Test if a jakarta.resource.cci.InterfactionSpec implementation has been provided in
- * the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class InteractionSpecExistence
- extends ConnectionFactoryTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test if a jakarta.resource.cci.InterfactionSpec implementation has been
- * provided in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.cci.InteractionSpec", result);
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecJavaBeansCompliance.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecJavaBeansCompliance.java
deleted file mode 100644
index 16b6634..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecJavaBeansCompliance.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * InteractionSpecJavaBeansCompliance.java
- *
- * Created on October 5, 2000, 5:02 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import java.beans.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- *
- * @author Jerome Dochez
- * @version
- */
-public class InteractionSpecJavaBeansCompliance extends ConnectionFactoryTest implements ConnectorCheck {
-
-
- /** <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- boolean oneFailed=false;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- Class mcf = findImplementorOf(descriptor, "jakarta.resource.cci.InteractionSpec");
- if (mcf != null) {
- try {
- BeanInfo bi = Introspector.getBeanInfo(mcf, Object.class);
- PropertyDescriptor[] properties = bi.getPropertyDescriptors();
- for (int i=0; i<properties.length;i++) {
- // each property should have a getter/setter
- if (properties[i].getReadMethod()==null ||
- properties[i].getWriteMethod()==null) {
- // this is an error.
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The jakarta.resource.cci.InteractionSpec implementation [ {0} ] of the property [ {1} ] is not JavaBeans compliant",
- new Object[] {mcf.getName(), properties[i].getName()} ));
- }
- if (!properties[i].isConstrained() && !properties[i].isBound()) {
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: The property [ {0} ] of the jakarta.resource.cci.InteractionSpec implementation [ {1} ] is not bound or constrained",
- new Object[] {properties[i].getName(), mcf.getName()} ));
- }
- }
- } catch (IntrospectionException ie) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The jakarta.resource.cci.InteractionSpec implementation [ {0} ] is not JavaBeans compliant",
- new Object[] {mcf.getName()} ));
- return result;
- }
- // now iterates over the properties and look for descrepencies
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: While the CCI interfaces are implemented, the jakarta.resource.cci.InteractionSpec is not"));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- return result;
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The jakarta.resource.cci.InteractionSpec implementation is JavaBeans compliant"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecSerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecSerializable.java
deleted file mode 100644
index 036ba13..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/InteractionSpecSerializable.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * InteractionSpecSerializable.java
- *
- * Created on November 7, 2000, 5:05 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- * Test whether the implementation of the InteractionSpec interface
- * also implements the Serializable interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class InteractionSpecSerializable
- extends ConnectionFactoryTest
- implements ConnectorCheck
-{
- /** <p>
- * Test if the jakarta.resource.cci.InterfactionSpec implementation provided
- * in the rar file also implements the java.io.Serializable interface
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- Class is = findImplementorOf(descriptor, "jakarta.resource.cci.InteractionSpec");
- if (is !=null) {
- testImplementationOf(is, "java.io.Serializable", result);
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance.nonexist",
- "Error: While the CCI interfaces are implemented, the jakarta.resource.cci.InteractionSpec is not"));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/RecordExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/RecordExistence.java
deleted file mode 100644
index 393f559..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/RecordExistence.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * RecordExistence.java
- *
- * Created on October 5, 2000, 11:11 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-
-/**
- * Test if a jakarta.resource.cci.Record implementation has been provided in
- * the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class RecordExistence
- extends ConnectionFactoryTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test if a jakarta.resource.cci.Record implementation has been
- * provided in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.cci.Record", result);
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/RecordFactoryExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/RecordFactoryExistence.java
deleted file mode 100644
index 8aa8ebe..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/RecordFactoryExistence.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * RecordFactoryExistence.java
- *
- * Created on October 5, 2000, 11:13 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test if a jakarta.resource.cci.RecordFactory implementation has been provided in
- * the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class RecordFactoryExistence extends ConnectionFactoryTest implements ConnectorCheck
-{
-
- /** <p>
- * Test if a jakarta.resource.cci.RecordFactory implementation has been
- * provided in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.cci.RecordFactory", result);
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ResourceAdapterMetaDataExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ResourceAdapterMetaDataExistence.java
deleted file mode 100644
index f029ca6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/cci/ResourceAdapterMetaDataExistence.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ResourceAdapaterMetaDataExistence.java
- *
- * Created on October 5, 2000, 10:49 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.cci;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-
-/**
- * Test if a jakarta.resource.cci.ConnectionMetaData implementation has been provided in
- * the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class ResourceAdapterMetaDataExistence
- extends ConnectionFactoryTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test if a jakarta.resource.cci.ConnectionMetaData implementation has been
- * provided in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (isCCIImplemented(descriptor, result)) {
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.cci.ResourceAdapterMetaData", result);
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.InteractionExistence.notapp",
- "NotApplicable : The CCI interfaces do not seem to be implemented by this resource adapter"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplClass.java
deleted file mode 100644
index 6c78190..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplClass.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckConnectionFactoryImplClass.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each connection-definition, that "connectionfactory-impl-class"
- * implements "connectionfactory-interface".
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckConnectionFactoryImplClass
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each connection-definition, that "connection-impl-class"
- * implements "connection-interface".
- * </p>
- *
- * @ paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- boolean oneFailed = false;
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- String connectionInterface = connDefDesc.getConnectionFactoryIntf();
- String connectionImpl = connDefDesc.getConnectionFactoryImpl();
- Class implClass = null;
- try
- {
- implClass = Class.forName(connectionImpl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: The class [ {0} ] as defined under connectionfactory-impl-class in the deployment descriptor does not exist",
- new Object[] {connectionImpl}));
- return result;
- }
- if(!isImplementorOf(implClass, connectionInterface))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: connectionfactory-impl-class [ {0} ] does not implement connectionfactory-interface [ {1} ].",
- new Object[] {implClass.getName(), connectionInterface}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all connectionfactory-impl-class implement their corresponding connectionfactory-interface"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplReferenceable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplReferenceable.java
deleted file mode 100644
index 029d00f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplReferenceable.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckConnectionFactoryImplReferenceable.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each connection-definition, that "connectionfactory-impl-class"
- * implements jakarta.resource.Referenceable
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckConnectionFactoryImplReferenceable
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each connection-definition, that "connectionfactory-impl-class"
- * implements jakarta.resource.Referenceable
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- boolean oneFailed = false;
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- String connectionImpl = connDefDesc.getConnectionFactoryImpl();
- Class implClass = null;
- try
- {
- implClass = Class.forName(connectionImpl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: The class [ {0} ] as defined under connectionfactory-impl-class in the deployment descriptor does not exist",
- new Object[] {connectionImpl}));
- return result;
- }
- if(!isImplementorOf(implClass, "jakarta.resource.Referenceable"))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: connectionfactory-impl-class [ {0} ] does not implement jakarta.resource.Referenceable",
- new Object[] {implClass.getName()}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all connectionfactory-impl-class implement jakarta.resource.Referenceable"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplSerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplSerializable.java
deleted file mode 100644
index 168500e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionFactoryImplSerializable.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckConnectionFactoryImplSerializable.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each connection-definition, that "connectionfactory-impl-class"
- * implements java.io.Serializable
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckConnectionFactoryImplSerializable
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each connection-definition, that "connectionfactory-impl-class"
- * implements java.io.Serializable
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- boolean oneFailed = false;
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- String connectionImpl = connDefDesc.getConnectionFactoryImpl();
- Class implClass = null;
- try
- {
- implClass = Class.forName(connectionImpl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: The class [ {0} ] as defined under connectionfactory-impl-class in the deployment descriptor does not exist",
- new Object[] {connectionImpl}));
- return result;
- }
- if(!isImplementorOf(implClass, "java.io.Serializable"))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: connectionfactory-impl-class [ {0} ] does not implement java.io.Serializable",
- new Object[] {implClass.getName()}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all connectionfactory-impl-class implement java.io.Serializable"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionImplClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionImplClass.java
deleted file mode 100644
index 3d43539..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/CheckConnectionImplClass.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckConnectionImplClass.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each connection-definition, that "connection-impl-class"
- * implements "connection-interface".
- * interface in the rar file
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckConnectionImplClass
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each connection-definition, that "connection-impl-class"
- * implements "connection-interface".
- * </p>
- *
- * @ paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- boolean oneFailed = false;
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- String connectionInterface = connDefDesc.getConnectionIntf();
- String connectionImpl = connDefDesc.getConnectionImpl();
- Class implClass = null;
- try
- {
- implClass = Class.forName(connectionImpl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".nonexist",
- "Error: The class [ {0} ] as defined under connection-impl-class in the deployment descriptor does not exist",
- new Object[] {connectionImpl}));
- return result;
- }
- if(!isImplementorOf(implClass, connectionInterface))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: connection-impl-class [ {0} ] does not implement connection-interface [ {1} ].",
- new Object[] {implClass.getName(), connectionInterface}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all connection-impl-class implement their corresponding connection-interface"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionExistence.java
deleted file mode 100644
index 3db2ac2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionExistence.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionExistence.java
- *
- * Created on September 28, 2000, 9:47 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Test the implementation of the jakarta.resource.spi.ManagedConnection
- * interface in the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class ManagedConnectionExistence
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test the implementation of the jakarta.resource.spi.ManagedConnection
- * interface in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.spi.ManagedConnection", result);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplEquals.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplEquals.java
deleted file mode 100644
index 7a29979..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplEquals.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionFactoryImplEquals.java
- *
- * Created on September 27, 2000, 2:55 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-/**
- * Test if the ManagedConnectionFactory implementation override the equals
- * method
- *
- * @author Jerome Dochez
- * @version
- */
-public class ManagedConnectionFactoryImplEquals
- extends ManagedConnectionFactoryTest
- implements ConnectorCheck
- {
-
- /** <p>
- * Test if the ManagedConnectionFactory implementation override the
- * equals method
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- Class mcf = testManagedConnectionFactoryImpl(descriptor, result);
- if (mcf!=null) {
- checkMethodImpl(mcf, "equals", new Class[] {Object.class}, "public boolean equals(Object)", result);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplHashcode.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplHashcode.java
deleted file mode 100644
index 44a0e70..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplHashcode.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionFactoryImplHashcode.java
- *
- * Created on September 27, 2000, 11:27 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-/**
- * Test if the ManagedConnectionFactory implementation override the hashCode
- * method
- *
- * @author Jerome Dochez
- * @version
- */
-public class ManagedConnectionFactoryImplHashcode
- extends ManagedConnectionFactoryTest
- implements ConnectorCheck
- {
-
- /** <p>
- * Test if the ManagedConnectionFactory implementation override the
- * hashCode method
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- Class mcf = testManagedConnectionFactoryImpl(descriptor, result);
- if (mcf!=null) {
- checkMethodImpl(mcf, "hashCode", null, "public int hashCode()", result);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplementation.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplementation.java
deleted file mode 100644
index a77ee8f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryImplementation.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionFactoryImplementation.java
- *
- * Created on September 25, 2000, 11:30 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-/**
- * verify the declared ManagedConnectionFactory implements the
- * jakarta.resource.spi.ManagedConnectionFactory interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class ManagedConnectionFactoryImplementation
- extends ManagedConnectionFactoryTest
- implements ConnectorCheck {
-
-
-
- /** <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- testImplementationOf(descriptor, "jakarta.resource.spi.ManagedConnectionFactory", result);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryProperties.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryProperties.java
deleted file mode 100644
index 2c8fab0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryProperties.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionFactoryProperties.java
- *
- * Created on September 27, 2000, 3:01 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import java.util.*;
-import java.lang.reflect.Method;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-
-/**
- * Test that the class declared implementing the jakarta.resource.spi.ManagedConnectionFactory
- * interface implements the properties declared under the config-property
- * xml tag under the followind requirements :
- * - Provide a getter and setter method ala JavaBeans
- * - Properties should be either bound or constrained
- * - PropertyListener registration/unregistration methods are public
- *
- * @author Jerome Dochez
- * @version
- */
-public class ManagedConnectionFactoryProperties
- extends ManagedConnectionFactoryTest
- implements ConnectorCheck
-{
- /** <p>
- * Test that the class declared implementing the jakarta.resource.spi.ManagedConnectionFactory
- * interface implements the properties declared under the config-property
- * xml tag under the followind requirements :
- * - Provide a getter and setter method ala JavaBeans
- * - Properties should be either bound or constrained
- * - PropertyListener registration/unregistration methods are public
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- boolean oneFailed=false;
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
-
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext()) {
-
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- Set configProperties = connDefDesc.getConfigProperties();
- if (!configProperties.isEmpty()) {
- Iterator propIterator = configProperties.iterator();
- Class mcf = testManagedConnectionFactoryImpl(descriptor, result);
- if (mcf == null) {
- // not much we can do without the class, the superclass should have
- // set the error code now, just abandon
- return result;
- }
- while (propIterator.hasNext()) {
- EnvironmentProperty ep = (EnvironmentProperty) propIterator.next();
-
- // Set method first
- String propertyName = Character.toUpperCase(ep.getName().charAt(0)) + ep.getName().substring(1);
- String setMethodName = "set" + propertyName;
- Class[] parmTypes = new Class[] { ep.getValueType() };
- Method m = getMethod(mcf, setMethodName, parmTypes);
- if (m!=null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(getClass().getName() + ".passed",
- "Found a JavaBeans compliant accessor method [ {0} ] for the config-property [ {1} ]",
- new Object[] { m, ep.getName()}));
- } else {
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: There is no JavaBeans compliant accessor method [ {0} ] implemented in [ {1} ] for the config-property [ {2} ]",
- new Object[] { "public void "+ setMethodName+"("+ep.getValueType().getName()+")",
- mcf.getName(),
- ep.getName()}));
- }
- String getMethodName = "get" + propertyName;
- m = getMethod(mcf, getMethodName, null);
- if (m!=null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(getClass().getName() + ".passed",
- "Found a JavaBeans compliant accessor method [ {0} ] for the config-property [ {1} ]",
- new Object[] { m, ep.getName()}));
- } else {
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: There is no JavaBeans compliant accessor method [ {0} ] implemented in [ {1} ] for the config-property [ {2} ]",
- new Object[] { "public " + ep.getValueType().getName() + " " + getMethodName,
- mcf.getName(),
- ep.getName()}));
- }
- }
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactorySerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactorySerializable.java
deleted file mode 100644
index fc56b7f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactorySerializable.java
+++ /dev/null
@@ -1,73 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionFactorySerializable.java
- *
- * Created on September 26, 2000, 2:10 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-/**
- *
- * verify the declared ManagedConnectionFactory implements the
- * java.io.Serializable interface
-
- * @author Jerome Dochez
- * @version
- */
-public class ManagedConnectionFactorySerializable
- extends ManagedConnectionFactoryTest
- implements ConnectorCheck
-{
-
-
- /** <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- testImplementationOf(descriptor, "java.io.Serializable", result);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryTest.java
deleted file mode 100644
index 71e5a75..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionFactoryTest.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionFactoryTest.java
- *
- * Created on September 27, 2000, 11:29 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.ConnectionDefDescriptor;
-import com.sun.enterprise.deployment.OutboundResourceAdapter;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import java.util.Set;
-import java.util.Iterator;
-
-/**
- * Superclass for all ManagedConnectionFactory related tests
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class ManagedConnectionFactoryTest extends ConnectorTest {
-
- private String managedConnectionFactoryImpl;
-
- /**
- * <p>
- * Get the <code>Class</code> object of the class declared to be implementing
- * the jakarta.resource.spi.ManagedConnectionFactory interface in the
- * archive deployment descriptor
- * </p>
- *
- * @param descriptor the rar file deployment descriptor
- *
- * @throws ClassNotFoundException if the class identified by className
- * cannot be loaded
- */
- protected Class getManagedConnectionFactoryImpl(ConnectorDescriptor descriptor)
- throws ClassNotFoundException
- {
- OutboundResourceAdapter outboundRA =
- descriptor.getOutboundResourceAdapter();
- if(outboundRA == null)
- {
- return null;
- }
- Set connDefs = outboundRA.getConnectionDefs();
- Iterator iter = connDefs.iterator();
- while(iter.hasNext())
- {
- ConnectionDefDescriptor connDefDesc = (ConnectionDefDescriptor)
- iter.next();
- managedConnectionFactoryImpl =
- connDefDesc.getManagedConnectionFactoryImpl();
- Class implClass = Class.forName(managedConnectionFactoryImpl, false, getVerifierContext().getClassLoader());
- if(isImplementorOf(implClass, "jakarta.resource.spi.ManagedConnectionFactory"))
- {
- return implClass;
- }
- }
- return null;
-
- /* String className = descriptor.getManagedConnectionFactoryImpl();
- if (className == null)
- return null;
-
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getRarClassLoader();
- return jcl.loadClass(className); */
- }
-
-
- /**
- * <p>
- * Test whether the class declared in the deployemnt descriptor under the
- * managedconnecttionfactory-class tag is available
- * </p>
- *
- * @param descriptor the deployment descriptor
- * @param result instance to use to put the result of the test
- * @return true if the test succeeds
- */
- protected Class testManagedConnectionFactoryImpl(ConnectorDescriptor descriptor, Result result)
- {
- Class mcf = null;
- ComponentNameConstructor compName = null;
- try {
- compName = getVerifierContext().getComponentNameConstructor();
- mcf = getManagedConnectionFactoryImpl(descriptor);
- if (mcf == null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryTest.nonimpl",
- "Error: The resource adapter must implement the jakarta.resource.spi.ManagedConnectionFactory interface and declare it in the managedconnecttionfactory-class deployment descriptor."));
- }
- } catch(ClassNotFoundException cnfe) {
- cnfe.printStackTrace();
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryTest.nonexist",
- "Error: The class [ {0} ] as defined in the managedconnecttionfactory-class deployment descriptor does not exist",
- new Object[] {managedConnectionFactoryImpl}));
- }
- return mcf;
- }
-
- /**
- * <p>
- * Test wether the class declared in the deployemnt descriptor under the
- * managedconnecttionfactory-class tag implements an interface
- * </p>
- *
- * @param descriptor the deployment descriptor
- * @param interfaceName the interface name we look for
- * @param result instance to use to put the result of the test
- * @return true if the test succeeds
- */
- protected boolean testImplementationOf(ConnectorDescriptor descriptor, String interfaceName, Result result)
- {
- Class mcf = testManagedConnectionFactoryImpl(descriptor, result);
- if (mcf != null)
- return testImplementationOf(mcf, interfaceName, result);
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionGetMetaData.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionGetMetaData.java
deleted file mode 100644
index b244ba4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionGetMetaData.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionGetMetaData.java
- *
- * Created on August 26, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import java.io.File;
-import java.lang.reflect.Method;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-/**
- * Test that the return type of
- * jakarta.resource.spi.ManagedConnection.getMetaData() implements
- * the ManagedConnectionMetaData interface.
- *
- * @author Anisha Malhotra
- * @version
- */
-public class ManagedConnectionGetMetaData
- extends ConnectorTest
- implements ConnectorCheck
-{
- /** <p>
- * Test that the return type of
- * jakarta.resource.spi.ManagedConnection.getMetaData() implements
- * the ManagedConnectionMetaData interface.
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- Class c = findImplementorOf(descriptor, "jakarta.resource.spi.ManagedConnection");
- if(c == null)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.findImplementor.failed",
- "Error: There is no implementation of the [ {0} ] provided",
- new Object[] {"jakarta.resource.spi.ManagedConnection"}));
- return result;
- }
- // get return type of getMetaData()
- Method m = null;
- do {
- try {
- m = c.getMethod("getMetaData", (Class[])null);
- } catch(NoSuchMethodException nsme) {
- } catch(SecurityException se) {
- }
- c = c.getSuperclass();
- } while (m != null && c != Object.class);
- if(m == null)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.failed",
- "Error: There is no implementation of getMetaData() provided"));
- return result;
- }
- Class returnType = m.getReturnType();
- if(VerifierTest.isImplementorOf(returnType,
- "jakarta.resource.spi.ManagedConnectionMetaData"))
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.passed",
- "ManagedConnection.getMetaData() returns an instance of the" +
- "jakarta.resource.spi.ManagedConnectionMetaData interface"));
- }
- else
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.failed1",
- "Error: getMetaData() does not return an instance of the" +
- "jakarta.resource.spi.ManagedConnectionMetaData interface"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionMetaDataExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionMetaDataExistence.java
deleted file mode 100644
index 2088f86..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/managed/ManagedConnectionMetaDataExistence.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * ManagedConnectionMetaDataExistence.java
- *
- * Created on September 28, 2000, 11:59 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.managed;
-
-import java.io.File;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-
-/**
- * Test the implementation of the jakarta.resource.spi.ManagedConnectionMetaData
- * interface in the rar file
- *
- * @author Jerome Dochez
- * @version
- */
-public class ManagedConnectionMetaDataExistence
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test the implementation of the jakarta.resource.spi.ManagedConnection
- * interface in the rar file
- * </p>
- *
- * @paramm descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- // test NA for inboundRA
- if(!descriptor.getOutBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA",
- "Resource Adapter does not provide outbound communication"));
- return result;
- }
- //File jarFile = Verifier.getJarFile(descriptor.getModuleDescriptor().getArchiveUri());
-// File f=Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- findImplementorOf(descriptor, "jakarta.resource.spi.ManagedConnectionMetaData", result);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecClass.java
deleted file mode 100644
index 68d8421..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecClass.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckActivationSpecClass.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.messageinflow;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.InboundResourceAdapter;
-import com.sun.enterprise.deployment.MessageListener;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each message-listener , that "activationspec-class"
- * implements "jakarta.resource.spi.ActivationSpec".
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckActivationSpecClass
-extends ConnectorTest
-implements ConnectorCheck
-{
-
- /** <p>
- * Test for each message-listener , that "activationspec-class"
- * implements "jakarta.resource.spi.ActivationSpec".
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getInBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.notApp",
- "Resource Adapter does not provide inbound communication"));
- return result;
- }
- InboundResourceAdapter ra = descriptor.getInboundResourceAdapter();
- Set msgListeners = ra.getMessageListeners();
- boolean oneFailed = false;
- Iterator iter = msgListeners.iterator();
- while(iter.hasNext())
- {
- MessageListener msgListener = (MessageListener) iter.next();
- String impl = msgListener.getActivationSpecClass();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.nonexist",
- "Error: The class [ {0} ] as defined under activationspec-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- if(!isImplementorOf(implClass, "jakarta.resource.spi.ActivationSpec"))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: activationspec-class [ {0} ] does not implement jakarta.resource.spi.ActivationSpec.",
- new Object[] {impl}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all activationspec-class implement jakarta.resource.spi.ActivationSpec"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecJavaBean.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecJavaBean.java
deleted file mode 100644
index 602aafd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecJavaBean.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckActivationSpecJavaBean.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.messageinflow;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.InboundResourceAdapter;
-import com.sun.enterprise.deployment.MessageListener;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.*;
-import java.beans.*;
-
-/**
- * Test for each message-listener, that "activationspec-class" is a Java Bean.
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckActivationSpecJavaBean
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test for each message-listener, that "activationspec-class" is a Java Bean.
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getInBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.notApp",
- "Resource Adapter does not provide inbound communication"));
- return result;
- }
- InboundResourceAdapter ra = descriptor.getInboundResourceAdapter();
- Set msgListeners = ra.getMessageListeners();
- boolean oneFailed = false;
- Iterator iter = msgListeners.iterator();
- while(iter.hasNext())
- {
- MessageListener msgListener = (MessageListener) iter.next();
- String impl = msgListener.getActivationSpecClass();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.nonexist",
- "Error: The class [ {0} ] as defined under activationspec-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- Set configProps = msgListener.getConfigProperties();
- Iterator propIter = configProps.iterator();
- BeanInfo bi = null;
- try
- {
- bi = Introspector.getBeanInfo(implClass, Object.class);
- }
- catch (IntrospectionException ie) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The activationspec-class [ {0} ] is not JavaBeans compliant",
- new Object[] {impl} ));
- return result;
- }
-
- PropertyDescriptor[] properties = bi.getPropertyDescriptors();
- Hashtable<String, PropertyDescriptor> props = new Hashtable<String, PropertyDescriptor>();
- for(int i=0;i<properties.length;i++)
- {
- props.put(properties[i].getName(), properties[i]);
- }
- while(propIter.hasNext())
- {
- EnvironmentProperty envProp = (EnvironmentProperty) propIter.next();
- String name = envProp.getName();
- String type = envProp.getType();
-
- PropertyDescriptor propDesc = (PropertyDescriptor) props.get(
- name.substring(0,1).toLowerCase() + name.substring(1));
- if(propDesc != null)
- {
- if (propDesc.getReadMethod()==null || propDesc.getWriteMethod()==null)
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: The activationspec-class [ {0} ] does not provide accessor methods for [ {1} ].",
- new Object[] {impl, name} ));
- return result;
- }
- }
- else
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: The activationspec-class [ {0} ] does not provide accessor methods for [ {1} ].",
- new Object[] {impl, name} ));
- return result;
- }
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: Each activationspec-class is a Java Bean"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecOverridesEquals.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecOverridesEquals.java
deleted file mode 100644
index d68112b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecOverridesEquals.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckActivationSpecOverridesEquals .java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.messageinflow;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.InboundResourceAdapter;
-import com.sun.enterprise.deployment.MessageListener;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.Method;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test for each message-listener , that "activationspec-class"
- * does not override the equals method.
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckActivationSpecOverridesEquals
-extends ConnectorTest
-implements ConnectorCheck
-{
-
- /** <p>
- * Test for each message-listener , that "activationspec-class"
- * does not override the equals method.
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- if(!descriptor.getInBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.notApp",
- "Resource Adapter does not provide inbound communication"));
- return result;
- }
- InboundResourceAdapter ra = descriptor.getInboundResourceAdapter();
- Set msgListeners = ra.getMessageListeners();
- boolean oneFailed = false;
- Iterator iter = msgListeners.iterator();
- while(iter.hasNext())
- {
- MessageListener msgListener = (MessageListener) iter.next();
- String impl = msgListener.getActivationSpecClass();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.nonexist",
- "Error: The class [ {0} ] as defined under activationspec-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- try
- {
- Method equalsMethod = implClass.getMethod("equals",
- new Class[] {implClass});
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: activationspec-class [ {0} ] overrides the equals method",
- new Object[] {impl}));
- return result;
- }
- catch(NoSuchMethodException e)
- {
- // implClass does not override equals.
- }
- catch(SecurityException e)
- {
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all activationspec-class do not override the equals method"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecSerializable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecSerializable.java
deleted file mode 100644
index 4198cf0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/connector/messageinflow/CheckActivationSpecSerializable.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CheckActivationSpecSerializable.java
- *
- * Created on August 29, 2002
- */
-
-package com.sun.enterprise.tools.verifier.tests.connector.messageinflow;
-
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest;
-import com.sun.enterprise.tools.verifier.tests.connector.ConnectorCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.ConnectorDescriptor;
-import com.sun.enterprise.deployment.InboundResourceAdapter;
-import com.sun.enterprise.deployment.MessageListener;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Test that "activationspec-class" implements java.io.Serializable
- *
- * @author Anisha Malhotra
- * @version
- */
-public class CheckActivationSpecSerializable
- extends ConnectorTest
- implements ConnectorCheck
-{
-
- /** <p>
- * Test that "activationspec-class" implements java.io.Serializable
- * </p>
- *
- * @param descriptor deployment descriptor for the rar file
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(ConnectorDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
-
- if(!descriptor.getInBoundDefined())
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.notApp",
- "Resource Adapter does not provide inbound communication"));
- return result;
- }
- InboundResourceAdapter ra = descriptor.getInboundResourceAdapter();
- Set msgListeners = ra.getMessageListeners();
- boolean oneFailed = false;
- Iterator iter = msgListeners.iterator();
- while(iter.hasNext())
- {
- MessageListener msgListener = (MessageListener) iter.next();
- String impl = msgListener.getActivationSpecClass();
- Class implClass = null;
- try
- {
- implClass = Class.forName(impl, false, getVerifierContext().getClassLoader());
- }
- catch(ClassNotFoundException e)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.connector.messageinflow.nonexist",
- "Error: The class [ {0} ] as defined under activationspec-class in the deployment descriptor does not exist",
- new Object[] {impl}));
- return result;
- }
- if(!isImplementorOf(implClass, "java.io.Serializable"))
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "Error: activationspec-class [ {0} ] does not implement java.io.Serializable",
- new Object[] {impl}));
- return result;
- }
- }
- if(!oneFailed)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Success: all activationspec-class implement java.io.Serializable"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/dd/ParseDD.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/dd/ParseDD.java
deleted file mode 100644
index a74591e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/dd/ParseDD.java
+++ /dev/null
@@ -1,963 +0,0 @@
-/*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.dd;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.XMLValidationHandler;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Text;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.SAXException;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.logging.Level;
-import java.util.logging.Logger;
-
-
-/**
- * <p>
- * This test parses the deployment descriptor using a SAX parser to
- * avoid the dependency on the DOL
- * <p>
- *
- * @author Sheetal Vartak
- * @version
- */
-
-public class ParseDD extends VerifierTest {
- DocumentBuilder builder = null;
- Result result;
- private com.sun.enterprise.util.LocalStringManagerImpl smh;
- boolean oneFailed = false;
- private static String EJB = "EJB Deployment Descriptor";
- private static String APPCLIENT = "App Client Deployment Descriptor";
- private static String CONNECTOR = "Connector Deployment Descriptor";
- private static String WEB = "Web Deployment Descriptor";
-
- // Logger to log messages
- private static Logger logger = LogDomains.getLogger(LogDomains.AVK_VERIFIER_LOGGER);
-
-
- /**
- * <p>
- * This test parses the deployment descriptor using a SAX parser to
- * avoid the dependency on the DOL
- * <p>
- */
-
- public ParseDD () {
- result = getInitializedResult();
- smh = StringManagerHelper.getLocalStringsManager();
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- try {
- factory.setAttribute("http://apache.org/xml/features/allow-java-encodings", new Boolean(true));
- builder = factory.newDocumentBuilder();
- EntityResolver dh = new XMLValidationHandler(false);
- builder.setEntityResolver(dh);
- } catch (ParserConfigurationException e) {
- logger.log(Level.SEVERE, getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed(smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- }catch (Exception e) {
- logger.log(Level.SEVERE,getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed(smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- }
- }
-
-
- /**
- * Parse validate the XML file
- *
- * @param source Input XML to be checked
- *
- */
- public Result validateConnectorDescriptor(InputStream source)
- {
- Document document = null;
- result = getInitializedResult();
- result.setComponentName(EJB);
- NodeList nodeList = null;
- try {
- if (source == null) {
- logger.log(Level.SEVERE,getClass().getName() + ".srcnull");
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".NoIO",
- "no InputStream found",
- new Object[] {}));
- return result;
- }
- else {
- document = builder.parse(source);
-
- //license-required
- nodeList = document.getElementsByTagName("license-required");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("true")
- && !value.equals("false")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedLicense",
- "[Connector] license-required cannot be {0}. It has to be either true or false.",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedLicense",
- "PASSED[Connector] : license-required is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //reauthentication-support
- nodeList = document.getElementsByTagName("reauthentication-support");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("true")
- && !value.equals("false")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedReauthenticationSupport",
- "[Connector] reauthentication-support cannot be {0}. It has to be either true or false.",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedReauthenticationSupport",
- "PASSED [Connector] : reauthentication-support is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //transaction-support
- nodeList = document.getElementsByTagName("transaction-support");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("NoTransaction")
- && !value.equals("LocalTransaction")
- && !value.equals("XATransaction")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedTransactionSupport",
- "[Connector]transaction-support cannot be {0}. It has to be either NoTransaction or LocalTransaction or XATransaction.",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedTransactionSupport",
- "PASSED [Connector] : transaction-support is {0}.",
- new Object[] {value}));
- }
- }
- }
- if (result.getStatus() != Result.FAILED) {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
- } catch (IOException e) {
- logger.log(Level.SEVERE,getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (SAXException e) {
- logger.log(Level.SEVERE,getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (Exception e) {
- logger.log(Level.SEVERE,getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- }
- }
-
- /**
- * Parse validate the XML file
- *
- * @param source Input XML to be checked
- *
- */
- public Result validateAppClientDescriptor(InputStream source)
- {
- Document document = null;
- result = getInitializedResult();
- result.setComponentName(EJB);
- NodeList nodeList = null;
- try {
- if (source == null) {
- logger.log(Level.SEVERE,getClass().getName() + ".srcnull");
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".NoIO",
- "no InputStream found",
- new Object[] {}));
- return result;
- }
- else {
- document = builder.parse(source);
-
- //ejb-ref-type
- nodeList = document.getElementsByTagName("ejb-ref-type");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String ejbRefTypeValue = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!ejbRefTypeValue.equals(EjbSessionDescriptor.TYPE)
- && !ejbRefTypeValue.equals(EjbEntityDescriptor.TYPE)) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedAppClientEjbRefType",
- "[App Client] ejb-ref-type cannot be {0}. It has to be either Entity or Session.",
- new Object[] {ejbRefTypeValue}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedAppClientEjbRefType",
- "PASSED [App Client] : ejb-ref-type is {0}.",
- new Object[] {ejbRefTypeValue}));
- }
- }
- }
-
- //res-auth
- nodeList = document.getElementsByTagName("res-auth");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Application")
- && !value.equals("Container")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedAppClientResAuth",
- "[App Client] res-auth cannot be {0}. It has to be either Application or Container",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedAppClientResAuth",
- "PASSED [App Client] : res-auth is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //res-sharing-scope
- nodeList = document.getElementsByTagName("res-sharing-scope");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Shareable")
- && !value.equals("Unshareable")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedAppClientResSharingScope",
- "[App Client] res-sharing-scope cannot be {0}. It has to be either Shareable or Unshareable",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedAppClientResSharingScope",
- "PASSED [App Client] : res-sharing-scope is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- if (result.getStatus() != Result.FAILED) {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
- } catch (IOException e) {
- logger.log(Level.SEVERE, getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (SAXException e) {
- logger.log(Level.SEVERE,getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (Exception e) {
- logger.log(Level.SEVERE,getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- }
- }
-
- /**
- * Parse validate the XML file
- *
- * @param source Input XML to be checked
- *
- */
- public Result validateWebDescriptor(InputStream source)
- {
- Document document = null;
- result = getInitializedResult();
- result.setComponentName(EJB);
- NodeList nodeList = null;
- try {
- if (source == null) {
- logger.log(Level.SEVERE,getClass().getName() + ".srcnull");
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".NoIO",
- "no InputStream found",
- new Object[] {}));
- return result;
- }
- else {
- document = builder.parse(source);
-
- //ejb-ref-type
- nodeList = document.getElementsByTagName("ejb-ref-type");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String ejbRefTypeValue = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!ejbRefTypeValue.equals(EjbSessionDescriptor.TYPE)
- && !ejbRefTypeValue.equals(EjbEntityDescriptor.TYPE)) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedWebEjbRefType",
- "[Web] ejb-ref-type cannot be {0}. It has to be either Entity or Session.",
- new Object[] {ejbRefTypeValue}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedWebEjbRefType",
- "PASSED [Web] : ejb-ref-type is {0}.",
- new Object[] {ejbRefTypeValue}));
- }
- }
- }
-
- //res-auth
- nodeList = document.getElementsByTagName("res-auth");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Application")
- && !value.equals("Container")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedWebResAuth",
- "[Web] res-auth cannot be {0}. It has to be either Application or Container",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedWebResAuth",
- "PASSED[Web] : res-auth is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //res-sharing-scope
- nodeList = document.getElementsByTagName("res-sharing-scope");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Shareable")
- && !value.equals("Unshareable")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedWebResSharingScope",
- "[Web] res-sharing-scope cannot be {0}. It has to be either Shareable or Unshareable",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedWebResSharingScope",
- "PASSED [Web] : res-sharing-scope is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- if (result.getStatus() != Result.FAILED) {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
- } catch (IOException e) {
- logger.log(Level.SEVERE, getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (SAXException e) {
- logger.log(Level.SEVERE, getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (Exception e) {
- logger.log(Level.SEVERE, getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- }
- }
-
-
- /**
- * Parse validate the XML file
- *
- * @param source Input XML to be checked
- *
- */
- public Result validateEJBDescriptor(InputStream source)
- {
- Document document = null;
- result = getInitializedResult();
- result.setComponentName(EJB);
- NodeList nodeList = null;
- try {
- if (source == null) {
- logger.log(Level.SEVERE, getClass().getName() + ".srcnull");
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".NoIO",
- "no InputStream found",
- new Object[] {}));
- return result;
- }
- else {
- document = builder.parse(source);
-
- checkInterfacePairs(document, "remote", "home");
- checkInterfacePairs(document, "local", "local-home");
-
- //session-type
- nodeList = document.getElementsByTagName("session-type");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String sessionTypeValue = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!sessionTypeValue.equals(EjbSessionDescriptor.STATELESS)
- && !sessionTypeValue.equals(EjbSessionDescriptor.STATEFUL)) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedSession",
- "session-type cannot be {0}. It has to be either Stateless or Stateful.",
- new Object[] {sessionTypeValue}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedSession",
- "PASSED : session-type is {0}.",
- new Object[] {sessionTypeValue}));
- }
-
- }
- }
-
- //ejb-ref-type
- nodeList = document.getElementsByTagName("ejb-ref-type");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String ejbRefTypeValue = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!ejbRefTypeValue.equals(EjbSessionDescriptor.TYPE)
- && !ejbRefTypeValue.equals(EjbEntityDescriptor.TYPE)) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedEjbRefType",
- "[EJB] ejb-ref-type cannot be {0}. It has to be either Entity or Session.",
- new Object[] {ejbRefTypeValue}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedEjbRefType",
- "PASSED [EJB] : ejb-ref-type is {0}.",
- new Object[] {ejbRefTypeValue}));
- }
-
- }
- }
-
- //multiplicity
- nodeList = document.getElementsByTagName("multiplicity");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String multiplicityValue = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!multiplicityValue.equals("One")
- && !multiplicityValue.equals("Many")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedMultiplicity",
- "[EJB] multiplicity cannot be {0}. It has to be either One or Many",
- new Object[] {multiplicityValue}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedMultiplicity",
- "PASSED [EJB] : multiplicity is {0}.",
- new Object[] {multiplicityValue}));
- }
-
- }
- }
-
- //cmp-version
- nodeList = document.getElementsByTagName("cmp-version");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("1.x")
- && !value.equals("2.x")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedVersion",
- "[EJB] version cannot be {0}. It has to be either 1.x or 2.x",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedVersion",
- "PASSED [EJB] : version is {0}.",
- new Object[] {value}));
- }
-
- }
- }
-
- //destination-type
- nodeList = document.getElementsByTagName("destination-type");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("jakarta.jms.Queue")
- && !value.equals("jakarta.jms.Topic")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedDestinationType",
- "[EJB] destination-type cannot be {0}. It has to be either jakarta.jms.Topic or jakarta.jms.Queue",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedDestinationType",
- "PASSED [EJB] : destination-type is {0}.",
- new Object[] {value}));
- }
- }
- }
- //method-intf
- nodeList = document.getElementsByTagName("method-intf");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Home")
- && !value.equals("Remote")
- && !value.equals("LocalHome")
- && !value.equals("Local")
- && !value.equals("ServiceEndpoint")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedMethodIntf",
- "[EJB] method-intf cannot be [ {0} ]. It has to be either Local, Remote, LocalHome or Home or ServiceEndpoint",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedMethodIntf",
- "PASSED [EJB] : method-intf is {0}.",
- new Object[] {value}));
- }
- }
- }
- //persistence-type
- nodeList = document.getElementsByTagName("persistence-type");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Bean")
- && !value.equals("Container")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedPersistenceType",
- "[EJB] persistence-type cannot be {0}. It has to be either Bean or Container",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedPersistenceType",
- "PASSED [EJB] : persistence-type is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //reentrant
- nodeList = document.getElementsByTagName("reentrant");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("True")
- && !value.equals("False")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedReentrant",
- "[EJB] reentrant cannot be {0}. It has to be either True or False",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedReentrant",
- "PASSED [EJB] : reentrant is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //res-auth
- nodeList = document.getElementsByTagName("res-auth");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Application")
- && !value.equals("Container")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedEjbResAuth",
- "[EJB] res-auth cannot be {0}. It has to be either Application or Container",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedEjbResAuth",
- "PASSED [EJB] : res-auth is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //result-type-mapping
- nodeList = document.getElementsByTagName("result-type-mapping");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Local")
- && !value.equals("Remote")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedResultTypeMapping",
- "[EJB] result-type-mapping cannot be {0}. It has to be either Remote or Local",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedResultTypeMapping",
- "PASSED [EJB] : result-type-mapping is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //subscription-durability
- nodeList = document.getElementsByTagName("subscription-durability");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Durable")
- && !value.equals("NonDurable")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedSubscriptionDurability",
- "[EJB] subscription-durability cannot be {0}. It has to be either Durable or NonDurable",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedSubscriptionDurability",
- "PASSED [EJB] : subscription-durability is {0}.",
- new Object[] {value}));
- }
- }
- }
- //trans-attribute
- nodeList = document.getElementsByTagName("trans-attribute");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("NotSupported")
- && !value.equals("Supports")
- && !value.equals("Required")
- && !value.equals("RequiresNew")
- && !value.equals("Mandatory")
- && !value.equals("Never")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedTransAttribute",
- "[EJB] trans-attribute cannot be {0}. It has to be either NotSupported or Supports or Required or RequiresNew or Mandatory or Never.",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedTransAttribute",
- "PASSED [EJB]: trans-attribute is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //transaction-type
- nodeList = document.getElementsByTagName("transaction-type");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Bean")
- && !value.equals("Container")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedTransactionType",
- "[EJB] transaction-type cannot be {0}. It has to be either Bean or Container",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedTransactionType",
- "PASSED [EJB]: transaction-type is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //acknowledge-mode
- nodeList = document.getElementsByTagName("acknowledge-mode");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Auto-acknowledge")
- && !value.equals("Dups-ok-acknowledge")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedAcknowledgeMode",
- "[EJB] acknowledge-mode cannot be {0}. It has to be either True or False",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedAcknowledgeMode",
- "PASSED [EJB]: acknowledge-mode is {0}.",
- new Object[] {value}));
- }
- }
- }
-
- //res-sharing-scope
- nodeList = document.getElementsByTagName("res-sharing-scope");
- if (nodeList != null) {
- for (int i = 0; i < nodeList.getLength(); i++) {
- String value = ((Text)nodeList.item(i).getFirstChild()).getNodeValue();
- if (!value.equals("Shareable")
- && !value.equals("Unshareable")) {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedEjbResSharingScope",
- "[EJB] res-sharing-scope cannot be {0}. It has to be either Shareable or Unshareable",
- new Object[] {value}));
- oneFailed = true;
- }
- else {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedEjbResSharingScope",
- "PASSED [EJB] : res-sharing-scope is {0}.",
- new Object[] {value}));
- }
- }
- }
-
-
- if (result.getStatus() != Result.FAILED) {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
- } catch (IOException e) {
- logger.log(Level.SEVERE, getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (SAXException e) {
- logger.log(Level.SEVERE,getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- } catch (Exception e) {
- logger.log(Level.SEVERE, getClass().getName() + ".Exception",
- new Object[] {e.toString()});
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".Exception",
- "Exception : {0}",
- new Object[] {e.toString()}));
- return result;
- }
- }
-
- public void checkInterfacePairs(Document document, String intf1, String intf2) {
- //check if "local" and "local-home" are both present
- //similarly for "remote" and "remote-home"
-
- int length1 = 0;
- int length2 = 0;
- NodeList nodeList = document.getElementsByTagName(intf1.trim());
- if (nodeList != null) {
- length1 = nodeList.getLength();
-
- }
- nodeList = document.getElementsByTagName(intf2.trim());
- if (nodeList != null) {
- length2 = nodeList.getLength();
-
- }
-
- if (length1 == length2) {
- if (length1 != 0) {
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passedPairs",
- "PASSED [EJB] : [ {0} ] and [ {1} ] tags present.",
- new Object[] {intf1, intf2}));
- }
- } else {
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedPairs",
- "FAILED [EJB] : Either one of the [ {0} ] : [ {1} ] tag pair is not present.",
- new Object[] {intf1, intf2}));
- }
-
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ApplicationExceptionComponentInterfaceMethods.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ApplicationExceptionComponentInterfaceMethods.java
deleted file mode 100644
index f897e1e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ApplicationExceptionComponentInterfaceMethods.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-
-/**
- * The Bean Provider defines the application exceptions in the throws clauses
- * of the methods of the remote interface. An application exception
- * is an exception defined in the throws clause of a method in the Bean's
- * remote interface, other than java.rmi.RemoteException. An application
- * exception must not be defined as a subclass of the
- * java.lang.RuntimeException, or of the java.rmi.RemoteException. These are
- * reserved for system exceptions.
- * The jakarta.ejb.CreateException, jakarta.ejb.RemoveException,
- * jakarta.ejb.FinderException, and subclasses thereof, are considered to be
- * application exceptions.
- */
-public class ApplicationExceptionComponentInterfaceMethods extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * The Bean Provider defines the application exceptions in the throws clauses
- * of the methods of the remote interface. An application exception
- * is an exception defined in the throws clause of a method in the Bean's
- * remote interface, other than java.rmi.RemoteException. An application
- * exception must not be defined as a subclass of the
- * java.lang.RuntimeException, or of the java.rmi.RemoteException. These are
- * reserved for system exceptions.
- * The jakarta.ejb.CreateException, jakarta.ejb.RemoveException,
- * jakarta.ejb.FinderException, and subclasses thereof, are considered to be
- * application exceptions.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- if(descriptor.getRemoteClassName() != null)
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
- if(descriptor.getLocalClassName() != null)
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
- //EJB 3.0 business interface requirements
- Set<String> localAndRemoteInterfaces = descriptor.getLocalBusinessClassNames();
- localAndRemoteInterfaces.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String localOrRemoteIntf : localAndRemoteInterfaces)
- commonToBothInterfaces(localOrRemoteIntf, descriptor);
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the business methods are defined properly"));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param remote or remote for the Remote/Local interface of the Ejb.
- * This parameter may be optional depending on the test
- */
-
- private void commonToBothInterfaces(String remote, EjbDescriptor descriptor) {
- try {
- Class c = Class.forName(remote, false, getVerifierContext().getClassLoader());
- Class [] methodExceptionTypes;
- for(Method methods : c.getDeclaredMethods()) {
- methodExceptionTypes = methods.getExceptionTypes();
- // methods must also throw java.rmi.RemoteException
- if (!(EjbUtils.isValidApplicationException(methodExceptionTypes))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "For the Interface [ {0} ] Method [ {1} ] does not throw " +
- "valid application exceptions",
- new Object[] {remote, methods.getName()}));
-
- }
- } // for all the methods within the Remote interface class, loop
-
- } catch (Exception e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] does not exist or is not " +
- "loadable within bean [ {1} ]",
- new Object[] {remote, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ApplicationExceptionHomeInterfaceMethods.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ApplicationExceptionHomeInterfaceMethods.java
deleted file mode 100644
index c27b19e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ApplicationExceptionHomeInterfaceMethods.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * The Bean Provider defines the application exceptions in the throws clauses
- * of the methods of the home interface. An application exception
- * is an exception defined in the throws clause of a method in the Bean's home
- * interface, other than java.rmi.RemoteException. An application
- * exception must not be defined as a subclass of the
- * java.lang.RuntimeException, or of the java.rmi.RemoteException. These are
- * reserved for system exceptions.
- * The jakarta.ejb.CreateException, jakarta.ejb.RemoveException,
- * jakarta.ejb.FinderException, and subclasses thereof, are considered to be
- * application exceptions.
- */
-public class ApplicationExceptionHomeInterfaceMethods extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * The Bean Provider defines the application exceptions in the throws clauses
- * of the methods of the home interface. An application exception
- * is an exception defined in the throws clause of a method in the Bean's home
- * interface, other than java.rmi.RemoteException. An application
- * exception must not be defined as a subclass of the
- * java.lang.RuntimeException, or of the java.rmi.RemoteException. These are
- * reserved for system exceptions.
- * The jakarta.ejb.CreateException, jakarta.ejb.RemoveException,
- * jakarta.ejb.FinderException, and subclasses thereof, are considered to be
- * application exceptions.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- if(descriptor.getHomeClassName() != null)
- commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- if(descriptor.getLocalHomeClassName() != null)
- commonToBothInterfaces(descriptor.getLocalHomeClassName(), descriptor);
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the methods of Home interface are defined properly"));
- }
- return result;
- }
-
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home Interface of the Ejb
- * This parameter may be optional depending on the test
- */
-
- private void commonToBothInterfaces (String home, EjbDescriptor descriptor) {
-
- try {
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Class [] methodExceptionTypes;
-
- for(Method methods : c.getDeclaredMethods()) {
- methodExceptionTypes = methods.getExceptionTypes();
- // methods must also throw java.rmi.RemoteException
- if (!(EjbUtils.isValidApplicationException(methodExceptionTypes))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "For the Interface [ {0} ] Method [ {1} ] does" +
- " not throw valid application exceptions",
- new Object[] {home, methods.getName()}));
- }
- } // for all the methods within the home interface class, loop
-
- } catch (Exception e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is" +
- " not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle1.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle1.java
deleted file mode 100644
index 8127031..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle1.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Enumeration;
-
-/**
- * ContainerTransaction Style 1 - Each container transaction element consists
- * of a list of one or more method elements, and the trans-attribute element.
- * The container transaction element specifies that all the listed methods are
- * assigned the specified transaction attribute value.
- *
- * Style 1:
- * <method>
- * <ejb-name> EJBNAME</ejb-name>
- * <method-name>*</method-name>
- * </method>
- * This style is used to specify a default value of the transaction attribute
- * for the methods for which there is no Style 2 or Style 3 element specified.
- * There must be at most one container transaction element that uses the Style 1
- * method element for a given enterprise bean.
- */
-public class ContainerTransactionStyle1 extends EjbTest implements EjbCheck {
-
-
- /**
- * Each container transaction element consists of a list of one or more
- * method elements, and the trans-attribute element. The container transaction
- * element specifies that all the listed methods are assigned the specified
- * transaction attribute value.
- *
- * Style 1:
- * <method>
- * <ejb-name> EJBNAME</ejb-name>
- * <method-name>*</method-name>
- * </method>
- * This style is used to specify a default value of the transaction attribute
- * for the methods for which there is no Style 2 or Style 3 element specified.
- * There must be at most one container transaction element that uses the Style 1
- * method element for a given enterprise bean.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- boolean oneFailed = false;
- boolean na = false;
- int foundWildCard = 0;
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
-
- if (methodDescriptor.getName().equals(MethodDescriptor.ALL_METHODS)) {
- foundWildCard++;
- }
- }
-
- // report for this particular set of Container tx's
- // DOL only saves one container tx with "*", so can't fail...
- if (foundWildCard == 1) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Container Transaction method name [ {0} ] defined only once in [ {1} ] bean.",
- new Object[] {MethodDescriptor.ALL_METHODS, descriptor.getName()}));
- } else if (foundWildCard > 1) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Container Transaction method name [ {0} ] is defined [ {1} ] times in [ {2} ] bean. Method name container transaction style [ {3} ] is allowed only once per bean.",
- new Object[] {MethodDescriptor.ALL_METHODS, new Integer(foundWildCard), descriptor.getName(),MethodDescriptor.ALL_METHODS}));
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Container Transaction method name [ {0} ] not defined in [ {1} ] bean.",
- new Object[] {MethodDescriptor.ALL_METHODS, descriptor.getName()}));
- }
-
- } else { // if (methodDescriptorsIterator.hasNext())
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no method permissions within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- } catch (Throwable t) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {descriptor.getName(), t.getMessage(), descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle2.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle2.java
deleted file mode 100644
index eceae7b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle2.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Enumeration;
-
-/**
- * ContainerTransaction Style 2 - Each container transaction element consists
- * of a list of one or more method elements, and the trans-attribute element.
- * The container transaction element specifies that all the listed methods are
- * assigned the specified transaction attribute value.
- *
- * Style 2:
- * <method>
- * <ejb-name> EJBNAME</ejb-name>
- * <method-name>METHOD</method-name>
- * </method>
- * This style is used for referring to a specified method of the remote or home
- * interface of the specified enterprise bean. If there are multiple methods
- * with the same overloaded name, this style refers to all the methods with the
- * same name. There must be at most one container transaction element that uses
- * the Style 2 method element for a given method name. If there is also a
- * container transaction element that uses Style 1 element for the same bean,
- * the value specified by the Style 2 element takes precedence.
- */
-public class ContainerTransactionStyle2 extends EjbTest implements EjbCheck {
-
- /**
- * Each container transaction element consists of a list of one or more
- * method elements, and the trans-attribute element. The container transaction
- * element specifies that all the listed methods are assigned the specified
- * transaction attribute value.
- *
- * Style 2:
- * <method>
- * <ejb-name> EJBNAME</ejb-name>
- * <method-name>METHOD</method-name>
- * </method>
- * This style is used for referring to a specified method of the remote or home
- * interface of the specified enterprise bean. If there are multiple methods
- * with the same overloaded name, this style refers to all the methods with the
- * same name. There must be at most one container transaction element that uses
- * the Style 2 method element for a given method name. If there is also a
- * container transaction element that uses Style 1 element for the same bean,
- * the value specified by the Style 2 element takes precedence.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- boolean oneFailed = false;
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- int na = 0;
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
- // see if it's a style 2
- if (methodDescriptor.getParameterClassNames() == null) {
- int foundIt = 0;
-
- // found style 2, now see if it's the only one
- // for given method name
- for (Enumeration eee = descriptor.getMethodContainerTransactions().keys(); eee.hasMoreElements();) {
-
- MethodDescriptor matchingMethodDescriptor = (MethodDescriptor) eee.nextElement();
- // see if this md is style 2 ?
- if (matchingMethodDescriptor.getParameterClassNames() == null) {
- // now see if it's the same name as previously
- // encountered method name
- if (methodDescriptor.getName().equals(matchingMethodDescriptor.getName())) {
- foundIt++;
- }
- }
- } // report after this inner loop
-
-
- // report for this particular set of Container tx's
- // DOL only saves one container tx with "*", so can't fail...
- if (foundIt == 1) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Container Transaction method name [ {0} ] defined only once in [ {1} ] bean.",
- new Object[] {methodDescriptor.getName(), descriptor.getName()}));
- } else if (foundIt > 1) {
- if (!oneFailed) {
- oneFailed = false;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Container Transaction method name [ {0} ] is defined [ {1} ] times in [ {2} ] bean. Method name container transaction style{3} is allowed only once per bean.",
- new Object[] {methodDescriptor.getName(), new Integer(foundIt), descriptor.getName(),new Integer(2)}));
- } else {
- na++;
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Container Transaction method name [ {0} ] not defined in [ {1} ] bean.",
- new Object[] {methodDescriptor.getName(), descriptor.getName()}));
- }
- } else { // not a style 2
- na++;
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Container Transaction method name [ {0} ] not defined as style{1} container transaction within [ {2} ].",
- new Object[] {methodDescriptor.getName(), new Integer(2), descriptor.getName()}));
- }
-
- } // for all method container tx's
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (na == descriptor.getMethodContainerTransactions().size()){
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
- } else { // if !descriptor.getMethodContainerTransactions().isEmpty
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no container transactions within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
- } catch (Throwable t) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {descriptor.getName(), t.getMessage(), descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle3.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle3.java
deleted file mode 100644
index 268fb6e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ContainerTransactionStyle3.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.ArrayList;
-import java.util.Arrays;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * ContainerTransaction Style 3 - Each container transaction element consists
- * of a list of one or more method elements, and the trans-attribute element.
- * The container transaction element specifies that all the listed methods are
- * assigned the specified transaction attribute value.
- *
- * Style 3:
- * <method>
- * <ejb-name> EJBNAME</ejb-name>
- * <method-name>METHOD</method-name>
- * <method-param> PARAMETER_1</method-param>
- * ...
- * <method-param> PARAMETER_N</method-param>
- * </method>
- * This style is used to refer to a single method within a set of methods with
- * an overloaded name. The method must be one defined in the remote or home
- * interface of the specified enterprise bean. If there is also a container
- * transaction element that uses the Style 2 element for the method name, or
- * the Style 1 element for the bean, the value specified by the Style 3 element
- * takes precedence.
- */
-public class ContainerTransactionStyle3 extends EjbTest implements EjbCheck {
- private Result result = null;
- private ComponentNameConstructor compName = null;
- private EjbDescriptor descriptor = null;
- private Method[] homeMethods = null;
- private Method[] localHomeMethods = null;
- private Method[] remoteMethods = null;
- private Method[] localMethods = null;
- private Method[] serviceMethods = null;
-
- /**
- * ContainerTransaction Style 3 - Each container transaction element consists
- * of a list of one or more method elements, and the trans-attribute element.
- * The container transaction element specifies that all the listed methods are
- * assigned the specified transaction attribute value.
- *
- * Style 3:
- * <method>
- * <ejb-name> EJBNAME</ejb-name>
- * <method-name>METHOD</method-name>
- * <method-param> PARAMETER_1</method-param>
- * ...
- * <method-param> PARAMETER_N</method-param>
- * </method>
- *
- * This style is used to refer to a single method within a set of methods with
- * an overloaded name. The method must be one defined in the remote or home
- * interface of the specified enterprise bean. If there is also a container
- * transaction element that uses the Style 2 element for the method name, or
- * the Style 1 element for the bean, the value specified by the Style 3 element
- * takes precedence.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- this.descriptor = descriptor;
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
-
- // The method must be one defined in the remote, home or business interface of
- // the specified enterprise bean.
- if (!descriptor.getMethodContainerTransactions().isEmpty())
- commonToAllInterfaces();
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid container transaction methods."));
- }
- return result;
- }
-
- /**
- * Iterate over all the bean methods and check if they are present in any
- * of the bean's interfaces.
- */
- private void commonToAllInterfaces() {
-
- boolean isTimedObject=false;
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class beanClass = Class.forName(descriptor.getEjbClassName(), false, jcl);
- isTimedObject = jakarta.ejb.TimedObject.class.isAssignableFrom(beanClass);
- } catch (ClassNotFoundException e) {} //continue
-
- initializeMethods();
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
-
- if (methodDescriptor.getName().equals(MethodDescriptor.ALL_METHODS) ||
- methodDescriptor.getParameterClassNames() == null) // style 1 and 2
- continue;
-
- if(isTimedObject &&
- MethodDescriptor.EJB_BEAN.equals(methodDescriptor.getEjbClassSymbol()) &&
- methodDescriptor.getName().equals("ejbTimeout")) {
- String[] params=methodDescriptor.getJavaParameterClassNames();
- if(params.length==1 && params[0].trim().equals("jakarta.ejb.Timer"))
- continue;//found a match
- }//if implements timer
-
- Set<Method> methods = getAllInterfaceMethods(methodDescriptor);
-
- if(!isMethodContained(methods, methodDescriptor)) { // report failure
- String ejbClassSymbol = methodDescriptor.getEjbClassSymbol();
- String intf = ejbClassSymbol;
- if(ejbClassSymbol == null) {
- intf = smh.getLocalString(getClass().getName() + ".msg", "any of bean");
- } else if(ejbClassSymbol.equals(MethodDescriptor.EJB_REMOTE)) {
- intf = "Remote or RemoteBusiness";
- } else if(ejbClassSymbol.equals(MethodDescriptor.EJB_LOCAL)) {
- intf = "Local or LocalBusiness";
- }
-
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Container Transaction method name [ {0} ] not " +
- "defined in [ {1} ] interface(s).",
- new Object[] {methodDescriptor.getName(), intf}));
- }
- }
- }
-
- /** get methods from all of bean's interfaces*/
- private void initializeMethods() {
- homeMethods = getMethods(descriptor.getHomeClassName());
- localHomeMethods = getMethods(descriptor.getLocalHomeClassName());
- remoteMethods = getMethods(descriptor.getRemoteClassName());
- remoteMethods = getBusinessMethods(descriptor.getRemoteBusinessClassNames(),remoteMethods);
- localMethods = getMethods(descriptor.getLocalClassName());
- localMethods = getBusinessMethods(descriptor.getLocalBusinessClassNames(), localMethods);
- serviceMethods = getMethods(descriptor.getWebServiceEndpointInterfaceName());
- }
-
- /** Collect all the methods the bean interfaces specified in methodDescriptor*/
- private Set<Method> getAllInterfaceMethods(MethodDescriptor methodDescriptor) {
-
- Set<Method> methods = new HashSet<Method>();
-
- String methodIntf = methodDescriptor.getEjbClassSymbol();
- if((methodIntf == null)) {
- methods.addAll(Arrays.asList(homeMethods));
- methods.addAll(Arrays.asList(localHomeMethods));
- methods.addAll(Arrays.asList(remoteMethods));
- methods.addAll(Arrays.asList(localMethods));
- methods.addAll(Arrays.asList(serviceMethods));
- } else if(methodIntf.equals(MethodDescriptor.EJB_HOME)) {
- methods.addAll(Arrays.asList(homeMethods));
- } else if(methodIntf.equals(MethodDescriptor.EJB_LOCALHOME)) {
- methods.addAll(Arrays.asList(localHomeMethods));
- } else if(methodIntf.equals(MethodDescriptor.EJB_REMOTE)) {
- methods.addAll(Arrays.asList(remoteMethods));
- } else if(methodIntf.equals(MethodDescriptor.EJB_LOCAL)) {
- methods.addAll(Arrays.asList(localMethods));
- } else if(methodIntf.equals(MethodDescriptor.EJB_WEB_SERVICE)) {
- methods.addAll(Arrays.asList(serviceMethods));
- }
- return methods;
- }
-
- /** get all the methods defined in the given class clsName*/
- private Method[] getMethods(String clsName) {
- if(clsName==null)
- return new Method[]{};
- ClassLoader jcl = getVerifierContext().getClassLoader();
- try {
- Class cls = Class.forName(clsName, false, jcl);
- return cls.getMethods();
- } catch (ClassNotFoundException e) {} // ignore and continue
- return new Method[]{};
- }
- /** returns an array of business methods that are collected from set classNames*/
- private Method[] getBusinessMethods(Set<String> classNames, Method[] intfMethods) {
- if(!classNames.isEmpty()) {
-
- List<Method> methods = new ArrayList<Method>();
- for (String clsName : classNames) {
- Method[] methodArray = getMethods(clsName);
- if(methodArray != null)
- methods.addAll(Arrays.asList(methodArray));
- }
-
- if(intfMethods != null)
- methods.addAll(Arrays.asList(intfMethods));
- return methods.toArray(new Method[]{});
- }
- return intfMethods;
- }
-
- /** returns true if methodDescriptor is contained in the set methods */
- private boolean isMethodContained(Set<Method> methods, MethodDescriptor methodDescriptor) {
- boolean foundIt = false;
- for (Method method : methods) {
- if(method.getName().equals(methodDescriptor.getName()) &&
- MethodUtils.stringArrayEquals(methodDescriptor.getParameterClassNames(),
- (new MethodDescriptor(method)).getParameterClassNames())) {
- foundIt = true;
- break;
- }
- }
- return foundIt;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbArchiveClassesLoadable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbArchiveClassesLoadable.java
deleted file mode 100644
index ed83b2c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbArchiveClassesLoadable.java
+++ /dev/null
@@ -1,61 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompiler;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.util.ArchiveClassesLoadableHelper;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * A j2ee archive should be self sufficient and should not depend on any classes to be
- * available at runtime.
- * The test checks whether all the classes found in the ejb archive are loadable and the
- * classes that are referenced inside their code are also loadable within the jar.
- *
- * @author Vikas Awasthi
- */
-public class EjbArchiveClassesLoadable extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-// String archiveUri = getAbstractArchiveUri(descriptor);
-
- ClosureCompiler closureCompiler=getVerifierContext().getClosureCompiler();
-
- boolean allPassed = closureCompiler.buildClosure(descriptor.getEjbClassName());
- if (allPassed) {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the classes are loadable."));
- } else {
- result.setStatus(Result.FAILED);
- addErrorDetails(result, compName);
- result.addErrorDetails(ArchiveClassesLoadableHelper.
- getFailedResult(closureCompiler));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.loadableError",
- "Please either bundle the above mentioned classes in the application " +
- "or use optional packaging support for them."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbBeanType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbBeanType.java
deleted file mode 100755
index e71d0ae..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbBeanType.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Bean type test.
- * The bean provider must use the appropriate session or entity element
- * to declare the bean type.
- */
-public class EjbBeanType extends EjbTest implements EjbCheck {
-
-
- /**
- * Bean Type Test.
- * The bean provider must use the appropriate session or entity element
- * to declare the bean type.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- boolean validBean = false;
- // walk up the class tree (bug #4243606)
- do {
- Class[] interfaces = c.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {interfaces[i].getName()});
-
- if (interfaces[i].getName().equals("jakarta.ejb.EntityBean") &&
- (descriptor instanceof EjbEntityDescriptor)) {
- validBean = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly implements the {1}Bean interface.",
- new Object[] {descriptor.getEjbClassName(),"Entity"}));
- break;
- } else if (interfaces[i].getName().equals("jakarta.ejb.SessionBean") &&
- descriptor instanceof EjbSessionDescriptor) {
- validBean = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly implements the {1}Bean interface.",
- new Object[] {descriptor.getEjbClassName(),"Session"}));
- break;
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validBean)));
-
-
- if (!validBean){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not a valid bean. The bean provider must use the appropriate {1} or {2} element to declare the bean type.",
- new Object[] {descriptor.getEjbClassName(),"session","entity"}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] not called with a Session or Entity Bean.",
- new Object[] {getClass()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbCheck.java
deleted file mode 100755
index 89a7501..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbCheck.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Interface that all Ejb tests implement
- */
-public interface EjbCheck {
-
- Result check(EjbDescriptor descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbClientJarManifestClassPath.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbClientJarManifestClassPath.java
deleted file mode 100644
index c374d45..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbClientJarManifestClassPath.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * The EJB specification does not specify whether the ejb-jar file should
- * include the classes that are in the ejb-client JAR by copy or by reference.
- * If the by-copy approach is used, the producer simply includes all the class
- * files in the ejb-client JAR file also in the ejb-jar file. If the
- * by-reference approach is used, the ejb-jar file producer does not duplicate
- * the content of the ejb-client JAR file in the ejb-jar file, but instead uses
- * a Manifest Class-Path entry in the ejb-jar file to specify that the ejb-jar
- * file depends on the ejb-client JAR at runtime.
- */
-public class EjbClientJarManifestClassPath extends EjbTest implements EjbCheck {
-
-
-
-
- /**
- * The EJB specification does not specify whether the ejb-jar file should
- * include the classes that are in the ejb-client JAR by copy or by reference.
- * If the by-copy approach is used, the producer simply includes all the class
- * files in the ejb-client JAR file also in the ejb-jar file. If the
- * by-reference approach is used, the ejb-jar file producer does not duplicate
- * the content of the ejb-client JAR file in the ejb-jar file, but instead uses
- * a Manifest Class-Path entry in the ejb-jar file to specify that the ejb-jar
- * file depends on the ejb-client JAR at runtime.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // Stub test class placeholder
- // fill in guts/logic - pass/fail accordingly in future
- // once DOL returns proper value
- result.setStatus(Result.NOT_IMPLEMENTED);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails
- (smh.getLocalString
- (getClass().getName() + ".notImplemented",
- "No static testing done - yet."));
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbEnvEntryValue.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbEnvEntryValue.java
deleted file mode 100755
index 5151cb2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbEnvEntryValue.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-
-/**
- * If the Bean Provider provides a value for an environment entry using the
- * env-entry-value element, the value can be changed later by the Application
- * Assembler or Deployer. The value must be a string that is valid for the
- * constructor of the specified type that takes a single String parameter.
- */
-public class EjbEnvEntryValue extends EjbTest implements EjbCheck {
-
-
- /**
- *If the Bean Provider provides a value for an environment entry using the
- * env-entry-value element, the value can be changed later by the Application
- * Assembler or Deployer. The value must be a string that is valid for the
- * constructor of the specified type that takes a single String parameter.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getEnvironmentProperties().isEmpty()) {
- // The value must be a string that is valid for the
- // constructor of the specified type that takes a single String parameter
- for (Iterator itr = descriptor.getEnvironmentProperties().iterator();
- itr.hasNext();) {
- EnvironmentProperty nextEnvironmentProperty =
- (EnvironmentProperty) itr.next();
- if ((nextEnvironmentProperty.getValue() != null)
- && (nextEnvironmentProperty.getValue().length() > 0)) {
- if(!validEnvType(nextEnvironmentProperty)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Environment entry name [ {0} ] does not have" +
- " valid value [ {1} ] for constructor of the specified type" +
- " [ {2} ] that takes a single String parameter within bean [ {3} ]",
- new Object[] {nextEnvironmentProperty.getName(),
- nextEnvironmentProperty.getValue(), nextEnvironmentProperty.getType(),
- descriptor.getName()}));
- }
- }
- }
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Environment entry name has valid value"));
-
- }
- return result;
- }
-
- private boolean validEnvType(EnvironmentProperty nextEnvironmentProperty) {
-
- try {
- if (nextEnvironmentProperty.getType().equals("java.lang.String")) {
- new String(nextEnvironmentProperty.getValue());
-
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Integer")) {
- new Integer(nextEnvironmentProperty.getValue());
-
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Boolean")) {
- // don't need to do anything in this case, since any string results
- // in a valid object creation
- new Boolean(nextEnvironmentProperty.getValue());
-
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Double")) {
-
- new Double(nextEnvironmentProperty.getValue());
-
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Character")
- && (nextEnvironmentProperty.getValue().length() == 1)) {
- char c = (nextEnvironmentProperty.getValue()).charAt(0);
- new Character(c);
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Byte")) {
- new Byte(nextEnvironmentProperty.getValue());
-
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Short")) {
- new Short(nextEnvironmentProperty.getValue());
-
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Long")) {
- new Long(nextEnvironmentProperty.getValue());
-
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Float")) {
- new Float(nextEnvironmentProperty.getValue());
-
- } else {
- return false;
- }
- } catch (Exception ex) {
- Verifier.debug(ex);
- return false;
- }
- return true;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbEnvEntryValueType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbEnvEntryValueType.java
deleted file mode 100755
index 1045f87..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbEnvEntryValueType.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-
-/**
- * The environment entry value type must be one of the following Java types:
- * String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- */
-public class EjbEnvEntryValueType extends EjbTest implements EjbCheck {
-
-
-
- /**
- * The environment entry value type must be one of the following Java types:
- * String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getEnvironmentProperties().isEmpty()) {
- // environment entry value type must be one of the following Java types:
- // String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- for (Iterator itr = descriptor.getEnvironmentProperties().iterator();
- itr.hasNext();) {
- EnvironmentProperty nextEnvironmentProperty =
- (EnvironmentProperty) itr.next();
- String envType = nextEnvironmentProperty.getType();
- if (!((envType.equals("java.lang.String")) ||
- (envType.equals("java.lang.Integer")) ||
- (envType.equals("java.lang.Boolean")) ||
- (envType.equals("java.lang.Double")) ||
- (envType.equals("java.lang.Byte")) ||
- (envType.equals("java.lang.Short")) ||
- (envType.equals("java.lang.Long")) ||
- (envType.equals("java.lang.Character")) ||
- (envType.equals("java.lang.Float")))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Environment entry value [ {0} ] does not have" +
- " valid value type [ {1} ] within bean [ {2} ]",
- new Object[] {nextEnvironmentProperty.getName(),envType, descriptor.getName()}));
- }
- }
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Environment entry value has valid value type"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbHasLocalorRemoteorBothInterfaces.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbHasLocalorRemoteorBothInterfaces.java
deleted file mode 100644
index bcc05ba..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbHasLocalorRemoteorBothInterfaces.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-
-/**
- * Bean interface type test.
- * The bean provider must provide either Local or Remote or Both interfaces
- *
- * @author Sheetal Vartak
- */
-public class EjbHasLocalorRemoteorBothInterfaces extends EjbTest implements EjbCheck {
-
- /**
- * Bean interface type test.
- * The bean provider must provide either Local or Remote or Both interfaces
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
- if ((descriptor.getRemoteClassName() == null || "".equals(descriptor.getRemoteClassName()))&&
- (descriptor.getLocalClassName() == null || "".equals(descriptor.getLocalClassName()))) {
-
- if (implementsEndpoints(descriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- return result;
- }
- else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Ejb [ {0} ] does not have local or remote interfaces",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
- }
- else {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Ejb [ {0} ] does have valid local and/or remote interfaces",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbLogicalName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbLogicalName.java
deleted file mode 100755
index f2b4ba9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbLogicalName.java
+++ /dev/null
@@ -1,62 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Enterprise bean's name test.
- * The Bean provider must assign a logical name to each enterprise bean in
- * the ejb-jar file.
- */
-public class EjbLogicalName extends EjbTest implements EjbCheck {
-
- /**
- * Enterprise bean's name test.
- * The Bean provider must assign a logical name to each enterprise bean in
- * the ejb-jar file.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- String ejbName = descriptor.getName();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (!ejbName.equals("")) {
- // as long as it's not blank, test should pass
- //result.passed("EJB logical name is : "+ejbName);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "EJB logical name is: [ {0} ]",
- new Object[] {ejbName}));
- } else {
- addErrorDetails(result, compName);
- // it's blank, test should not pass
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: EJB logical name cannot be blank."));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbNameNMTOKEN.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbNameNMTOKEN.java
deleted file mode 100755
index 3589bad..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbNameNMTOKEN.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.NameToken;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * The ejb-name must conform to the lexical rules for an NMTOKEN
- */
-public class EjbNameNMTOKEN extends EjbTest implements EjbCheck {
-
-
-
- /**
- * The ejb-name must conform to the lexical rules for an NMTOKEN
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- String ejbName = descriptor.getName();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // The ejb-name must conform to the lexical rules for an NMTOKEN
- if (!(NameToken.isNMTOKEN(ejbName))) {
- // it's bad, test should not pass
- addErrorDetails(result, compName);
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not conform to the lexical rules of NMTOKEN within bean [ {1} ]",
- new Object[] {ejbName, descriptor.getName()}));
- } else {
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] conforms to the lexical rules of NMTOKEN within bean [ {1} ]",
- new Object[] {ejbName, descriptor.getName()}));
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbNameUnique.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbNameUnique.java
deleted file mode 100755
index e29d6c6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbNameUnique.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-
-/**
- * The ejb-name must be unique amoung the names of the enterprise beans within
- * the same ejb-jar file.
- */
-public class EjbNameUnique extends EjbTest implements EjbCheck {
-
- /**
- * The ejb-name must be unique amoung the names of the enterprise beans within
- * the same ejb-jar file.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- String ejbName = descriptor.getName();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // initialize needed by ejb loop
- int found = 0;
-
- // The ejb-name must be unique amoung the names of the enterprise beans
- // within the same ejb-jar file.
- // i.e. need to loop through all ejb's within this jar and get their
- // respective ejbName's, then do a string compare and make sure their are
- // no duplicates.
- for (Iterator itr =descriptor.getEjbBundleDescriptor().getEjbs().iterator();
- itr.hasNext();) {
- EjbDescriptor ejbDescriptor = (EjbDescriptor) itr.next();
- if (ejbDescriptor.getName().equals(ejbName)) {
- found++;
- if (found > 1) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] has found [ {1} ] duplicate ejb name(s) within the same jar.",
- new Object[] {ejbName, new Integer((found - 1))}));
- }
- }
- }
-
- if (result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: [ {0} ] was found once within jar, ejb-name is unique.",
- new Object[] {ejbName}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbPublicID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbPublicID.java
deleted file mode 100644
index 51f6130..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbPublicID.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deploy.shared.FileArchive;
-import com.sun.enterprise.deployment.io.DescriptorConstants;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.io.BufferedReader;
-import java.io.IOException;
-import java.io.InputStream;
-import java.io.InputStreamReader;
-
-/**
- * Ejb PUBLIC identifier test
- * The ejb deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of an acceptable type
- */
-public class EjbPublicID extends EjbTest implements EjbCheck {
-
-
- /**
- * Ejb PUBLIC identifier test
- * The ejb deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
- *
- * @param descriptor the Ejb deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
-
- String acceptablePubidLiterals[] = {
- "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN",
- "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 2.0//EN" };
- String acceptableURLs[] = {"http://java.sun.com/j2ee/dtds/ejb-jar_1_1.dtd",
- "http://java.sun.com/dtd/ejb-jar_2_0.dtd"};
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // open the jar and read the XML deployment descriptor
- if (descriptor.getEjbBundleDescriptor().getSpecVersion().compareTo("2.1") < 0){
- InputStream deploymentEntry=null;
- String uri = null;
-
- try {
- uri = getAbstractArchiveUri(descriptor);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(DescriptorConstants.EJB_DD_ENTRY);
-
- if (deploymentEntry != null) {
- BufferedReader in = new BufferedReader(new InputStreamReader(deploymentEntry));
- String s = in.readLine();
- boolean foundDOCTYPE = false, foundPubid = false, foundURL = false;
-
- while(s != null) {
- // did we find the DOCTYPE entry?
- if(s.indexOf("DOCTYPE") > -1)
- foundDOCTYPE = true;
- if(foundDOCTYPE){
- for (int i=0;i<acceptablePubidLiterals.length;i++) {
- if (s.indexOf(acceptablePubidLiterals[i]) > -1) {
- foundPubid = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "The deployment descriptor has the proper PubidLiteral: {0}",
- new Object[] {acceptablePubidLiterals[i]}));
- }
- //check if the URLs match as well
- if (s.indexOf(acceptableURLs[i]) > -1) {
- foundURL = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "The deployment descriptor has the proper URL corresponding the the PubIdLiteral: {0}",
- new Object[] {acceptableURLs[i]}));
- }
- }
- }
- if(foundPubid && foundURL) {
- result.setStatus(Result.PASSED);
- break;
- } else if(foundDOCTYPE && s.endsWith(">")) break; // DOCTYPE doesn't have any more lines to check
- s = in.readLine();
- }
-
- if(!foundDOCTYPE){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No document type declaration found in the deployment descriptor for {0}",
- new Object[] {descriptor.getName()}));
- } else if(!foundPubid) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: The deployment descriptor for {0} does not have an expected PubidLiteral ",
- new Object[] {descriptor.getName()}));
- } else if (!foundURL){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor {0} doesnot have the right URL corresponding to the PubIdLiteral",
- new Object[] {descriptor.getName()}));
- }
- }
-
- } catch (IOException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".IOException",
- "Error: I/O error trying to open {0}", new Object[] {uri}));
- } finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
- }else{
- //NOT APPLICABLE
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT-APPLICABLE: No DOCTYPE found for [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbRefNamePrefixed.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbRefNamePrefixed.java
deleted file mode 100755
index 382ec81..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbRefNamePrefixed.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-
-/**
- * The ejb-ref-name element contains the name of an EJB reference. The EJB
- * reference is an entry in the enterprise bean's environment. It is
- * recommended that name is prefixed with "ejb/".
- */
-public class EjbRefNamePrefixed extends EjbTest implements EjbCheck {
-
- /**
- * The ejb-ref-name element contains the name of an EJB reference. The EJB
- * reference is an entry in the enterprise bean's environment. It is
- * recommended that name is prefixed with "ejb/".
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- String ejbRefName = nextEjbReference.getName();
- if (!ejbRefName.startsWith("ejb/")) {
- addWarningDetails(result, compName);
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: [ {0} ] is not prefixed with recommended string " +
- "ejb/ within bean [ {1} ]",
- new Object[] {ejbRefName,descriptor.getName()}));
- }
- }
- }
- if (result.getStatus() != Result.WARNING) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "ejb-ref-name is properly defined within bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbTest.java
deleted file mode 100644
index eda7647..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbTest.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-
-import com.sun.enterprise.deployment.BundleDescriptor;
-import com.sun.enterprise.deployment.WebServicesDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.util.io.FileUtils;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Superclass for all EJB tests, contains common services.
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class EjbTest extends VerifierTest implements VerifierCheck, EjbCheck
-{
- /**
- * <p>
- * run an individual test against the deployment descriptor for the
- * archive the verifier is performing compliance tests against.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor) {
-
- try {
- return check((EjbDescriptor) descriptor);
- }
- catch(Throwable t) {
- // Note : We assume that each test which loads a class
- // would have its own ClassNotFoundException block
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Result r = getInitializedResult();
-
- if (t instanceof java.lang.NoClassDefFoundError) {
-
- String s = t.toString();
- String className = s.substring(s.indexOf(":"));
-
- addWarningDetails(r, compName);
- r.warning(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.checkinclasspath",
- "The class [ {0} ] was not found, check manifest classpath, or make sure it is available in classpath at runtime.",
- new Object[] {className}));
- return r;
- }
- else
- throw new RuntimeException(t);
- }
- }
-
- /**
- * <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive file
- * @return result object containing the result of the individual test
- * performed
- */
- public abstract Result check(EjbDescriptor descriptor);
-
- /**
- * <p>
- * load the declared EJB class from the archive
- * </p>
- *
- * @param descriptor the deployment descriptors for the EJB
- * @param result result to use if the load fails
- * @return the class object for the EJB component
- */
- protected Class loadEjbClass(EjbDescriptor descriptor, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try {
- return Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.EjbTest.failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- return null;
- }
- }
-
- protected String getAbstractArchiveUri(EjbDescriptor desc) {
- String archBase = getVerifierContext().getAbstractArchive().
- getURI().toString();
- final ModuleDescriptor moduleDescriptor = desc.getEjbBundleDescriptor().
- getModuleDescriptor();
- if (moduleDescriptor.isStandalone()) {
- return archBase; // it must be a stand-alone module; no such physical dir exists
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(moduleDescriptor.getArchiveUri());
- }
- }
-
- public boolean implementsEndpoints(EjbDescriptor descriptor) {
-
- BundleDescriptor bdesc = descriptor.getEjbBundleDescriptor();
- if (bdesc.hasWebServices()) {
- WebServicesDescriptor wdesc = bdesc.getWebServices();
- if (wdesc.hasEndpointsImplementedBy(descriptor))
- return true;
- }
- return false;
- }
- public String getArchiveURI(EjbDescriptor desc){
-// if (Verifier.getEarFile()==null){
- return getAbstractArchiveUri(desc);
-/*
- }else{
- String uri = getVerifierContext().getStdAloneArchiveURI();
- String moduleName = desc.getEjbBundleDescriptor().
- getModuleDescriptor().getArchiveUri();
- String moduleDir = moduleName.replace('.', '_');
- uri=uri+File.separator+moduleDir;
- return uri;
-
- }
-*/
-
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbUtils.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbUtils.java
deleted file mode 100644
index b2038d6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/EjbUtils.java
+++ /dev/null
@@ -1,306 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Set;
-import java.util.Vector;
-
-/**
- * Exceptions checked for CreateException, FinderException, RemoteException
- * compliance test.
- *
- */
-public class EjbUtils {
-
-
-
- /**
- * The names of the fields in the primary key class must be a subset of the
- * names of the container-managed fields.
- * Verify the following:
- *
- * The primary key class field must be a subset of the names of the
- * container-managed fields.
- *
- * @param field the field to be checked for containment within the names of the
- * container-managed fields
- * @param CMPFields the Set of contianer managed fields
- *
- * @return <code>boolean</code> true if field is subset of CMP fields, false otherwise
- */
- public static boolean isFieldSubsetOfCMP(Field field, Set CMPFields) {
- if (CMPFields.contains(new FieldDescriptor(field))) {
- return true;
- } else {
- return false;
- }
- }
-
-
- /**
- * The names of the fields in the primary key class must correspond to the
- * field names of the entity bean class that comprise the key.
- * Verify the following:
- *
- * The primary key class field must correspond to the field names of the
- * entity bean class that comprise the key.
- *
- * @param field the field to be checked for matching bean field
- * @param beanFields the Set of contianer managed fields
- *
- * @return <code>boolean</code> true if field is subset of bean class fields, false otherwise
- */
- public static boolean isPKFieldMatchingBeanFields(Field field, Vector beanFields) {
-
- for (int i = 0; i < beanFields.size(); i++) {
- if (((FieldDescriptor)beanFields.elementAt(i)).getName().equals(field.getName())) {
- return true;
- } else {
- continue;
- }
- }
- // if you made it here, then field[] didn't contain field
- return false;
- }
-
-
- /**
- * Method exception jakarta.ejb.CreateException checked for compliance
- * test.
- *
- * Verify the following:
- *
- * The home/remote interface methods exception types must be legal types for
- * CreateException.
- * This means that their exception must throw jakarta.ejb.CreateException.
- *
- * @param methodExceptions the exceptions to be checked for throws
- * jakarta.ejb.CreateException
- *
- * @return <code>boolean</code> true if exceptions throw jakarta.ejb.CreateException, false otherwise
- */
- public static boolean isValidCreateException(Class [] methodExceptions) {
- // methods must throw jakarta.ejb.CreateException
- boolean throwsCreateException = false;
- for (int kk = 0; kk < methodExceptions.length; ++kk) {
- if ((methodExceptions[kk].getName().equals("jakarta.ejb.CreateException")) ||
- (methodExceptions[kk].getName().equals("CreateException"))) {
- throwsCreateException = true;
- break;
- }
- }
- return throwsCreateException;
-
- }
-
-
-
- /**
- * Method exception java.rmi.RemoteException checked for compliance
- * test.
- *
- * Verify the following:
- *
- * The home/remote interface methods exception types must be legal types for
- * RemoteException.
- * This means that their exception must throw java.rmi.RemoteException
- *
- * @param methodExceptions the exceptions to be checked for throws
- * java.rmi.RemoteException
- *
- * @return <code>boolean</code> true if exceptions throw java.rmi.RemoteException, false otherwise
- */
- public static boolean isValidRemoteException(Class [] methodExceptions) {
- // methods must throw java.rmi.RemoteException
- boolean throwsRemoteException = false;
- for (int kk = 0; kk < methodExceptions.length; ++kk) {
- if ((methodExceptions[kk].getName().equals("java.rmi.RemoteException")) ||
- (methodExceptions[kk].getName().equals("RemoteException"))) {
- throwsRemoteException = true;
- break;
- }
- }
- return throwsRemoteException;
-
- }
-
-
-
- /**
- * Method exception jakarta.ejb.ObjectNotFoundException checked for compliance
- * test.
- *
- * Verify the following:
- *
- * The ObjectNotFoundException is a subclass of FinderException. It is
- * thrown by the ejbFind<METHOD>(...) methods to indicate that the
- * requested entity object does not exist.
- *
- * Only single-object finders (see Subsection 9.1.8) may throw this
- * exception. Multi-object finders must not throw this exception.
- *
- * @param methodExceptions the exceptions to be checked for throws
- * jakarta.ejb.ObjectNotFoundException
- *
- * @return <code>boolean</code> true if exceptions throw jakarta.ejb.ObjectNotFoundException, false otherwise
- */
- public static boolean isValidObjectNotFoundExceptionException(Class [] methodExceptions) {
- // methods must throw jakarta.ejb.ObjectNotFoundException
- boolean throwsObjectNotFoundException = false;
- for (int kk = 0; kk < methodExceptions.length; ++kk) {
- if ((methodExceptions[kk].getName().equals("jakarta.ejb.ObjectNotFoundException")) ||
- (methodExceptions[kk].getName().equals("ObjectNotFoundException"))) {
- throwsObjectNotFoundException = true;
- break;
- }
- }
- return throwsObjectNotFoundException;
- }
-
-
-
-
- /**
- * Method exception jakarta.ejb.FinderException checked for compliance
- * test.
- *
- * Verify the following:
- *
- * The home/remote interface methods exception types must be legal types for
- * FinderException
- * This means that their exception must throw jakarta.ejb.FinderException
- *
- * @param methodExceptions the exceptions to be checked for throws
- * jakarta.ejb.FinderException
- *
- * @return <code>boolean</code> true if exceptions throw jakarta.ejb.FinderException, false otherwise
- */
- public static boolean isValidFinderException(Class [] methodExceptions) {
- // methods must throw jakarta.ejb.FinderException
- boolean throwsFinderException = false;
- for (int kk = 0; kk < methodExceptions.length; ++kk) {
- if ((methodExceptions[kk].getName().equals("jakarta.ejb.FinderException")) ||
- (methodExceptions[kk].getName().equals("FinderException"))) {
- throwsFinderException = true;
- break;
- }
- }
- return throwsFinderException;
-
- }
-
-
- /** Class checked for implementing java.io.Serializable interface test.
- * Verify the following:
- *
- * The class must implement the java.io.Serializable interface, either
- * directly or indirectly.
- *
- * @param serClass the class to be checked for Rmi-IIOP value type
- * compliance
- *
- * @return <code>boolean</code> true if class implements java.io.Serializable, false otherwise
- */
- public static boolean isValidSerializableType(Class serClass) {
-
- if (java.io.Serializable.class.isAssignableFrom(serClass))
- return true;
- else
- return false;
-
- /**
- // This complex logic is replaced by the above simple logic
- Class c = serClass;
- boolean validInterface = false;
- boolean badOne = false;
- // The class must implement the java.io.Serializable interface, either
- // directly or indirectly,
- // walk up the class tree
-
- if (c.getName().equals("java.io.Serializable")) {
- validInterface = true;
- return validInterface;
- }
- do {
- Class[] interfaces = c.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals("java.io.Serializable")) {
- validInterface = true;
- break;
- } else {
- // walk up the class tree of the interface and see if it
- // implements java.io.Serializable
- Class superClass = interfaces[i];
- do {
- if (superClass.getName().equals("java.io.Serializable")) {
- validInterface = true;
- break;
- }
- } while ((((superClass=superClass.getSuperclass()) != null) && (!validInterface)));
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validInterface)));
-
-
- if (validInterface) {
- return true;
- } else {
- return false;
- }
- **/
- }
-
-
-
- /**
- * Method application exception checked for compliance test.
- *
- * Verify the following:
- *
- * An application exception is an exception defined in the throws clause of
- * a method in the Bean's home interface, other than java.rmi.RemoteException.
- * An application exception must not be defined as a subclass of the
- * java.lang.RuntimeException, or of the java.rmi.RemoteException. These are
- * reserved for system exceptions.
- * The jakarta.ejb.CreateException, jakarta.ejb.RemoveException,
- * jakarta.ejb.FinderException, and subclasses thereof, are considered to be
- * application exceptions.
- *
- * @param methodExceptions the exceptions to be checked for throws
- * application exception
- *
- * @return <code>boolean</code> true if exceptions are valid application exception, false otherwise
- */
- public static boolean isValidApplicationException(Class [] methodExceptions) {
- for (int kk = 0; kk < methodExceptions.length; ++kk) {
- Class ex=methodExceptions[kk];
- //check 0: app exception set is all exceptions minus java.rmi.RemoteException.
- if (java.rmi.RemoteException.class != ex) {
- //check 1: app exception must subclass java.lang.Exception
- if (!java.lang.Exception.class.isAssignableFrom(ex)) return false;
- //check 2: app exception must not subclass java.lang.RuntimeException or java.rmi.RemoteException
- if(java.rmi.RemoteException.class.isAssignableFrom(ex) || java.lang.RuntimeException.class.isAssignableFrom(ex)) {
- return false;
- }
- }
- }
- return true;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/JarContainsXMLFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/JarContainsXMLFile.java
deleted file mode 100755
index fc15b77..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/JarContainsXMLFile.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deploy.shared.FileArchive;
-import com.sun.enterprise.deployment.io.DescriptorConstants;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.io.FileNotFoundException;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.jar.JarFile;
-
-/**
- * An ejb-jar file must contain the XML-based deployment descriptor. The
- * deployment descriptor must be name META-INF/ejb-jar.xml in the
- * JAR file.
- */
-public class JarContainsXMLFile extends EjbTest implements EjbCheck {
-
-
- /**
- * An ejb-jar file must contain the XML-based deployment descriptor. The
- * deployment descriptor must be name META-INF/ejb-jar.xml in the
- * JAR file.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
-
- // This test can not have a max-version set in xml file,
- // hence we must exclude this test based on platform version.
- if(getVerifierContext().getJavaEEVersion().
- compareTo(SpecVersionMapper.JavaEEVersion_5) >= 0) {
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
- }
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
- try {
-// File applicationJarFile = Verifier.getJarFile(descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri());
-// if (applicationJarFile == null) {
- String uri = getAbstractArchiveUri(descriptor);
- try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(
- DescriptorConstants.EJB_DD_ENTRY);
- }catch (IOException e) { throw e;}
-// }
-// else {
-// jarFile = new JarFile(applicationJarFile);
-// ZipEntry deploymentEntry1 = jarFile.getEntry((DescriptorConstants.EJB_DD_ENTRY).replace('\\','/'));
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
-
- if (deploymentEntry != null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Found deployment descriptor xml file [ {0} ]",
- new Object[] {DescriptorConstants.EJB_DD_ENTRY}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No deployment descriptor xml file found, looking for [ {0} ]",
- new Object[] {DescriptorConstants.EJB_DD_ENTRY}));
- }
- } catch (FileNotFoundException ex) {
- Verifier.debug(ex);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: File not found trying to read deployment descriptor file [ {0} ]",
- new Object[] {DescriptorConstants.EJB_DD_ENTRY}));
- } catch (IOException ex) {
- Verifier.debug(ex);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: IO Error trying to read deployment descriptor file [ {0} ]",
- new Object[] {DescriptorConstants.EJB_DD_ENTRY}));
- } finally {
- try {
- if (jarFile != null)
- jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/JarFileContainsProperEJBClasses.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/JarFileContainsProperEJBClasses.java
deleted file mode 100755
index 6c5e22b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/JarFileContainsProperEJBClasses.java
+++ /dev/null
@@ -1,131 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * ejb-jar file must contain the java class file of the enterprise bean
- * implementation class, and any of the classes that it depends on.
- */
-public class JarFileContainsProperEJBClasses extends EjbTest implements EjbCheck {
-
-
-
- /**
- * ejb-jar file must contain the java class file of the enterprise bean
- * implementation class, and any of the classes that it depends on.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try {
- VerifierTestContext context = getVerifierContext();
- Class c = Class.forName(descriptor.getEjbClassName(), false,
- getVerifierContext().getClassLoader());
- // if we are dealing with a CMP2 entity bean, the class is abstract..
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
- if (EjbCMPEntityDescriptor.CMP_1_1!=((EjbCMPEntityDescriptor) descriptor).getCMPVersion()) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Bean class [ {0} ] exists and it's supporting classes exist.",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
- }
- }
-
- try {
- c.newInstance();
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Bean class [ {0} ] exists and it's supporting classes exist.",
- new Object[] {descriptor.getEjbClassName()}));
- } catch (InstantiationException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Could not instantiate [ {0} ] within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- } catch (IllegalAccessException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Illegal Access while trying to instantiate [ {0} ] within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Can't find class [ {0} ] within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- } catch (Throwable t) {
- Verifier.debug(t);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "Not Applicable: [ {0} ] class encountered [ {1} ]. Cannot create instance of class [ {2} ] becuase [ {3} ] is not accessible within [ {4} ].",
- new Object[] {(descriptor).getEjbClassName(),t.toString(), descriptor.getEjbClassName(), t.getMessage(), descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/LocalInterfaceExposed.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/LocalInterfaceExposed.java
deleted file mode 100644
index ff36c38..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/LocalInterfaceExposed.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Local interface should not be exposed through remote interface
- *
- * @author Sheetal Vartak
- * @version
- */
-public class LocalInterfaceExposed extends EjbTest implements EjbCheck {
-
- /**
- * Bean interface type test.
- * The bean provider must provide either Local or Remote or Both interfaces
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName()+".notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
-
- EjbBundleDescriptorImpl bundle = descriptor.getEjbBundleDescriptor();
- Iterator<EjbDescriptor> iterator = (bundle.getEjbs()).iterator();
- Set<String> localInterfaces = new HashSet<String>();
- while(iterator.hasNext()) {
- EjbDescriptor entity = iterator.next();
- if (entity.getLocalClassName() != null)
- localInterfaces.add(entity.getLocalClassName());
- localInterfaces.addAll(entity.getLocalBusinessClassNames());
- }
- ClassLoader jcl = getVerifierContext().getClassLoader();
- try {
- Set<String> remoteInterfaces = new HashSet<String>();
- if(descriptor.getRemoteClassName()!=null)
- remoteInterfaces.add(descriptor.getRemoteClassName());
- remoteInterfaces.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String intf : remoteInterfaces) {
- Class c = Class.forName(intf, false, getVerifierContext().getClassLoader());
- Method[] methods = c.getDeclaredMethods();
- for(int i=0; i<methods.length; i++) {
- //check all the local interfaces in the ejb bundle
- for(Iterator itr = localInterfaces.iterator();itr.hasNext();) {
- String localIntf = (String) itr.next();
- Class returnType = methods[i].getReturnType();
- if((getBaseComponentType(returnType).getName()).equals(localIntf) ||
- (contains(methods[i].getParameterTypes(), localIntf))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error : Local Interface [ {0} ] has been " +
- "exposed in remote interface [ {1} ]",
- new Object[] {localIntf, c.getName()}));
- return result;
- }
- }
- }
- }
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid Remote interface."));
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getRemoteClassName()}));
- }
- return result;
- }
- /** returns true if intf is contained in this args array */
- private boolean contains(Class[] args, String intf) {
- for (int i = 0; i < args.length; i++)
- if(getBaseComponentType(args[i]).getName().equals(intf))
- return true;
-
- return false;
- }
-
- /** This api recursively looks for class.getComponentType. This handles
- * cases where array of arrays are used. */
- private Class getBaseComponentType(Class cls) {
- if(!cls.isArray())
- return cls;
- return getBaseComponentType(cls.getComponentType());
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/MethodPermissionComponentInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/MethodPermissionComponentInterface.java
deleted file mode 100644
index 1e4f8b7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/MethodPermissionComponentInterface.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Session Bean transaction demarcation type for all methods of remote
- * interface test.
- * The transaction attributes must be specified for the methods defined
- * in the bean's remote interface and all the direct and indirect
- * superinterfaces of the remote interface, excluding the methods of
- * the jakarta.ejb.EJBObject interface.
- */
-public class MethodPermissionComponentInterface extends EjbTest implements EjbCheck {
- Result result = null;
-
- /**
- * All methods should have a
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
-// boolean oneFailed = false;
-
- try {
- if (descriptor instanceof EjbSessionDescriptor || descriptor instanceof EjbEntityDescriptor) {
-
- Set methods = descriptor.getMethodDescriptors();
-// Set methodPermissions = new HashSet();
- boolean noPermissions = false;
-
- for (Iterator i = methods.iterator(); i.hasNext();) {
- MethodDescriptor md = (MethodDescriptor) i.next();
- Set permissions = descriptor.getMethodPermissionsFor(md);
- if (permissions.isEmpty() || (permissions == null)) {
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Warning: Method [ {0} ] of EJB [ {1} ] does not have assigned security-permissions",
- new Object[] {md.getName(), descriptor.getName()}));
- result.setStatus(result.WARNING);
- noPermissions = true;
- }
- }
-
- if (!noPermissions) {
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: All [ {0} ]EJB interfaces methods have security-permissions assigned.",
- new Object[] {descriptor.getName()}));
- }
-
- } else {
- result.notApplicable(smh.getLocalString(
- getClass().getName() + ".notApplicable",
- "The bean [ {0} ] is neither a Session nor Entity Bean",
- new Object[] {descriptor.getName()}));
- return result;
- }
- } catch (Exception e) {
- result.failed(smh.getLocalString(
- getClass().getName() + ".exception",
- "The test generated the following exception [ {0} ]",
- new Object[] {e.getLocalizedMessage()}));
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/MethodUtils.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/MethodUtils.java
deleted file mode 100644
index f06f2ff..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/MethodUtils.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import java.util.*;
-import java.lang.reflect.*;
-
-/**
- * Utility package for dealing with method descriptors from <method-permission>
- * element and <container-transaction> elements
- */
-public class MethodUtils {
-
- /**
- * Add method name to vector
- *
- * @param v Vector to be added to
- * @param methods array of methods to be added to vector
- *
- */
- public static void addMethodNamesToVector(Vector<String> v, Method[] methods) {
- for (int i=0; i< methods.length; i++) {
- // add method name to vector
- v.addElement(methods[i].getName());
- }
- }
-
- /**
- * Determine is method parameters are equal.
- *
- * @param v Vector to be added to
- * @param hMethods array of home interface methods to be added to vector
- * @param rMethods array of remote interface methods to be added to vector
- *
- */
- public static void addMethodNamesToVector(Vector<String> v, Method[] hMethods, Method[] rMethods) {
- // add method names to vector for both home and remote interfaces
- addMethodNamesToVector(v,hMethods);
- addMethodNamesToVector(v,rMethods);
- }
-
-
- /**
- * Determine is method parameters are equal.
- *
- * @param s1 array of parameters for method
- * @param s2 array of parameters for method
- *
- * @return <code>boolean</code> the results for this parameter equality test
- */
- public static boolean stringArrayEquals(String[] s1, String[] s2) {
- if (s1 == null && s2 == null) {
- return true;
- }
- if (s1 == null && s2 != null) {
- return false;
- }
- if (s2 == null && s1 != null) {
- return false;
- }
- if (s1.length == s2.length) {
- for (int i = 0; i < s1.length; i++) {
- if (!s1[i].equals(s2[i])) {
- return false;
- }
- }
- return true;
- } else {
- return false;
- }
- }
-
- /** returns true if method names, return types and parameters match. Otherwise
- * it returns false. */
- public static boolean methodEquals(Method classMethod, Method intfMethod) {
- return classMethod.getName().equals(intfMethod.getName()) &&
- intfMethod.getReturnType().isAssignableFrom(classMethod.getReturnType()) &&
- Arrays.equals(classMethod.getParameterTypes(), intfMethod.getParameterTypes());
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/RmiIIOPUtils.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/RmiIIOPUtils.java
deleted file mode 100755
index da1dde4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/RmiIIOPUtils.java
+++ /dev/null
@@ -1,929 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import java.lang.reflect.*;
-import java.util.*;
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.*;
-import java.lang.ClassLoader;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-
-/**
- * Interface, parameters, return type, and exceptions checked for RMI-IIOP
- * compliance test.
- *
- */
-public class RmiIIOPUtils {
-
-
-
- /**
- * Interface checked for RMI-IIOP compliance test.
- * Verify the following:
- *
- * The remote interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote
- * interfaces.
- *
- * Verify the following:
- *
- * An RMI remote interface defines a Java interface that can be invoked
- * remotely. A Java interface is a conforming RMI/IDL remote interface if:
- *
- * 1. The interface is or inherits from java.rmi.Remote either directly or
- * indirectly.
- *
- * 2. All methods in the interface are defined to throw
- * java.rmi.RemoteException or a superclass of java.rmi.RemoteException.
- * Throughout this section, references to methods in the interface include
- * methods in any inherited interfaces.
- *
- * 3. Method arguments and results may be of any types. However at run-time,
- * the actual values passed as arguments or returned as results must be
- * conforming RMI/IDL types (see "Overview of Conforming RMI/IDL Types" on
- * page 28-2). In addition, for each RMI/IDL remote interface reference,
- * the actual value passed or returned must be either a stub object or a
- * remote interface implementation object (see "Stubs and remote
- * implementation classes" on page 28-4).
- *
- * 4. All checked exception classes used in method declarations (other than
- * java.rmi.RemoteException and its subclasses) are conforming RMI/IDL
- * exception types (see "RMI/IDL Exception Types" on page 28-5)1
- *
- * 5. Method names may be overloaded. However, when an interface directly
- * inherits from several base interfaces, it is forbidden for there to be
- * method name conflicts between the inherited interfaces. This outlaws the
- * case where an interface A defines a method "foo," an interface B also
- * defines a method "foo," and an interface C tries to inherit from both A
- * and B.
- *
- * 6. Constant definitions in the form of interface variables are permitted.
- * The constant value must be a compile-time constant of one of the RMI/IDL
- * primitive types or String.
- *
- * 7. Method and constant names must not cause name collisions when mapped to
- * IDL (see "Names that would cause OMG IDL name collisions" on page 28-9).
- *
- * The following is an example of a conforming RMI/IDL interface definition:
- * // Java
- * public interface Wombat extends java.rmi.Remote {
- * String BLEAT_CONSTANT = "bleat";
- * boolean bleat(Wombat other) throws java.rmi.RemoteException;
- * }
- *
- * While the following is an example of a non-conforming RMI/IDL interface:
- * // Java
- * // IllegalInterface fails to extend Remote!!
- * public interface IllegalInterface {
- * // illegalExceptions fails to throw RemoteException.
- * void illegalExceptions();
- * }
- *
- * @param RMIIIOPinterface the Interface to be checked for Rmi-IIOP compliance
- *
- * @return <code>boolean</code> true if RMIIIOPinterface is valid RMIIIOP interface, false otherwise
- */
- public static boolean isValidRmiIIOPInterface(Class RMIIIOPinterface) {
-
- // 1. The interface is or inherits from java.rmi.Remote either directly or
- // indirectly.
- boolean validInterface = false;
- Class c = RMIIIOPinterface;
- // walk up the class tree
- do {
- if (RMIIIOPinterface.getName().equals("java.rmi.Remote")) {
- validInterface = true;
- break;
- } else {
- // walk up the class tree of the interface and see if it
- // inherits from java.rmi.Remote either directly or indirectly.
- Class[] interfaces = RMIIIOPinterface.getInterfaces();
- //Class interfaces = RMIIIOPinterface.getSuperclass();
- for (int i = 0; i < interfaces.length; i++) {
-
- //if (interfaces[i].getName().equals("java.rmi.Remote")) {
- if ((interfaces[i].getName().equals("java.rmi.Remote")) ||
- //hack until i can ask hans why loop doesn't continue up past
- // jakarta.ejb.EJBHome
- (interfaces[i].getName().equals("jakarta.ejb.EJBObject")) ||
- (interfaces[i].getName().equals("jakarta.ejb.EJBHome"))) {
- validInterface = true;
- break;
- }
- else if (isValidRmiIIOPInterface(interfaces[i])) {
- return true;
- }
- }
- }
- } while ((((RMIIIOPinterface=RMIIIOPinterface.getSuperclass()) != null) && (!validInterface)));
-
- if (validInterface) {
- return true;
- } else {
- return false;
- }
- }
-
-
-
-
-
- /**
- * Interface checked for RMI-IIOP compliance test.
- *
- * @param RMIIIOPinterface the Interface to be checked for Rmi-IIOP compliance
- *
- * @return <code>boolean</code> true if RMIIIOPinterface is valid RMIIIOP interface, false otherwise
- */
- public static boolean isValidRmiIIOPInterfaceMethods(Class RMIIIOPinterface) {
-
- Class c = RMIIIOPinterface;
- // continue on and check next condition
-
- // All methods in the interface are defined to throw
- // java.rmi.RemoteException or a superclass of java.rmi.RemoteException.
- // Throughout this section, references to methods in the interface include
- // methods in any inherited interfaces.
- try {
- Method methods[] = c.getDeclaredMethods();
- Class [] methodExceptionTypes;
- for (int i=0; i< methods.length; i++) {
- // The methods exceptions types must be legal types for
- // RMI-IIOP. This means that their exception values must
- // throw java.rmi.RemoteException
- methodExceptionTypes = methods[i].getExceptionTypes();
- if (!EjbUtils.isValidRemoteException(methodExceptionTypes)) {
- return false;
- } else {
- continue;
- }
- }
-
- // made it throw all methods thowing java.rmi.RemoteException check,
- // without returning false, continue on...
-
- // Method arguments and results may be of any types. However at run-time,
- // the actual values passed as arguments or returned as results must be
- // conforming RMI/IDL types (see "Overview of Conforming RMI/IDL Types" on
- // page 28-2).
- // can't check anything here, since this is a run-time check
-
- // All checked exception classes used in method declarations (other than
- // java.rmi.RemoteException and its subclasses) are conforming RMI/IDL
- // exception types (see "RMI/IDL Exception Types" on page 28-5)1
- for (int i=0; i < methods.length; i++) {
- methodExceptionTypes = methods[i].getExceptionTypes();
- if (!isValidRmiIIOPException(methodExceptionTypes)) {
- return false;
- } else {
- continue;
- }
- }
-
- // Method names may be overloaded. However, when an interface directly
- //inherits from several base interfaces, it is forbidden for there to be
- //method name conflicts between the inherited interfaces. This outlaws the
- //case where an interface A defines a method "foo," an interface B also
- //defines a method "foo," and an interface C tries to inherit from both A
- //and B.
- // can't check anything here, since this is check cannot be determined
- // thru reflection api checking
-
- // Constant definitions in the form of interface variables are permitted.
- //The constant value must be a compile-time constant of one of the RMI/IDL
- // primitive types or String.
-
- Field fields[] = c.getFields();
- for (int i=0; i< fields.length; i++) {
- // The fields types must be a compile-time constant of one of the
- // RMI/IDL primitive types or String
- if (!(isValidRmiIIOPField(fields[i]))) {
- return false;
- } else {
- continue;
- }
- }
-
- // Method and constant names must not cause name collisions when mapped to
- // IDL (see "Names that would cause OMG IDL name collisions" on page 28-9)
- // can't check anything here, since this is an non-exhaustive search and
- // compare, don't know all the various combinations that would cause
- // name collisions,
- } catch (Throwable t) {
- Verifier.debug(t);
- return false;
- }
- return true;
- }
-
- /**
- * Method parameters checked for RMI-IIOP compliance test.
- * Verify the following:
- *
- * The home/remote interface methods arguments types must be legal types for
- * RMI-IIOP. This includes primitives, value types, and interfaces. This
- * means that their arguments must be of valid types for RMI-IIOP.
- *
- * 28.2.4 RMI/IDL Value Types
- * An RMI/IDL value type represents a class whose values can be moved
- * between systems. So rather than transmitting a reference between systems,
- * the actual state of the object is transmitted between systems. This
- * requires that the receiving system have an analogous class that can be
- * used to hold the received value. Value types may be passed as arguments
- * or results of remote methods, or as fields within other objects that are
- * passed remotely. A Java class is a conforming RMI/IDL value type if the
- * following applies:
- *
- * 1. The class must implement the java.io.Serializable interface, either
- * directly or indirectly, and must be serializable at run-time. It may
- * serialize references to other RMI/IDL types, including value types
- * and remote interfaces.
- * 2. The class may implement java.io.Externalizable. (This indicates it
- * overrides some of the standard serialization machinery.)
- * 3. If the class is a non-static inner class, then its containing class
- * must also be a conforming RMI/IDL value type.
- * 4. A value type must not either directly or indirectly implement the
- * java.rmi.Remote interface. (If this were allowed, then there would
- * be potential confusion between value types and remote interface
- * references.)
- * 5. A value type may implement any interface except for java.rmi.Remote.
- * 6. There are no restrictions on the method signatures for a value type.
- * 7. There are no restrictions on static fields for a value type.
- * 8. There are no restrictions on transient fields for a value type.
- * 9. Method, constant and field names must not cause name collisions when
- * mapped to IDL (see "Names that would cause OMG IDL name collisions"
- * on page 28-9).
- *
- * Here is an example of a conforming RMI/IDL value type:
- * // Java
- * public class Point implements java.io.Serializable {
- * public final static int CONSTANT_FOO = 3+3;
- * private int x;
- * private int y;
- * public Point(int x, y) { ... }
- * public int getX() { ... }
- * public int getY() { ... }
- * }
- *
- * 28.2.4.1 The Java String Type
- * The java.lang.String class is a conforming RMI/IDL value type following
- * these rules. Note, however, that String is handled specially when mapping
- * Java to OMG IDL (see "Mapping for java.lang.String" on page 28-18).
- *
- * @param RMIIIOPparams the params to be checked for Rmi-IIOP compliance
- *
- * @return <code>boolean</code> true if RMIIIOPParams are valid RMIIIOP parameters, false otherwise
- */
- public static boolean isValidRmiIIOPParameters(Class [] RMIIIOPparams) {
- if (RMIIIOPparams.length > 0) {
- for (int ii = 0; ii < RMIIIOPparams.length; ii++) {
- Class c = RMIIIOPparams[ii];
-
- // if it's not a primitve, or
- // if it's not a valid rmi-idl type, or
- // if it's not java.lang.String, return false
- if (!(isValidRmiIDLPrimitiveType(c)) &&
- !(isValidRmiIIOPValueType(c)) &&
- !(isValidRmiIIOPInterfaceType(c)) &&
- !(isJavaLangStringType(c)) &&
- !(isValidRmiIIOPException(RMIIIOPparams)) &&
- !(c.getName().equals("java.lang.Object")) &&
- !(isValidRmiIIOPCORBAObjectType(c)) &&
- !(isValidRmiIIOPIDLEntityType(c))) {
- //exception,corba object,array,idl entity type
- return false;
- }
- }
- // if you made it thru loop without returning false, then you
- // passed the tests, return true
- return true;
- } else {
- return true;
- }
- }
-
-
- /**
- * Class checked for RMI-IIOP value type compliance test.
- * Verify the following:
- *
- * This class is proper CORBA Object type.
- *
- * @param RMIIIOPvaluetype the class to be checked
- *
- * @return <code>boolean</code> true if RMIIIOPvaluetype is valid Rmi-IIOP value type, false otherwise
- */
- public static boolean isValidRmiIIOPCORBAObjectType(Class RMIIIOPvaluetype) {
-
- Class c = RMIIIOPvaluetype;
- boolean validInterface = false;
-
- do {
- Class[] interfaces = c.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals("org.omg.CORBA.Object")) {
- validInterface = true;
- break;
- } else {
- // walk up the class tree of the interface and see if it
- // implements org.omg.CORBA.Object
- Class superClass = interfaces[i];
- do {
- if (superClass.getName().equals("org.omg.CORBA.Object")) {
- validInterface = true;
- break;
- }
- } while ((((superClass=superClass.getSuperclass()) != null) && (!validInterface)));
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validInterface)));
- if (!validInterface) {
- return false;
- } else {
- return true;
- }
- }
-
- /**
- * Class checked for RMI-IIOP value type compliance test.
- * Verify the following:
- *
- * This class is proper Java IDL Entity type.
- *
- * @param RMIIIOPvaluetype the class to be checked
- *
- * @return <code>boolean</code> true if RMIIIOPvaluetype is valid Rmi-IIOP value type, false otherwise
- */
- public static boolean isValidRmiIIOPIDLEntityType(Class RMIIIOPvaluetype) {
-
- Class c = RMIIIOPvaluetype;
- boolean validInterface = false;
-
- do {
- Class[] interfaces = c.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals("org.omg.CORBA.portable.IDLEntity")) {
- validInterface = true;
- break;
- } else {
- // walk up the class tree of the interface and see if it
- // implements java.io.Serializable
- Class superClass = interfaces[i];
- do {
- if (superClass.getName().equals("org.omg.CORBA.portable.IDLEntity")) {
- validInterface = true;
- break;
- }
- } while ((((superClass=superClass.getSuperclass()) != null) && (!validInterface)));
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validInterface)));
- if (!validInterface) {
- return false;
- } else {
- return true;
- }
- }
-
- /**
- * Class checked for RMI-IIOP value type compliance test.
- * Verify the following:
- *
- * This class s proper value types.
- *
- * @param RMIIIOPvaluetype the class to be checked for Rmi-IIOP value type
- * compliance
- *
- * @return <code>boolean</code> true if RMIIIOPvaluetype is valid Rmi-IIOP value type, false otherwise
- */
- public static boolean isValidRmiIIOPValueType(Class RMIIIOPvaluetype) {
-
- Class c = RMIIIOPvaluetype;
- boolean validInterface = false;
- boolean badOne = false;
- // The class must implement the java.io.Serializable interface, either
- // directly or indirectly, and must be serializable at run-time. It may
- // serialize references to other RMI/IDL types, including value types
- // and remote interfaces.
- // walk up the class tree
- if (c.getName().equals("java.lang.Object")) {
- //validInterface = true;
- return true;
- }
- /* Buggy Code
- do {
- Class[] interfaces = c.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals("java.io.Serializable")) {
- validInterface = true;
- break;
- } else {
- // walk up the class tree of the interface and see if it
- // implements java.io.Serializable
- Class superClass = interfaces[i];
- do {
- if (superClass.getName().equals("java.io.Serializable")) {
- validInterface = true;
- break;
- }
- } while ((((superClass=superClass.getSuperclass()) != null) && (validInterface == false)));
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (validInterface == false)));
- */
- validInterface = java.io.Serializable.class.isAssignableFrom(c);
-
- if (validInterface == false) {
- return false;
- } else {
- // 2. The class may implement java.io.Externalizable. (This indicates it
- // overrides some of the standard serialization machinery.)
- // nothing to check for here, since the keyword is "may implement"
-
-
- // 3. If the class is a non-static inner class, then its containing class
- // must also be a conforming RMI/IDL value type.
- // don't know if this can be checked statically
-
- // reset class c since it may have gotten moved in the above do/while loop
- /* Buggy Code
- c = RMIIIOPvaluetype;
-
- do {
- Class[] interfaces = c.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals("java.rmi.Remote")) {
- badOne = true;
- break;
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!badOne)));
- */
-
- badOne = java.rmi.Remote.class.isAssignableFrom(c);
-
- if (badOne) {
- return false;
- }
-
- // 5. A value type may implement any interface except for java.rmi.Remote.
- // already checked this in step #4 above
-
- // 6. There are no restrictions on the method signatures for a value type.
- // 7. There are no restrictions on static fields for a value type.
- // 8. There are no restrictions on transient fields for a value type.
- // no checking need be done for these 6, 7, & 8
-
- // 9. Method, constant and field names must not cause name collisions when
- // mapped to IDL (see "Names that would cause OMG IDL name collisions"
- // on page 28-9).
- // can't check anything here, since this is an non-exhaustive search and
- // compare, don't know all the various combinations that would cause
- // name collisions, ask hans to be sure
- return true;
-
- }
- }
-
-
- /**
- * Constant definitions in the form of interface variables are permitted test.
- * The constant value must be a compile-time constant of one of the RMI/IDL
- * primitive types or String.
- *
- * Verify the following:
- *
- * The home/remote interface field types must be legal types for
- * RMI-IIOP.
- * This means that the constant value must be a compile-time constant
- * of one of the RMI/IDL primitive types or String.
- *
- * @param RMIIIOPField the field to be checked for Rmi-IIOP compile-time
- * constant of one of the RMI/IDL primitive types or String
- *
- * @return <code>boolean</code> true if RMIIIOPField is valid Rmi-IIOP type, false otherwise
- */
- public static boolean isValidRmiIIOPField(Field RMIIIOPField) {
- boolean validPrimitiveType = false;
- if ((isValidRmiIDLPrimitiveType(RMIIIOPField)) ||
- (RMIIIOPField.getType().equals(java.lang.String.class))) {
- validPrimitiveType = true;
- }
- return validPrimitiveType;
- }
-
-
-
- /**
- * Constant definitions in the form of interface variables are permitted test.
- * The constant value must be a compile-time constant of one of the RMI/IDL
- * primitive types .
- *
- * Verify the following:
- *
- * The home/remote interface field types must be legal types for
- * RMI-IIOP.
- * This means that the constant value must be a compile-time constant
- * of one of the RMI/IDL primitive types .
- *
- * @param RMIIIOPField the field to be checked for Rmi-IIOP compile-time
- * constant of one of the RMI/IDL primitive types or String
- *
- * @return <code>boolean</code> true if RMIIIOPField is valid compile-time constant of
- * one of the RMI/IDL primitive types, false otherwise
- */
- public static boolean isValidRmiIDLPrimitiveType(Field RMIIIOPField) {
- boolean validPrimitiveType = false;
- if ((RMIIIOPField.getType().getName().equals("void")) ||
- (RMIIIOPField.getType().getName().equals("boolean")) ||
- (RMIIIOPField.getType().getName().equals("byte")) ||
- (RMIIIOPField.getType().getName().equals("char")) ||
- (RMIIIOPField.getType().getName().equals("short")) ||
- (RMIIIOPField.getType().getName().equals("int")) ||
- (RMIIIOPField.getType().getName().equals("long")) ||
- (RMIIIOPField.getType().getName().equals("float")) ||
- (RMIIIOPField.getType().getName().equals("double"))) {
- validPrimitiveType = true;
- }
- return validPrimitiveType;
- }
-
-
- /** Class is interface test.
- * The class value must be a java interface type .
- *
- * Verify the following:
- *
- * The home/remote interface method params types must be legal types for
- * RMI-IIOP.
- * The class value must be a java interface type .
- *
- * @param interfaceClass the class to be checked for java interface class
- *
- * @return <code>boolean</code> true if interfaceClass is legal types for
- * RMI-IIOP. false otherwise
- */
- private static boolean isValidRmiIIOPInterfaceType(Class interfaceClass) {
- if (interfaceClass.isInterface()) {
- return true;
- } else {
- return false;
- }
- }
-
-
- /** Class is primitve test.
- * The class value must be a java primitive type .
- *
- * Verify the following:
- *
- * The home/remote interface method params types must be legal types for
- * RMI-IIOP.
- * The class value must be a java primitive type .
- *
- * @param primitiveClass the class to be checked for java primitive class
- *
- * @return <code>boolean</code> true if primitiveClass is legal Java primitive type, false otherwise
- */
- public static boolean isValidRmiIDLPrimitiveType(Class primitiveClass) {
- boolean validPrimitiveType = false;
- if ((primitiveClass.getName().equals("void")) ||
- (primitiveClass.getName().equals("boolean")) ||
- (primitiveClass.getName().equals("byte")) ||
- (primitiveClass.getName().equals("char")) ||
- (primitiveClass.getName().equals("short")) ||
- (primitiveClass.getName().equals("int")) ||
- (primitiveClass.getName().equals("long")) ||
- (primitiveClass.getName().equals("float")) ||
- (primitiveClass.getName().equals("double"))) {
- validPrimitiveType = true;
- }
- return validPrimitiveType;
- }
-
-
- /**
- * Class is java.lang.String test.
- * The class value may be java.lang.String type .
- *
- * Verify the following:
- *
- * The home/remote interface method params types must be legal types for
- * RMI-IIOP.
- * The class value may be java.lang.String type .
- *
- * @param jlsClass the class to be checked for java primitive class
- *
- * @return <code>boolean</code> true if jlsClass is java.lang.String type, false otherwise
- */
- public static boolean isJavaLangStringType(Class jlsClass) {
- boolean validJlsType = false;
- if (jlsClass.getName().equals("java.lang.String")) {
- validJlsType = true;
- }
- return validJlsType;
- }
-
- /**
- * Method exception checked for RMI-IIOP compliance test.
- * Verify the following:
- *
- * The home/remote interface methods exception types must be legal types for
- * RMI-IIOP. This includes primitives, value types, and interfaces.
- * This means that their exception must throw java.rmi.RemoteException.
- *
- * 28.2.6 RMI/IDL Exception Types An RMI/IDL exception type is a checked
- * exception class (as defined by the Java Language Specification). Since
- * checked exception classes extend java.lang.Throwable which implements
- * java.io.Serializable, it is unnecessary for an RMI/IDL exception class to
- * directly implement java.io.Serializable. A type is a conforming RMI/IDL
- * exception if the class:
- * - is a checked exception class.
- * - meets the requirements for RMI/IDL value types defined in
- * "RMI/IDL Value Types" on page 28-4.
- *
- * @param RMIIIOPexceptions the exceptions to be checked for Rmi-IIOP throws
- * java.rmi.RemoteException
- *
- * @return <code>boolean</code> true if RMIIIOPexceptions are legal type for RMI-IIOP, false otherwise
- */
- public static boolean isValidRmiIIOPException(Class [] RMIIIOPexceptions) {
- // methods must throw java.rmi.RemoteException
- boolean throwsRemoteException = false;
- for (int kk = 0; kk < RMIIIOPexceptions.length; ++kk) {
- if ((RMIIIOPexceptions[kk].getName().equals("java.rmi.RemoteException")) ||
- (RMIIIOPexceptions[kk].getName().equals("RemoteException"))) {
- throwsRemoteException = true;
- break;
- }
- }
- return throwsRemoteException;
- }
-
- /**
- * Method return type checked for RMI-IIOP compliance test.
- * Verify the following:
- *
- * The home/remote interface methods return type must be legal types for
- * RMI-IIOP. This includes primitives, value types, and interfaces.
- * This means that their return type must be of valid types for RMI-IIOP.
- *
- * @param RMIIIOPparams the return type to be checked for Rmi-IIOP compliance
- *
- * @return <code>boolean</code> true if RMIIIOPReturnType is legal type for RMI-IIOP, false otherwise
- */
- public static boolean isValidRmiIIOPReturnType(Class RMIIIOPReturnType) {
- // if it's not a primitve, or
- // if it's not a valid rmi-idl type, or
- // if it's not java.lang.String, return false
- if (!((isValidRmiIDLPrimitiveType(RMIIIOPReturnType)) ||
- (isValidRmiIIOPValueType(RMIIIOPReturnType)) ||
- (isValidRmiIIOPInterfaceType(RMIIIOPReturnType)) ||
- (isJavaLangStringType(RMIIIOPReturnType)) ||
- //(isValidRmiIIOPException(RMIIIOPparams)) ||
- (isValidRmiIIOPCORBAObjectType(RMIIIOPReturnType)) ||
- (RMIIIOPReturnType.getName().equals("java.lang.Object")) ||
- (isValidRmiIIOPIDLEntityType(RMIIIOPReturnType)))) {
- return false;
- } else {
- return true;
- }
- }
-
-
- /**
- * Class checked for Serializable value type compliance test.
- * Verify the following:
- *
- * This class is a serializable class.
- *
- * @param serializableClass the class to be checked for serializable
- * compliance
- *
- * @return <code>boolean</code> true if c is a serializable class, false otherwise
- */
- public static boolean isValidSerializableType(Class c) {
-
- return java.io.Serializable.class.isAssignableFrom(c);
-
- /* Buggy Code
- boolean validInterface = false;
-
- if (c.getName().equals("java.io.Serializable")) {
- validInterface = true;
- return validInterface;
- }
- do {
- Class[] interfaces = c.getInterfaces();
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals("java.io.Serializable")) {
- validInterface = true;
- break;
- } else {
- // walk up the class tree of the interface and see if it
- // implements java.io.Serializable
- Class superClass = interfaces[i];
- do {
- if (superClass.getName().equals("java.io.Serializable")) {
- validInterface = true;
- break;
- }
- } while ((((superClass=superClass.getSuperclass()) != null) && (!validInterface)));
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validInterface)));
-
- // The class must implement the java.io.Serializable interface, either
- // directly or indirectly, and must be serializable at run-time.
- // walk up the class tree
-
- if (!validInterface) {
- return false;
- } else {
- return true;
- }
- */
- }
-
-
- /**
- * Container managed fields checked for one of the following:
- * Java primitive types, Java serializable types, or references to
- * enterprise beans' remote or home interfaces.
- *
- * Verify the following:
- *
- * Container managed fields checked for one of the following:
- * Java primitive types, Java serializable types, or references to
- * enterprise beans' remote or home interfaces.
- *
- * All the standard Java primitive types are supported as part of RMI/IDL.
- * These are: void, boolean, byte, char, short, int, long, float, double
- *
- * @param CmpField params to be checked for CmpField valid type compliance
- * @param HomeClass home class
- * @param RemoteClass remote class
- *
- * @return <code>boolean</code> true if CmpField is Java primitive type,
- * Java serializable types, or references to
- * enterprise beans' remote or home interfaces.,
- * false otherwise
- */
- public static boolean isPersistentFieldTypeValid(Class CmpField, String HomeClass, String RemoteClass) {
- // if Java primitive types, Java serializable types, or references to
- // enterprise beans' remote or home interfaces.
- if (!((isValidRmiIDLPrimitiveType(CmpField)) ||
- (isValidSerializableType(CmpField)) ||
- (CmpField.getName().equals(HomeClass)) ||
- (CmpField.getName().equals(RemoteClass)))) {
- return false;
- } else {
- return true;
- }
-
- }
-
-
- /**
- * The ejbFind<METHOD> exceptions of Bean clas smust be a subset of the names
- * of the exceptions defined in the throws clause of the matching find method
- * of the home interface.
- *
- * Verify the following:
- *
- * All the exceptions defined in the throws clause of the
- * matching ejbFind method of the
- * enterprise Bean class must be included in the throws
- * clause of the matching find method of the home interface
- * this home interface find method must define a superset of all the
- * exceptions thrown in the ejbFind method of the bean class
- * so there may not be a 1-1 mapping of exceptions
- * also, for all ejbFind/find combo's any unchecked
- * exceptions thrown by the ejbFind<METHOD> in the bean
- * class doesn't need to be thrown in the corresponding
- * find<METHOD> of the home interface , these unchecked
- * exceptions "subclass of RuntimeException" i.e
- * out of memory exception are handled by the container,
- * who throws a Runtime exception to the appropriate
- * instance/object
- *
- * @param ejbFindExceptions the ejbFind<METHOD> exceptions to be checked for
- * containment within the names of the exceptions defined in the throws
- * clause of the matching find method of the home interface (i.e subset)
- * @param findExceptions the find<METHOD> exceptions to be checked for
- * containing the names of the exceptions defined in the throws
- * clause of the matching ejbFind<METHOD> method of the bean class
- * (i.e. superset)
- *
- * @return <code>boolean</code> true if ejbFindExceptions is subset of findExceptions,
- * false otherwise
- */
- public static boolean isEjbFindMethodExceptionsSubsetOfFindMethodExceptions
- (Class [] ejbFindExceptions, Class [] findExceptions) {
- boolean oneFailed = false;
- if (Arrays.equals(ejbFindExceptions,findExceptions)) {
- return true;
- } else {
- // manipulate as list, and use list.contains() method
- List ejbFindList = Arrays.asList(ejbFindExceptions);
- List findList = Arrays.asList(findExceptions);
- if (!ejbFindList.isEmpty()) {
- for (Iterator itr = ejbFindList.iterator(); itr.hasNext();) {
- Class nextEjbFindMethodException = (Class) itr.next();
- if (findList.contains(nextEjbFindMethodException)) {
- continue;
- } else {
- // also, for all ejbFind/find combo's any unchecked
- // exceptions thrown by the ejbFind<METHOD> in the bean
- // class doesn't need to be thrown in the corresponding
- // find<METHOD> of the home interface , these unchecked
- // exceptions "subclass of RuntimeException" i.e
- // out of memory exception are handled by the container,
- // who throws a Runtime exception to the appropriate
- // instance/object
- if (isSuperClassofClass("java.lang.RuntimeException",
- nextEjbFindMethodException)) {
- // ignore this particular unchecked exception, since it stems
- // from RuntimeException, we can ignore it
- continue;
- } else {
- // okay, that's it, now we know ejbFind<METHOD> exception
- // is not defined in the find<METHOD> in the home interface
- // test must fail
- oneFailed = true;
- // break out after first failure, however, no precise feedback
- // to caller as to exactly which exception is causing problem
- // which we happen to know at this point in time
- break;
- }
- }
- }
-
- // if we get thru all of 'em, and oneFailed is set, then we flunked test
- if (oneFailed) {
- return false;
- } else {
- // we know we never set oneFailed in the above loop, so either all
- // ejbFind<METHOD> exceptions are defined in the superset find<METHOD>
- // exceptions, or they are unchecked exceptions, which we can ignore
- // so set test to passed
- return true;
- }
- } else {
- // ejbFind<METHOD> exceptions list is empty, pass test
- return true;
- }
- }
- }
-
-
- /**
- * Find superClass of specified class.
- *
- * @param superClass the specifed super Class to be checked against
- * for containment of
- * @param fromClass the class which you are trying to find the parent super
- * class of
- *
- * @return <code>boolean</code> true if superClass is parent class of fromClass, false otherwise
- */
- private static boolean isSuperClassofClass(String superClass, Class fromClass) {
- boolean validSuperClass = false;
- Class c = fromClass;
- // walk up the class tree
- do {
- if (c.getName().equals(superClass)) {
- validSuperClass = true;
- break;
- }
- } while ((((c=c.getSuperclass()) != null) && (!validSuperClass)));
-
- if (!validSuperClass){
- return false;
- } else {
- return true;
- }
-
-
-
- }
-
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/RoleNameNMTOKEN.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/RoleNameNMTOKEN.java
deleted file mode 100755
index 97dcfcd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/RoleNameNMTOKEN.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.tools.verifier.NameToken;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.security.common.Role;
-
-import java.util.Iterator;
-
-/**
- * The role-name element must conform to the lexical rules for an NMTOKEN
- */
-public class RoleNameNMTOKEN extends EjbTest implements EjbCheck {
-
-
-
- /**
- * The role-name element must conform to the lexical rules for an NMTOKEN
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getPermissionedRoles().isEmpty()) {
- for (Iterator itr = descriptor.getPermissionedRoles().iterator();
- itr.hasNext();) {
-
- Role nextRole = (Role) itr.next();
- if (NameToken.isNMTOKEN(nextRole.getName())) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Role name [ {0} ] conforms to the lexical rules of NMTOKEN within bean [ {1} ]",
- new Object[] {nextRole.getName(), descriptor.getName()}));
- if (result.getStatus()!= Result.FAILED)
- result.setStatus(Result.PASSED);
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Role name [ {0} ] does not conform to the lexical rules of NMTOKEN within bean [ {1} ]",
- new Object[] {nextRole.getName(), descriptor.getName()}));
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "No permissioned roles defined for this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityIdentityRefs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityIdentityRefs.java
deleted file mode 100644
index a9714b7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityIdentityRefs.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.RunAsIdentityDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.security.common.Role;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Security role references test.
- * The Bean provider must declare all of the enterprise's bean references
- * to security roles as specified in section 15.2.1.3 of the Moscone spec.
- * Role names must be mapped to names within the jar.
- */
-public class SecurityIdentityRefs extends EjbTest {
-
-
- /**
- * Security role references test.
- * The Bean provider must declare all of the enterprise's bean references
- * to security roles as specified in section 15.2.1.3 of the Moscone spec.
- * Role names must be mapped to names within the jar.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-if (descriptor.getUsesCallerIdentity()){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.notApplicable3",
- "Bean [ {0} ] does not specify a run-as identity",
- new Object[] {descriptor.getName()}));
- return result;
- }
- RunAsIdentityDescriptor identity = descriptor.getRunAsIdentity();
- if (identity == null) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.notApplicable2",
- "Bean [ {0} ] does not specify a security identity",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- EjbBundleDescriptorImpl bundleDescriptor = descriptor.getEjbBundleDescriptor();
- Set roles = bundleDescriptor.getRoles();
- Iterator roleIterator = roles.iterator();
- while (roleIterator.hasNext()) {
- Role role = (Role) roleIterator.next();
- if (role.getName().equals(identity.getRoleName())) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.passed",
- "Security identity run-as specified identity [ {0} ] role is found in the list of roles",
- new Object[] {role.getName()}));
- return result;
- }
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.failed",
- "Security identity run-as specified identity [ {0} ] role is not valid",
- new Object[] {identity.getRoleName()}));
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityRolesBind.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityRolesBind.java
deleted file mode 100755
index 5ac9026..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityRolesBind.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.RoleReference;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.security.common.Role;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * If the Application assembler defines security roles in the deployment
- * descriptor, the Application Assembler must bind security role references
- * declared by the Bean Provider to the security roles.
- */
-public class SecurityRolesBind extends EjbTest implements EjbCheck {
-
-
-
- /**
- * If the Application assembler defines security roles in the deployment
- * descriptor, the Application Assembler must bind security role references
- * declared by the Bean Provider to the security roles.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- EjbBundleDescriptorImpl bundleDescriptor = descriptor.getEjbBundleDescriptor();
- Set ejbs = bundleDescriptor.getEjbs();
- Iterator ejbIterator = ejbs.iterator();
- EjbDescriptor ejb = null;
- Set roleReferences = null;
- Iterator roleRefsIterator = null;
- Set roles = bundleDescriptor.getRoles();
- Iterator rolesIterator = roles.iterator();
- RoleReference roleReference = null;
- Role role = null;
- boolean oneFailed = false;
-
- // check to see if there are any undefined roles being referenced
- while (ejbIterator.hasNext()) {
- ejb = (EjbDescriptor)ejbIterator.next();
- roleReferences = ejb.getRoleReferences();
- roleRefsIterator = roleReferences.iterator();
- if (roleRefsIterator.hasNext()) {
- while (roleRefsIterator.hasNext()) {
- roleReference = (RoleReference)roleRefsIterator.next();
- role = roleReference.getRole();
- if (!role.getName().equals("")
- && !bundleDescriptor.getRoles().contains(role) ) {
- // print the undefine role
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The role [ {0} ] for bean [ {1} ] is undefined.",
- new Object[] {role.getName(),ejb.getName()}));
- if (!oneFailed) {
- oneFailed = true;
- }
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The role [ {0} ] for bean [ {1} ] is defined.",
- new Object[] {role.getName(),ejb.getName()}));
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no role references which need to be bound to other security roles within this bean [ {0} ]",
- new Object[] {ejb.getName()}));
- }
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityRolesRefs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityRolesRefs.java
deleted file mode 100755
index 9ffe194..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/SecurityRolesRefs.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.RoleReference;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-import org.glassfish.security.common.Role;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Security role references test.
- * The Bean provider must declare all of the enterprise's bean references
- * to security roles as specified in section 15.2.1.3 of the Moscone spec.
- * Role names must be mapped to names within the jar.
- */
-public class SecurityRolesRefs extends EjbTest implements EjbCheck {
-
-
- /**
- * Security role references test.
- * The Bean provider must declare all of the enterprise's bean references
- * to security roles as specified in section 15.2.1.3 of the Moscone spec.
- * Role names must be mapped to names within the jar.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if ((descriptor instanceof EjbEntityDescriptor) ||
- (descriptor instanceof EjbSessionDescriptor)) {
-
- // RULE: Role names must be mapped to names within the ejb-jar
- Set roleReferences = descriptor.getRoleReferences();
- Iterator roleRefsIterator = roleReferences.iterator();
- EjbBundleDescriptorImpl bundleDescriptor = descriptor.getEjbBundleDescriptor();
- Set roles = bundleDescriptor.getRoles();
- Iterator roleIterator = roles.iterator();
- Role role = null;
- RoleReference roleReference = null;
- boolean found = false;
- boolean oneFailed = false;
-
- if (roleRefsIterator.hasNext()) {
- while (roleRefsIterator.hasNext()) {
- found = false;
- roleReference = (RoleReference)roleRefsIterator.next();
-
- while (roleIterator.hasNext()) {
- role = (Role)roleIterator.next();
- if (role.getName().equals(roleReference.getValue())) {
- found = true;
- //reset this so next time it drop back into here
- roleIterator = roles.iterator();
- break;
- }
- }
-
- if (!found) {
- // print the roleReference with no corresponding env-prop
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Erro: The security role reference [ {0} ] has no corresponding linked security role name [ {1} ]",
- new Object[] {roleReference.getName(),roleReference.getValue()}));
- if (!oneFailed) {
- oneFailed = true;
- }
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The security role reference [ {0} ] has corresponding linked security role name [ {1} ]",
- new Object[] {roleReference.getName(),roleReference.getValue()}));
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no role references within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- // if one of 'em failed reset the status appropriately, in case
- // status got stomped on within the while loop by the next env-prop
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] not called \n with a Session or Entity bean.",
- new Object[] {getClass()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TestNamesEjb.xml b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TestNamesEjb.xml
deleted file mode 100644
index 4e31fe9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TestNamesEjb.xml
+++ /dev/null
@@ -1,1230 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
- <tests>
- <description>
- EJB tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbLogicalName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbHasLocalorRemoteorBothInterfaces
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodMatchesWithDD
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodNameMatch
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodModifiers
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodNameMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodArgs
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.SessionType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeBeanManaged
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbNoInvalidCreateMethod
-
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.CMPFieldExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbNameNMTOKEN
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbNameUnique
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbResAuthElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValueType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbRefNamePrefixed
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbSmallIconElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLargeIconElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.PrimaryField
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ReEntrantElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.RoleNameNMTOKEN
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassFinalizeMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAbstract
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldNameStartLowercase
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessorModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFields
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFields
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CascadeDeleteNotSupportedForManyMany
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAbstract
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldNameStartLowercase
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessorModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrUseCorrectCollectionInterface
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.DependentValueClassModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
-
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageDrivenBean
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageListener
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveExists
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
-
-com.sun.enterprise.tools.verifier.tests.ejb.timer.ImplementsTimedObjectTest
- </test-class>
- </test>
- <test>
- <test-class>
-
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TransactionDemarcationBeanManaged.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TransactionDemarcationBeanManaged.java
deleted file mode 100644
index 78325a1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TransactionDemarcationBeanManaged.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Enumeration;
-
-
-/** Session/Entity Bean bean-managed transaction demarcation type test.
- * The Application Assembler must not define transaction attributes for an
- * enterprise bean with bean-managed transaction demarcation.
- */
-public class TransactionDemarcationBeanManaged extends EjbTest implements EjbCheck {
-
-
- /** Session/Entity Bean bean-managed transaction demarcation type test.
- * The Application Assembler must not define transaction attributes for an
- * enterprise bean with bean-managed transaction demarcation.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- // The Application Assembler must not define transaction attributes for an
- // enterprise bean with bean-managed transaction demarcation.
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- String transactionType = descriptor.getTransactionType();
- if (EjbDescriptor.BEAN_TRANSACTION_TYPE.equals(transactionType)) {
- ContainerTransaction containerTransaction = null;
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
- containerTransaction =
- (ContainerTransaction) descriptor.getMethodContainerTransactions().get(methodDescriptor);
-
- try {
- String transactionAttribute =
- containerTransaction.getTransactionAttribute();
-
- // danny is doing this in the DOL, but is it possible to not have
- // any value for containerTransaction.getTransactionAttribute()
- // in the DOL? if it is possible to have blank value for this,
- // then this check is needed here, otherwise we are done and we
- // don't need this check here
- if (ContainerTransaction.NOT_SUPPORTED.equals(transactionAttribute)
- || ContainerTransaction.SUPPORTS.equals(transactionAttribute)
- || ContainerTransaction.REQUIRED.equals(transactionAttribute)
- || ContainerTransaction.REQUIRES_NEW.equals(transactionAttribute)
- || ContainerTransaction.MANDATORY.equals(transactionAttribute)
- || ContainerTransaction.NEVER.equals(transactionAttribute)
- || (!transactionAttribute.equals(""))) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: TransactionAttribute [ {0} ] for method [ {1} ] is not valid. The Application Assembler must not define transaction attributes for an enterprise bean [ {2} ] with bean-managed transaction demarcation.",
- new Object[] {transactionAttribute, methodDescriptor.getName(),descriptor.getName()}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: TransactionAttribute [ {0} ] for method [ {1} ] is not defined for an enterprise bean [ {2} ] with bean-managed transaction demarcation.",
- new Object[] {transactionAttribute, methodDescriptor.getName(),descriptor.getName()}));
- }
- } catch (NullPointerException e) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "Valid: TransactionAttribute is null for method [ {0} ] in bean [ {1} ]",
- new Object[] {methodDescriptor.getName(),descriptor.getName()}));
- return result;
- }
- }
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "Valid: There are no method permissions within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- } else {
- // not container managed, but is a session/entity bean
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.",
- new Object[] {descriptor.getName(),EjbDescriptor.BEAN_TRANSACTION_TYPE,transactionType}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] not called \n with a Session or Entity bean.",
- new Object[] {getClass()}));
- return result;
- }
- } catch (Throwable t) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {descriptor.getName(), t.getMessage(), descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TransactionDemarcationType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TransactionDemarcationType.java
deleted file mode 100755
index 22b652f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/TransactionDemarcationType.java
+++ /dev/null
@@ -1,323 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Array;
-import java.util.Arrays;
-import java.util.Enumeration;
-
-/**
- * Session/Entity Bean Transaction demarcation type test.
- * Application Assembler may define attributes for the methods of the
- * remote/home interfaces of the beans that require container managed
- * transaction demarcation. All beans of the this type (container managed
- * transactions) require container managed tranaction demarcation through
- * the use of "container-transaction" element.
- */
-public class TransactionDemarcationType extends EjbTest implements EjbCheck {
-
- static String[] EJBObjectMethods =
- {
- "getHomeHandle", "getEJBMetaData",
- "getEJBHome", "getEJBLocalHome","getHandle",
- "getPrimaryKey", "isIdentical"
- };
-
-
- /**
- * Session/Entity Bean Transaction demarcation type test.
- * Application Assembler may define attributes for the methods of the
- * remote/home interfaces of the beans that require container managed
- * transaction demarcation. All beans of the this type (container managed
- * transactions) require container managed tranaction demarcation through
- * the use of "container-transaction" element.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- boolean oneFailed = false;
- String transactionType = descriptor.getTransactionType();
- if (EjbDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType)) {
- try {
- Arrays.sort(EJBObjectMethods);
- ContainerTransaction containerTransaction = null;
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
- if (Arrays.binarySearch(EJBObjectMethods, methodDescriptor.getName()) < 0) {
- containerTransaction =
- (ContainerTransaction) descriptor.getMethodContainerTransactions().get(methodDescriptor);
-
- if (containerTransaction != null &&
- containerTransaction.getTransactionAttribute()!=null) {
- String transactionAttribute =
- containerTransaction.getTransactionAttribute();
-
- // danny is doing this in the DOL, but is it possible to not have
- // any value for containerTransaction.getTransactionAttribute()
- // in the DOL? if it is possible to have blank value for this,
- // then this check is needed here, otherwise we are done and we
- // don't need this check here
- if (ContainerTransaction.NOT_SUPPORTED.equals(transactionAttribute)
- || ContainerTransaction.SUPPORTS.equals(transactionAttribute)
- || ContainerTransaction.REQUIRED.equals(transactionAttribute)
- || ContainerTransaction.REQUIRES_NEW.equals(transactionAttribute)
- || ContainerTransaction.MANDATORY.equals(transactionAttribute)
- || ContainerTransaction.NEVER.equals(transactionAttribute)) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "TransactionAttribute [ {0} ] for method [ {1} ] is valid.",
- new Object[] {transactionAttribute, methodDescriptor.getName()}));
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: TransactionAttribute [ {0} ] for method [ {1} ] is not valid.",
- new Object[] {transactionAttribute, methodDescriptor.getName()}));
- }
- } else {
- // Null transaction attributes are allowed in EJB 3. Default is REQUIRED.
- if(getVerifierContext().getJavaEEVersion().compareTo(SpecVersionMapper.JavaEEVersion_5)<0) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: TransactionAttribute is null for method [ {0} ]",
- new Object[] {methodDescriptor.getName()}));
- }
-
- }
- } // if you found a business method
- else {
- //check if the ejb is a session bean
- //and the method with transaction attribute belongs
- //to home/local home interface
- String ejbClass = methodDescriptor.getEjbClassSymbol();
-
- /*** Fixed the bug: 4883730. ejbClassSymbol is null when method-intf is not
- * defined in the xml, since it is an optional field. Removed the earlier
- * checks. A null method-intf indicates that the method is supposed to be
- * in both Local & Home interfaces. ***/
-/*
- String methodIntf = null;
- try {
- methodIntf = methodDescriptor.getEjbClassSymbol();
- } catch ( Exception ex ) {}
- if ( methodIntf == null ) { //|| methodIntf.equals("")
- continue;
- }
-
-*/
- boolean session = descriptor instanceof EjbSessionDescriptor;
- boolean entity = descriptor instanceof EjbEntityDescriptor;
- if (((ejbClass == null)
- || ejbClass.equals(MethodDescriptor.EJB_HOME)
- || ejbClass.equals(MethodDescriptor.EJB_LOCALHOME))
- && session) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedHome",
- "Error: TransactionAttribute for method [ {0} ] is not valid. Home or Local Home interface methods of a session bean must not hvae a transaction attribute.",
- new Object[] {methodDescriptor.getName()}));
- }
- //check if it is a session bean with remote/local interface
- //and method with Tx attribute is "remove"
- else if (((ejbClass == null)
- || ejbClass.equals(MethodDescriptor.EJB_REMOTE)
- || ejbClass.equals(MethodDescriptor.EJB_LOCAL))
- && session && methodDescriptor.getName().equals("remove")) {
- //check for style 3
- //if remove method defined has parameters then pass else fail
- if (methodDescriptor.getParameterClassNames() == null
- || methodDescriptor.getParameterClassNames().length == 0 ) {
- //style 2
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedComp",
- "Error: TransactionAttribute for method [ {0} ] is not valid. 'remove' method in Remote/Local interface of a session bean must not have a transaction attribute.",
- new Object[] {methodDescriptor.getName()}));
- } else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passedTest",
- "TransactionAttribute for method [ {0} ] is valid.",
- new Object[] {methodDescriptor.getName()}));
- }
- }
- else if (((ejbClass == null)
- || ejbClass.equals(MethodDescriptor.EJB_HOME)
- || ejbClass.equals(MethodDescriptor.EJB_LOCALHOME))
- && entity) {
- if (methodDescriptor.getParameterClassNames() == null
- || methodDescriptor.getParameterClassNames().length == 0) {
- //style 2
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: TransactionAttribute for method [ {0} ] is not valid. ",
- new Object[] {methodDescriptor.getName()}));
- } else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passedTest",
- "TransactionAttribute for method [ {0} ] is valid.",
- new Object[] { methodDescriptor.getName()}));
- }
- }
- else if (((ejbClass == null)
- || ejbClass.equals(MethodDescriptor.EJB_REMOTE)
- || ejbClass.equals(MethodDescriptor.EJB_LOCAL))
- && entity) {
- if ((methodDescriptor.getName()).equals("isIdentical")) {
- if(methodDescriptor.getParameterClassNames() == null
- || methodDescriptor.getParameterClassNames().length == 0 ) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passedTest",
- "TransactionAttribute for method [ {0} ] is valid.",
- new Object[] {methodDescriptor.getName()}));
- } else {
- String[] paramList = methodDescriptor.getParameterClassNames();
- if(Array.getLength(paramList) == 1) {
- if (paramList[0].equals("jakarta.ejb.EJBObject")) {
- //style 3
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: TransactionAttribute for method [ {0} ] is not valid.",
- new Object[] { methodDescriptor.getName()}));
- }
- else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passedTest",
- "TransactionAttribute for method [ {0} ] is valid.",
- new Object[] { methodDescriptor.getName()}));
- }
- } else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passedTest",
- "TransactionAttribute for method [ {0} ] is valid.",
- new Object[] { methodDescriptor.getName()}));
- }
- }
- }
- else { //for all other methods in entity bean
- if ((methodDescriptor.getName()).equals("remove")) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passedTest",
- "TransactionAttribute for method [ {0} ] is valid.",
- new Object[] { methodDescriptor.getName()}));
- }
- else {
- if (methodDescriptor.getParameterClassNames() == null
- || methodDescriptor.getParameterClassNames().length == 0) {
- //style 2
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: [ {0} ] should not have a Transaction Attribute",
- new Object[] {methodDescriptor.getName()}));
- }
- }
- }
- }
- }
- }
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no method permissions within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- } catch (Exception e) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {descriptor.getName(), e.getMessage(), descriptor.getName()}));
- return result;
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- } else {
- // not container managed, but is a session/entity bean
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Bean [ {0} ] is not {1} managed, it is [ {2} ] managed.",
- new Object[] {descriptor.getName(),EjbDescriptor.CONTAINER_TRANSACTION_TYPE,transactionType}));
- }
- return result;
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] not called \n with a Session or Entity bean.",
- new Object[] {getClass()}));
- return result;
- }
- } catch (Throwable t) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {descriptor.getName(), t.getMessage(), descriptor.getName()}));
- return result;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassConstructor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassConstructor.java
deleted file mode 100644
index b9e1604..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassConstructor.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
-
-/**
- * Enterprise Java Bean class constuctor test.
- * The class must have a public constructor that takes no parameters.
- */
-public class EjbClassConstructor extends EjbTest {
-
-
- /**
- * Enterprise Java Bean class constuctor test.
- * The class must have a public constructor that takes no parameters.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Class c = loadEjbClass(descriptor, result);
- if (c!=null) {
-
- boolean foundOne = false;
- Constructor [] constructors = c.getConstructors();
- for (int i = 0; i < constructors.length; i++) {
- int modifiers = constructors[i].getModifiers();
- if (Modifier.isPublic(modifiers)) {
- Class [] constructorParameterTypes;
- constructorParameterTypes = constructors[i].getParameterTypes();
- if (constructorParameterTypes.length > 0) {
- continue;
- } else {
- foundOne = true;
- break;
- }
- }
- }
-
- if (foundOne) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: This bean [ {0} ] has a public constructor method with no "
- + " \n parameters. Enterprise beans must have a public constructor "
- + " \n method with no parameters.",
- new Object[] {descriptor.getEjbClassName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: There is no public constructor method with no parameters"
- + "\n defined within bean [ {0} ]. Enterprise beans must have a "
- + "\n public constructor methods with no parameters.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- }
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassExist.java
deleted file mode 100644
index 7e1b7eb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassExist.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Bean class test.
- * Verify that the bean class exist and is loadable.
- */
-
-public class EjbClassExist extends EjbTest implements EjbCheck {
-
- /**
- * Bean class test.
- * Verify that the bean class exist and is loadable.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // verify that the bean class exist and is loadable
- try {
- Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Bean class [ {0} ] exist and is loadable.",
- new Object[] {descriptor.getEjbClassName()}));
-
- } catch (NoClassDefFoundError e) {
-// e.printStackTrace();
- logger.log(Level.FINE, "Can't find class " + e.getMessage());
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Bean class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Bean class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- } catch (Exception e) {
-// e.printStackTrace();
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Bean class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassExposed.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassExposed.java
deleted file mode 100644
index b6d984e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassExposed.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise Java Bean class exposed test.
- * The class must not be exposed through remote or local interfaces.
- * @author Sheetal Vartak
- */
-public class EjbClassExposed extends EjbTest {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Enterprise Java Bean class exposed test.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor ||
- descriptor instanceof EjbEntityDescriptor) {
- if (descriptor.getRemoteClassName() != null &&
- !((descriptor.getRemoteClassName()).equals("")))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
- if (descriptor.getLocalClassName() != null &&
- !((descriptor.getLocalClassName()).equals("")))
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed",
- "Ejb Bean Class [{0}] is valid.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- return result;
-
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for
- * both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param remote for the Remote/Local interface of the Ejb.
- */
-
- private void commonToBothInterfaces(String remote, EjbDescriptor descriptor) {
- try {
- Class c = Class.forName(remote,
- false,
- getVerifierContext().getClassLoader());
-
- for (Method method : c.getDeclaredMethods()) {
- String ejbClassName = descriptor.getEjbClassName();
- if(((method.getReturnType()).getName()).equals(ejbClassName)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(
- getClass().getName() + ".failed",
- "Error: Ejb Bean Class [{0}] is exposed through interface [{1}]",
- new Object[] {ejbClassName, remote}));
- }
- }
- }catch (ClassNotFoundException e) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(
- getClass().getName() + ".failedException",
- "Error: interface class [{0}] not found",
- new Object[] {remote}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassFinalizeMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassFinalizeMethod.java
deleted file mode 100644
index 1a786af..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassFinalizeMethod.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise Java Bean class constuctor test.
- * The class must not define the finalize() method.
- */
-public class EjbClassFinalizeMethod extends EjbTest {
-
-
-
- /**
- * Enterprise Java Bean class constuctor test.
- * The class must not define the finalize() method.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Class c = loadEjbClass(descriptor, result);
- if (c!=null) {
-
- Method m = getDeclaredMethod(c, "finalize", null);
-
- if (m!=null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The bean class [ {0} ] must not define the " +
- "\n finalize() method.",
- new Object[] {descriptor.getEjbClassName()}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: This bean class [ {0} ] correctly does not " +
- "\n define the finalize() method.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersAbstract.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersAbstract.java
deleted file mode 100644
index e52c606..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersAbstract.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Modifier;
-
-/**
- * Enterprise Java Bean class modifiers test. The class must not be defined
- * as abstract.
- */
-public class EjbClassModifiersAbstract extends EjbTest {
-
-
- /**
- * Enterprise Java Bean class modifiers test. The class must not be defined
- * as abstract.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- boolean shouldBeAbstract = false;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType = ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
- if (EjbCMPEntityDescriptor.CMP_1_1!=((EjbCMPEntityDescriptor) descriptor).getCMPVersion()) {
- shouldBeAbstract = true;
- }
- }
- }
- Class c = loadEjbClass(descriptor, result);
- if (c!=null) {
-
- boolean isAbstract = false;
- int modifiers = c.getModifiers();
- if (Modifier.isAbstract(modifiers)) {
- isAbstract = true;
- }
-
- if (!isAbstract && !shouldBeAbstract) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares non-abstract class modifier.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (isAbstract && shouldBeAbstract) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "[ {0} ] properly declares abstract class modifier.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (isAbstract && !shouldBeAbstract ) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Ejb Class [ {0} ] was found, but was declared as abstract. The class [ {1} ] must not be abstract.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- }
- if (!isAbstract && shouldBeAbstract ) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: CMP 2.0 Entity Bean Class [ {0} ] was found, but was declared as non abstract. The class [ {1} ] must be abstract.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- }
-
- }
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersFinal.java
deleted file mode 100644
index 16486ba..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersFinal.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Modifier;
-
-/** Enterprise Java Bean class modifiers test. The class must not be final.
- */
-public class EjbClassModifiersFinal extends EjbTest {
-
- /** Enterprise Java Bean class modifiers test. The class must not be final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Class c = loadEjbClass(descriptor, result);
- if (c!=null) {
- boolean isFinal = false;
- int modifiers = c.getModifiers();
- if (Modifier.isFinal(modifiers)) {
- isFinal = true;
- }
-
- if (!isFinal) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares non-final class modifier.",
- new Object[] {descriptor.getEjbClassName()}));
- } else if (isFinal) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Ejb Class [ {0} ] was found, but was declared as final. The class [ {1} ] must not be defined as final.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersPublic.java
deleted file mode 100644
index 9780127..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassModifiersPublic.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Modifier;
-
-/**
- * Enterprise Java Bean class modifiers test. The class must be defined as
- * public.
- *
- * @author Jerome Dochez
- * @version
- */
-public class EjbClassModifiersPublic extends EjbTest {
-
-
- /**
- * Enterprise Java Bean class modifiers test. The class must be defined as
- * public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Class c = loadEjbClass(descriptor, result);
- if (c!=null) {
-
- boolean isPublic = false;
- int modifiers = c.getModifiers();
- if (Modifier.isPublic(modifiers)) {
- isPublic = true;
- }
-
- if (isPublic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares public class modifier.",
- new Object[] {descriptor.getEjbClassName()}));
- } else if (!isPublic) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Ejb Class [ {0} ] was found, but was not declared as public. The class [ {1} ] must be defined as public.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassStaticFieldsFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassStaticFieldsFinal.java
deleted file mode 100644
index c067a73..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/beanclass/EjbClassStaticFieldsFinal.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.beanclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
-
-/**
- * Enterprise Java Bean class static final fields test.
- * An enterprise Bean must not use read/write static fields. Using read-only
- * static fields is allowed. Therefore, it is recommended that all static
- * fields in the enterprise bean class be declared as final.
- *
- * This rule is required to ensure consistent runtime semantics because while
- * some EJB Containers may use a single JVM to execute all enterprise bean's
- * instances, others may distribute the instances across multiple JVMs.
- */
-public class EjbClassStaticFieldsFinal extends EjbTest implements EjbCheck {
-
-
-
- /**
- * Enterprise Java Bean class static final fields test.
- * An enterprise Bean must not use read/write static fields. Using read-only
- * static fields is allowed. Therefore, it is recommended that all static
- * fields in the enterprise bean class be declared as final.
- *
- * This rule is required to ensure consistent runtime semantics because while
- * some EJB Containers may use a single JVM to execute all enterprise bean's
- * instances, others may distribute the instances across multiple JVMs.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // it is recommended that all static fields in the enterprise bean class
- // be declared as final.
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean oneFailed = false;
- boolean badField = false;
- Field [] fields = c.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- badField = false;
- // hack to prevent compiler bug, don't want to process fields such as
- // class$test$enforcer$hello$HelloHome, so if the field contains a "$"
- // just skip it, otherwise process normally.
- // if "$" does not occur as a substring, -1 is returned.
- if (fields[i].getName().indexOf("$") == -1) {
- int modifiers = fields[i].getModifiers();
- if (Modifier.isStatic(modifiers)) {
- if (Modifier.isFinal(modifiers)) {
- continue;
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- badField = true;
- }
- }
- }
-
- if (badField) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: Field [ {0} ] defined within bean class [ {1} ] is defined as static, but not defined as final. An enterprise Bean must not use read/write static fields. Using read-only static fields is allowed.",
- new Object[] {fields[i].getName(),(descriptor).getEjbClassName()}));
- }
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This bean class [ {0} ] has defined any and all static fields as final.",
- new Object[] {(descriptor).getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {(descriptor).getEjbClassName()}));
- } catch (Exception e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: [ {0} ] class encountered [ {1} ]",
- new Object[] {(descriptor).getEjbClassName(),e.getMessage()}));
- } catch (Throwable t) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warningException",
- "Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].",
- new Object[] {(descriptor).getEjbClassName(),t.toString(), t.getMessage(), descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri()}));
- }
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodException.java
deleted file mode 100755
index 9dceded..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodException.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Enterprise Bean's business(...) methods exceptions test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * Compatibility Note: EJB 1.0 allowed the business methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- */
-public class BusinessMethodException extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Enterprise Bean's business(...) methods exceptions test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * Compatibility Note: EJB 1.0 allowed the business methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
-
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
-
- Set<String> localAndRemoteInterfaces = descriptor.getLocalBusinessClassNames();
- localAndRemoteInterfaces.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String localOrRemoteIntf : localAndRemoteInterfaces)
- commonToBothInterfaces(localOrRemoteIntf, descriptor);
- }
-
- if(result.getStatus() != Result.FAILED &&
- result.getStatus() != Result.WARNING) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Proper declaration of business method(s) found."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param intf or component for the Remote/Local interface of the Ejb.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- */
-
-
- private void commonToBothInterfaces(String intf, EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf,
- false,
- getVerifierContext().getClassLoader());
-
- for (Method remoteMethod : intfClass.getMethods()) {
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject")||
- remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBLocalObject"))
- continue;
-
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
-
- for (Method method: beanClass.getMethods()) {
- if (method.getName().equals(remoteMethod.getName())) {
-
- // Compatibility Note: EJB 1.0 allowed the business methods to throw
- // the java.rmi.RemoteException to indicate a non-application
- // exception. This practice is deprecated in EJB 1.1---an EJB 1.1
- // compliant enterprise bean should throw the jakarta.ejb.EJBException
- // or another RuntimeException to indicate non-application
- // exceptions to the Container (see Section 12.2.2).
- // Note: Treat as a warning to user in this instance
- Class [] exceptions = method.getExceptionTypes();
- if (EjbUtils.isValidRemoteException(exceptions)) {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Compatibility Note:" +
- "\n A public business method [ {0} ] was found, but" +
- "\n EJB 1.0 allowed the business methods to throw the " +
- "\n java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice is deprecated in EJB 1.1" +
- "\n ---an EJB 1.1 compliant enterprise bean should" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container. ",
- new Object[] {method.getName()}));
- }
- }
- }
- }
-
- } catch (Exception e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] " +
- "does not exist or is not loadable within bean [ {2} ].",
- new Object[] {intf,descriptor.getEjbClassName(),descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodExceptionCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodExceptionCheck.java
deleted file mode 100644
index 59b9c03..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodExceptionCheck.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise Bean's business(...) methods exceptions test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- * Compatibility Note: EJB 2.1 specification states that All the exceptions defined in the
- * throws clause of the matching method of the session bean class must be defined in the
- * throws clause of the method of the remote interface. (see Section 7.11.5)
- * Note: Treat as a warning to user in this instance.
- */
-
-public class BusinessMethodExceptionCheck extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
-
- /**
- * Enterprise Bean's business(...) methods exceptions test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * Compatibility Note:EJB 2.1 specification states that All the exceptions defined in the
- * throws clause of the matching method of the session bean class must be defined in the
- * throws clause of the method of the remote interface. (see Section 7.11.5)
- * Note: Treat as a warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
-
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName())) {
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
- }
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName())) {
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
- }
-
- }
- if(result.getStatus() != Result.FAILED &&
- result.getStatus() != Result.WARNING) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the exceptions defined in the throws clause of the matching "+
- "business methods are defined in the throws clause of the method "+
- "of the remote interface "));
- }
- return result;
- }
-
-
- /**
- * This method is responsible for the logic of the test. It is called for
- * both local and remote interfaces.
- * @param intf the remote Interface of the Ejb
- * @param descriptor the Enterprise Java Bean deployment descriptor
- */
-
-
-
- private void commonToBothInterfaces(String intf,EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
- for (Method remoteMethod : intfClass.getMethods()) {
-
- // we don't test the EJB methods,testing only business methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject")||
- remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBLocalObject"))
- continue;
-
- Class [] parameterTypes = remoteMethod.getParameterTypes();
- Method method =getMethod(beanClass,remoteMethod.getName(),parameterTypes);
- if(method == null)
- continue;
- Class [] remoteExceptions = remoteMethod.getExceptionTypes();
- Class [] exceptions = method.getExceptionTypes();
-
- /* EJB 2.1 specification has such statement in 7.11.5 Session Bean's
- Remote Interface section:"All the exceptions defined in the throws
- clause of the matching method of the session bean class must be defined
- in the throws clause of the method of the remote interface."
- */
- for (Class exception : exceptions) {
- boolean foundOne = false;
- for (Class remoteException : remoteExceptions)
- if(remoteException.getName().equals(exception.getName())) {
- foundOne = true;
- break;
- }
- if(!foundOne) {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "Not Compatible Exception: A public business " +
- "method [ {0} ] was found, but according to " +
- "the EJB specification, all the exceptions " +
- "defined in the throws clause of the matching " +
- "method of the session bean class must be " +
- "defined in the throws clause of the method " +
- "of the remote interface. Exception [ {1} ] " +
- "is not defined in the bean's remote interface.",
- new Object[] {method.getName(),exception.getName()}));
- }
- }//end of for
- }//end of for
- } catch (Exception e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Remote interface [ {0} ] or bean class [ {1} ] does " +
- "not exist or is not loadable within bean [ {2} ].",
- new Object[] {intf,descriptor.getEjbClassName(),descriptor.getName()}));
- }//end of catch block
- }//End of CommonToBoth function
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodFinal.java
deleted file mode 100755
index 79ff2b2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodFinal.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Arrays;
-import java.util.Set;
-
-/**
- * Enterprise Bean's business(...) methods final test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method must not be declared as final.
- */
-public class BusinessMethodFinal extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Enterprise Bean's business(...) methods final test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method must not be declared as final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
-
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
-
- Set<String> localAndRemoteInterfaces = descriptor.getLocalBusinessClassNames();
- localAndRemoteInterfaces.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String localOrRemoteIntf : localAndRemoteInterfaces)
- commonToBothInterfaces(localOrRemoteIntf, descriptor);
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Proper declaration of business method(s) found."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for
- * both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param intf for the Home and Remote Interface of the Ejb
- * This parameter may be optional depending on the test
- */
-
- private void commonToBothInterfaces(String intf,EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf,
- false,
- getVerifierContext().getClassLoader());
-
- for (Method remoteMethod : intfClass.getMethods()) {
-
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject")||
- remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBLocalObject") ||
- remoteMethod.getDeclaringClass().getName().equals("java.lang.Object"))
- continue;
-
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
- for (Method method : beanClass.getMethods()) {
-
- if (method.getName().equals(remoteMethod.getName())) {
- Class parms[] = method.getParameterTypes();
- Class remoteParams[] = remoteMethod.getParameterTypes();
-
- if (Arrays.equals(parms, remoteParams) &&
- Modifier.isFinal(method.getModifiers())) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: final business method [ {0} ] was " +
- "found, but business method cannot be declared as final.",
- new Object[] {method.getName()}));
- }
- }
- }
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] " +
- "does not exist or is not loadable within bean [ {2} ].",
- new Object[] {intf,descriptor.getEjbClassName(),descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodMatchesWithDD.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodMatchesWithDD.java
deleted file mode 100644
index 2a99009..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodMatchesWithDD.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Enterprise Bean's business(...) methods name test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The methods in the remote/local interface should be present in the deployment
- * descriptor
- *
- */
-public class BusinessMethodMatchesWithDD extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Enterprise Bean's business(...) methods name test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The methods in the remote/local interface should be present in the
- * deployment descriptor
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- if(descriptor.getRemoteClassName() != null &&
- !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),
- descriptor,
- MethodDescriptor.EJB_REMOTE);
-
- if(descriptor.getLocalClassName() != null &&
- !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),
- descriptor,
- MethodDescriptor.EJB_LOCAL);
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Business method(s) are valid."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for
- * both local and remote interfaces.
- * @param intf for the Remote/Local interface of the Ejb.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * This parameter may be optional depending on the test
- * @param methodIntf for the interface type
- */
-
- private void commonToBothInterfaces(String intf,
- EjbDescriptor descriptor,
- String methodIntf) {
- try {
- Class intfClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
-
- boolean found = false;
- Set allMethods = new HashSet();
-
- for (Iterator e =
- descriptor.getPermissionedMethodsByPermission().values().iterator();e.hasNext();) {
- Set methodDescriptors = (Set) e.next();
- if (methodDescriptors != null)
- allMethods.addAll(methodDescriptors);
- }
- for (Enumeration e =
- descriptor.getMethodContainerTransactions().keys();e.hasMoreElements();) {
- allMethods.add(e.nextElement());
- }
-
- for (Method remoteMethod : intfClass.getMethods()) {
- found = false;
-
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject"))
- continue;
- if (!remoteMethod.getName().startsWith("ejb") &&
- !remoteMethod.getName().equals("class$") &&
- !remoteMethod.getName().equals("setSessionContext")) {
-
- Iterator methods = allMethods.iterator();
- while (methods.hasNext()) {
- MethodDescriptor methodDescriptor = (MethodDescriptor)methods.next();
-
- if (methodDescriptor.getName().equals(remoteMethod.getName())) {
- if (MethodUtils.stringArrayEquals(methodDescriptor.getParameterClassNames(),
- (new MethodDescriptor(remoteMethod,methodIntf)).getParameterClassNames())) {
- found = true;
- break;
- }
- }
- }
- }
- if (!found) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Business method [ {0} ] is not defined " +
- "in the deployment descriptor.",
- new Object[] {remoteMethod.getName()}));
- }
- }
-
- } catch (Exception e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Component interface [ {0} ] does not exist " +
- "or is not loadable within bean [ {1} ].",
- new Object[] {intf,descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodName.java
deleted file mode 100644
index 4eb52be..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodName.java
+++ /dev/null
@@ -1,142 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Enterprise Bean's business(...) methods name test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method names can be arbitrary, but they must not conflict with the names
- * of the methods defined by the EJB architecture (ejbCreate, ejbActivate, etc.)
- *
- */
-public class BusinessMethodName extends EjbTest implements EjbCheck {
-
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Enterprise Bean's business(...) methods name test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method names can be arbitrary, but they must not conflict with the names
- * of the methods defined by the EJB architecture (ejbCreate, ejbActivate, etc.)
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
- Set<String> localAndRemoteInterfaces = descriptor.getLocalBusinessClassNames();
- localAndRemoteInterfaces.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String localOrRemoteIntf : localAndRemoteInterfaces) {
- commonToBothInterfaces(localOrRemoteIntf, descriptor);
- }
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Proper declaration of business method(s) found."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for
- * both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * This parameter may be optional depending on the test
- * @param intf or component for the Remote/Local interface of the Ejb.
- * This parameter may be optional depending on the test
- */
-
- private void commonToBothInterfaces(String intf,EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
-
- for (Method remoteMethod : intfClass.getMethods()) {
-
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject"))
- continue;
-
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
- for (Method method : beanClass.getMethods()) {
- if (method.getName().equals(remoteMethod.getName())) {
-
- // The method name must not be start with "ejb", to avoid
- // conflicting with callback methods used by EJB architecture
- // also, ignore .class$ compiler generated methods
- if (method.getName().startsWith("ejb") ||
- method.getName().equals("class$") ||
- method.getName().equals("setSessionContext")) {
-
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Business method [ {0} ] was " +
- "found, but was not properly named. " +
- "[ {1} ] must not conflict with the " +
- "names of the methods defined by the " +
- "EJB architecture",
- new Object[] {method.getName(),method.getName()}));
- }
- }
- }
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] " +
- "does not exist or is not loadable within bean [ {2} ].",
- new Object[] {intf,descriptor.getEjbClassName(),descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodPublic.java
deleted file mode 100755
index 80c3bed..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodPublic.java
+++ /dev/null
@@ -1,129 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Enterprise Bean's business(...) methods public test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method must be declared as public.
- */
-public class BusinessMethodPublic extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Enterprise Bean's business(...) methods public test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
- Set<String> localAndRemoteInterfaces = descriptor.getLocalBusinessClassNames();
- localAndRemoteInterfaces.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String localOrRemoteIntf : localAndRemoteInterfaces) {
- commonToBothInterfaces(localOrRemoteIntf, descriptor);
- }
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Proper declaration of business method(s) found."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param intf or component for the Remote/Local interface of the Ejb.
- * This parameter may be optional depending on the test
- */
- private void commonToBothInterfaces(String intf,EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
-
- for (Method remoteMethod : intfClass.getMethods()) {
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject")||
- remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBLocalObject"))
- continue;
-
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
- boolean foundOne = false;
- for (Method method : beanClass.getMethods()) {//getMethods returns only public methods
- if(MethodUtils.methodEquals(method, remoteMethod)) {
- foundOne = true;
- break;
- }
- }
- if (!foundOne) {
- String methodToString = remoteMethod.toString().replace("abstract ","");
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: public business method [ {0} ] not found in [ {1} ].",
- new Object[] {methodToString, beanClass.getName()}));
- }
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] " +
- "does not exist or is not loadable within bean [ {2} ].",
- new Object[] {intf,descriptor.getEjbClassName(),descriptor.getName()}));
-
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodRmiIIOPArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodRmiIIOPArgs.java
deleted file mode 100755
index 048268e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodRmiIIOPArgs.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Enterprise Bean's business(...) methods argument RMI IIOP test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The methods arguments must be legal types for RMI-IIOP.
- */
-public class BusinessMethodRmiIIOPArgs extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Enterprise Bean's business(...) methods argument RMI IIOP test.
- * Each enterprise Bean class must define zero or more business(...)
- * methods. The method signatures must follow these rules:
- *
- * The methods arguments must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
-
- Set<String> remoteInterfaces = descriptor.getRemoteBusinessClassNames();
- for (String remoteIntf : remoteInterfaces)
- commonToBothInterfaces(remoteIntf, descriptor);
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Proper declaration of business method(s) found."));
- }
- return result;
- }
-
- private void commonToBothInterfaces(String intf, EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf,
- false,
- getVerifierContext().getClassLoader());
-
- for (Method remoteMethod : intfClass.getMethods()) {
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject"))
- continue;
-
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
- for (Method method : beanClass.getMethods()) {
-
- if (method.getName().equals(remoteMethod.getName()) &&
- !RmiIIOPUtils.isValidRmiIIOPParameters(method.getParameterTypes())) {
- // The methods arguments types must be legal types for RMI-IIOP.
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: business method [ {0} ] was found, but " +
- "business method has invalid parameter values. " +
- "Business method parameter types must be valid " +
- "types for RMI-IIOP.",
- new Object[] {method.getName()}));
- }
- }
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] does " +
- "not exist or is not loadable within bean [ {2} ].",
- new Object[] {descriptor.getRemoteClassName(),
- descriptor.getEjbClassName(),
- descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodRmiIIOPReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodRmiIIOPReturn.java
deleted file mode 100755
index fe708ba..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodRmiIIOPReturn.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-
-/**
- * Enterprise Bean's business(...) methods argument RMI IIOP test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The methods return value must be legal types for RMI-IIOP.
- */
-public class BusinessMethodRmiIIOPReturn extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Enterprise Bean's business(...) methods argument RMI IIOP test.
- * Each enterprise Bean class must define zero or more business(...)
- * methods. The method signatures must follow these rules:
- *
- * The methods return value must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
-
- Set<String> remoteInterfaces = descriptor.getRemoteBusinessClassNames();
- for (String remoteIntf : remoteInterfaces)
- commonToBothInterfaces(remoteIntf, descriptor);
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Proper declaration of business method(s) found."));
- }
- return result;
- }
-
- private void commonToBothInterfaces(String intf, EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
-
- for (Method remoteMethod : intfClass.getMethods()) {
-
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject"))
- continue;
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
- for (Method method : beanClass.getMethods()) {
-
- if (method.getName().equals(remoteMethod.getName()) &&
- !RmiIIOPUtils.isValidRmiIIOPReturnType(method.getReturnType())) {
- // The methods arguments types must be legal types for
- // RMI-IIOP. This means that their return values must
- // be of valid types for RMI-IIOP,
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: business method [ {0} ] was found, but " +
- "business method has invalid return type [ {1} ]. Business " +
- "method return type must be a valid type for RMI-IIOP.",
- new Object[] {method.getName(), method.getReturnType()}));
- }
- }
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] does " +
- "not exist or is not loadable within bean [ {2} ].",
- new Object[] {descriptor.getRemoteClassName(),
- descriptor.getEjbClassName(),
- descriptor.getName()}));
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodStatic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodStatic.java
deleted file mode 100755
index 0e6d994..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/businessmethod/BusinessMethodStatic.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.businessmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Set;
-
-/**
- * Enterprise Bean's business(...) methods static test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method must not be declared as static.
- */
-public class BusinessMethodStatic extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Enterprise Bean's business(...) methods static test.
- * Each enterprise Bean class must define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * The method must not be declared as static.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
-
- Set<String> localAndRemoteInterfaces = descriptor.getLocalBusinessClassNames();
- localAndRemoteInterfaces.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String localOrRemoteIntf : localAndRemoteInterfaces)
- commonToBothInterfaces(localOrRemoteIntf, descriptor);
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Proper declaration of business method(s) found."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param intf or home Interface of the Ejb
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * This parameter may be optional depending on the test
- */
-
- private void commonToBothInterfaces(String intf, EjbDescriptor descriptor) {
- try {
- Class intfClass = Class.forName(intf, false, getVerifierContext().getClassLoader());
-
- for (Method remoteMethod : intfClass.getMethods()) {
-
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBObject")||
- remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBLocalObject"))
- continue;
-
- Class beanClass = Class.forName(descriptor.getEjbClassName(),
- false,
- getVerifierContext().getClassLoader());
- for (Method method : beanClass.getMethods()) {
- if (method.getName().equals(remoteMethod.getName()) &&
- Modifier.isStatic(method.getModifiers())) {
- // The method must not be declared as static.
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: static business method [ {0} ] was found, " +
- "but business method cannot be declared as static.",
- new Object[] {method.getName()}));
- }
- }
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] does " +
- "not exist or is not loadable within bean [ {2} ].",
- new Object[] {intf,descriptor.getEjbClassName(),descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/AroundInvokeNotBusinessMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/AroundInvokeNotBusinessMethod.java
deleted file mode 100644
index 08b69ee..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/AroundInvokeNotBusinessMethod.java
+++ /dev/null
@@ -1,69 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * An AroundInvoke method must not be a business method.
- *
- * @author Vikas Awasthi
- */
-public class AroundInvokeNotBusinessMethod extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- ClassLoader cl = getVerifierContext().getClassLoader();
-
- if(descriptor.hasAroundInvokeMethod()) {
- Set<MethodDescriptor> businessMethods = descriptor.getMethodDescriptors();
- Set<LifecycleCallbackDescriptor> aiDescriptors =
- descriptor.getAroundInvokeDescriptors();
-
- for (LifecycleCallbackDescriptor aiDesc : aiDescriptors) {
- try {
- Method interceptorMethod = aiDesc.getLifecycleCallbackMethodObject(cl);
- MethodDescriptor interceptorMD = new MethodDescriptor(interceptorMethod);
- if(businessMethods.contains(interceptorMD)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "AroundInvoke method [ {0} ] is a business method.",
- new Object[] {interceptorMethod}));
- }
- } catch (Exception e) {}// will be caught in other tests
- }
- }
-
- if(result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid Interceptor methods."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessInterfaceException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessInterfaceException.java
deleted file mode 100644
index 164073a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessInterfaceException.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * The methods of the business interface may declare arbitrary application
- * exceptions. However, the methods of the business interface should not throw
- * the java.rmi.RemoteException, even if the interface is a remote business
- * interface or the bean class is annotated WebService or the method as
- * WebMethod.
- * The methods of the business interface may only throw the
- * java.rmi.RemoteException if the interface extends java.rmi.Remote.
- *
- * @author Vikas Awasthi
- */
-public class BusinessInterfaceException extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Set<String> localAndRemoteClassNames = descriptor.getLocalBusinessClassNames();
- localAndRemoteClassNames.addAll(descriptor.getRemoteBusinessClassNames());
-
- for (String localOrRemoteClass : localAndRemoteClassNames)
- checkForRemoteException(localOrRemoteClass,result,compName);
-
- if(result.getStatus() != Result.WARNING) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Business interface(s) if any are valid."));
- }
- return result;
- }
-
- private void checkForRemoteException(String className,
- Result result,
- ComponentNameConstructor compName) {
- try {
- Class c = Class.forName(className,
- false,
- getVerifierContext().getClassLoader());
- // do not check further if the business interface extends java.rmi.Remote
- if(java.rmi.Remote.class.isAssignableFrom(c))
- return;
- Method[] methods = c.getMethods();
- for (Method method : methods) {
- Class[] exceptions = method.getExceptionTypes();
- for (Class exception : exceptions) {
- if(java.rmi.RemoteException.class.isAssignableFrom(exception)) {
- result.getFaultLocation().setFaultyClassAndMethod(method);
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "java.rmi.RemoteException is thrown " +
- "in method [ {0} ] of business interface [ {1} ]",
- new Object[] {method.getName(), className}));
- }
- }
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "[ {0} ] not found.",
- new Object[] {className}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessIntfAnnotationValue.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessIntfAnnotationValue.java
deleted file mode 100644
index 8307cf7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessIntfAnnotationValue.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import jakarta.ejb.Local;
-import jakarta.ejb.Remote;
-import java.util.Set;
-
-/**
- * It is an error if @Local or @Remote is specified both on the bean class and
- * on the referenced interface and the values differ. (Expert Group discussions)
- *
- * @author Vikas Awasthi
- */
-public class BusinessIntfAnnotationValue extends EjbTest {
-
- private Result result;
- private ComponentNameConstructor compName;
- private Class<Remote> remoteAnn = Remote.class;
- private Class<Local> localAnn = Local.class;
-
- public Result check(EjbDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- testInterfaces(descriptor.getLocalBusinessClassNames(), remoteAnn);
- testInterfaces(descriptor.getRemoteBusinessClassNames(), localAnn);
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid annotations used in business interface(s)."));
- }
- return result;
- }
-
- private void testInterfaces(Set<String> interfaces, Class annot) {
- // used in failure message
- Class cls = (annot.equals(localAnn))? remoteAnn : localAnn;
-
- for (String intf : interfaces) {
- try {
- Class intfCls = Class.forName(intf,
- false,
- getVerifierContext().getClassLoader());
- if(intfCls.getAnnotation(annot)!=null) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "{0} annotation is used in {1} interface [ {2} ].",
- new Object[]{annot.getSimpleName(),
- cls.getSimpleName(),
- intfCls.getName()}));
- }
- } catch (ClassNotFoundException e) {
- //ignore as it will be caught in other tests
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessIntfInheritance.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessIntfInheritance.java
deleted file mode 100644
index deae0f5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/BusinessIntfInheritance.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Set;
-
-/**
- * A business interface must not extend jakarta.ejb.EJBObject or
- * jakarta.ejb.EJBLocalObject.
- *
- * @author Vikas Awasthi
- */
-public class BusinessIntfInheritance extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
-
- Set<String> remoteAndLocalIntfs = descriptor.getRemoteBusinessClassNames();
- remoteAndLocalIntfs.addAll(descriptor.getLocalBusinessClassNames());
-
- for (String remoteOrLocalIntf : remoteAndLocalIntfs) {
- try {
- Class c = Class.forName(remoteOrLocalIntf,
- false,
- getVerifierContext().getClassLoader());
- if(jakarta.ejb.EJBObject.class.isAssignableFrom(c) ||
- jakarta.ejb.EJBLocalObject.class.isAssignableFrom(c)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "[ {0} ] extends either jakarta.ejb.EJBObject " +
- "or jakarta.ejb.EJBLocalObject.",
- new Object[] {remoteOrLocalIntf}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Business Interface class [ {0} ] not found.",
- new Object[] {remoteOrLocalIntf}));
- }
- }
- if(result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Business Interface(s) are valid."));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbackMethodArgument.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbackMethodArgument.java
deleted file mode 100644
index f0b3c03..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbackMethodArgument.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Lifecycle callback interceptor methods defined on an interceptor class have
- * the following signature:
- * void <METHOD> (InvocationContext)
- *
- * Lifecycle callback interceptor methods defined on a bean class have the
- * following signature:
- * void <METHOD>()
- *
- * @author Vikas Awasthi
- */
-public class CallbackMethodArgument extends InterceptorMethodTest {
-
- void testInterceptorMethods(Set<LifecycleCallbackDescriptor> callbackDescs,
- String callbackMethodName,
- Boolean isBeanMethod) {
- if(callbackMethodName.equals("AroundInvoke"))
- return; // this test applies only to lifecycle callback methods
-
- ClassLoader cl = getVerifierContext().getClassLoader();
- for (LifecycleCallbackDescriptor callbackDesc : callbackDescs) {
- try {
- Method method = callbackDesc.getLifecycleCallbackMethodObject(cl);
- Class<?>[] args = method.getParameterTypes();
- if(isBeanMethod && args.length!=0) {
- logFailure(callbackMethodName, method);
- } else if(!isBeanMethod &&
- (args.length!=1 ||
- !jakarta.interceptor.InvocationContext.class.isAssignableFrom(args[0]))) {
- logFailure(callbackMethodName, method);
- }
- } catch (Exception e) {}//ignore as it will be caught in other tests
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbackMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbackMethodException.java
deleted file mode 100644
index c1a6f3d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbackMethodException.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.EjbInterceptor;
-import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.Set;
-
-/**
- * Lifecycle callback interceptor methods must not throw application exceptions.
- *
- * Any exception other than derived from java.lang.RuntimeException or
- * java.rmi.RemoteException is an application exception.
- *
- * @author Vikas Awasthi
- */
-public class CallbackMethodException extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- ClassLoader cl = getVerifierContext().getClassLoader();
-
- Set<LifecycleCallbackDescriptor> callbackDescs =
- new HashSet<LifecycleCallbackDescriptor>();
-
- for (EjbInterceptor interceptor : descriptor.getInterceptorClasses()) {
- callbackDescs.addAll(interceptor.getPostConstructDescriptors());
- callbackDescs.addAll(interceptor.getPreDestroyDescriptors());
- callbackDescs.addAll(interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.PRE_PASSIVATE));
- callbackDescs.addAll(interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.POST_ACTIVATE));
- }
-
- if(descriptor.hasPostConstructMethod())
- callbackDescs.addAll(descriptor.getPostConstructDescriptors());
- if(descriptor.hasPreDestroyMethod())
- callbackDescs.addAll(descriptor.getPreDestroyDescriptors());
-
- // session descriptor has two extra interceptor methods.
- if(descriptor instanceof EjbSessionDescriptor) {
- EjbSessionDescriptor ejbSessionDescriptor = ((EjbSessionDescriptor)descriptor);
- if(ejbSessionDescriptor.hasPostActivateMethod())
- callbackDescs.addAll(ejbSessionDescriptor.getPostActivateDescriptors());
- if(ejbSessionDescriptor.hasPrePassivateMethod())
- callbackDescs.addAll(ejbSessionDescriptor.getPrePassivateDescriptors());
- }
-
- for (LifecycleCallbackDescriptor callbackDesc : callbackDescs) {
- try {
- Method method = callbackDesc.getLifecycleCallbackMethodObject(cl);
- Class[] excepClasses = method.getExceptionTypes();
- for (Class exception : excepClasses) {
- if(!(RuntimeException.class.isAssignableFrom(exception) ||
- java.rmi.RemoteException.class.isAssignableFrom(exception))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Method [ {0} ] throws an application exception.",
- new Object[] {method}));
- }
- }
- } catch (Exception e) {}// will be caught in other tests
- }
-
- if(result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid Callback methods."));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbacksOnBeanClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbacksOnBeanClass.java
deleted file mode 100644
index a78581a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/CallbacksOnBeanClass.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.EjbInterceptor;
-import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Set;
-
-/**
- * If the PostConstruct lifecycle callback interceptor method is the ejbCreate
- * method, if the PreDestroy lifecycle callback interceptor method is the
- * ejbRemove method, if the PostActivate lifecycle callback interceptor method
- * is the ejbActivate method, or if the Pre-Passivate lifecycle callback
- * interceptor method is the ejbPassivate method, these callback methods must
- * be implemented on the bean class itself (or on its superclasses).
- *
- * @author Vikas Awasthi
- */
-public class CallbacksOnBeanClass extends EjbTest {
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- public Result check(EjbDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- Set<EjbInterceptor> interceptors = descriptor.getInterceptorClasses();
- for (EjbInterceptor interceptor : interceptors) {
- if (interceptor.hasCallbackDescriptor(
- LifecycleCallbackDescriptor.CallbackType.POST_ACTIVATE)) {
- Set<LifecycleCallbackDescriptor> callBackDescs =
- interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.POST_ACTIVATE);
- reportError(callBackDescs, "ejbActivate",interceptor.getInterceptorClassName());
- }
- if (interceptor.hasCallbackDescriptor(
- LifecycleCallbackDescriptor.CallbackType.PRE_PASSIVATE)) {
- Set<LifecycleCallbackDescriptor> callBackDescs =
- interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.PRE_PASSIVATE);
- reportError(callBackDescs, "ejbPassivate",interceptor.getInterceptorClassName());
- }
- if (interceptor.hasCallbackDescriptor(
- LifecycleCallbackDescriptor.CallbackType.POST_CONSTRUCT)) {
- Set<LifecycleCallbackDescriptor> callBackDescs =
- interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.POST_CONSTRUCT);
- reportError(callBackDescs, "ejbCreate",interceptor.getInterceptorClassName());
- }
- if (interceptor.hasCallbackDescriptor(
- LifecycleCallbackDescriptor.CallbackType.PRE_DESTROY)) {
- Set<LifecycleCallbackDescriptor> callBackDescs =
- interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.PRE_DESTROY);
- reportError(callBackDescs, "ejbRemove",interceptor.getInterceptorClassName());
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName()+".passed",
- "Valid lifecycle callback method(s)"));
- }
- return result;
- }
-
- private void reportError(Set<LifecycleCallbackDescriptor> callBackDescs,
- String callbackMethodName,
- String interceptorClassName) {
- for (LifecycleCallbackDescriptor callbackDesc : callBackDescs) {
- String callbackMethod = callbackDesc.getLifecycleCallbackMethod();
- if(callbackMethod.contains(callbackMethodName)) {
- result.getFaultLocation().setFaultyClassName(interceptorClassName);
- result.getFaultLocation().setFaultyMethodName(callbackMethod);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed",
- "Wrong method [ {0} ] in class [ {1} ]",
- new Object[] {callbackMethod, interceptorClassName}));
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/EJBCreatePostConstruct.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/EJBCreatePostConstruct.java
deleted file mode 100644
index 6fe2a6e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/EJBCreatePostConstruct.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * If the stateless session bean instance has an ejbCreate method, the container
- * treats the ejbCreate method as the instance’s PostConstruct method, and, in
- * this case, the PostConstruct annotation (or deployment descriptor metadata)
- * can only be applied to the bean’s ejbCreate method.
- *
- * @author Vikas Awasthi
- */
-public class EJBCreatePostConstruct extends SessionBeanTest {
-
- public Result check(EjbSessionDescriptor descriptor) {
-
- if(descriptor.isStateless() &&
- descriptor.hasPostConstructMethod() &&
- hasEJBCreateMethod(descriptor.getEjbClassName())) {
- for (LifecycleCallbackDescriptor callbackDesc :
- descriptor.getPostConstructDescriptors()) {
- String cmName = callbackDesc.getLifecycleCallbackMethod();
- if(!cmName.contains("ejbCreate")) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed",
- "Wrong postconstruct method [ {0} ]",
- new Object[] {cmName}));
- }
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName()+".passed",
- "Valid postcontruct method(s) in Bean"));
- }
-
- return result;
- }
-
- private boolean hasEJBCreateMethod(String beanClassName) {
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class bean = Class.forName(beanClassName, false, jcl);
- Method[] methods = bean.getMethods();
- for (Method method : methods)
- if(method.getName().contains("ejbCreate"))
- return true;
- } catch (ClassNotFoundException e) {}// will be caught in other tests
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/EJBInjectionAnnotationModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/EJBInjectionAnnotationModifiers.java
deleted file mode 100644
index 9a063f2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/EJBInjectionAnnotationModifiers.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.tests.InjectionTargetTest;
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.InjectionCapable;
-
-import java.util.List;
-
-/**
- * The field or method where injection annotation is used may have any access
- * qualifier (public , private , etc.) but must not be static or final.
- *
- * @author Vikas Awasthi
- */
-public class EJBInjectionAnnotationModifiers extends InjectionTargetTest {
-
- protected List<InjectionCapable> getInjectables(String className) {
- EjbDescriptor descriptor = (EjbDescriptor) getDescriptor();
- return descriptor.getInjectableResourcesByClass(getClassName());
- }
-
- protected String getClassName() {
- EjbDescriptor descriptor = (EjbDescriptor) getDescriptor();
- return descriptor.getEjbClassName();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InitMethodReturnType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InitMethodReturnType.java
deleted file mode 100644
index 4ec4428..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InitMethodReturnType.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-import org.glassfish.ejb.deployment.descriptor.EjbInitInfo;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * The Init annotation is used to specify the correspondence of a method on the
- * bean class with a createMETHOD method for an adapted EJB 2.1 EJBHome and/or
- * EJBLocalHome client view.
- * The result type of such an Init method is required to be void.
- *
- * @author Vikas Awasthi
- */
-public class InitMethodReturnType extends SessionBeanTest {
-
- public Result check(EjbSessionDescriptor descriptor) {
- Set<EjbInitInfo> initMethods = descriptor.getInitMethods();
- for (EjbInitInfo initInfo : initMethods) {
- Method method = initInfo.getBeanMethod().getMethod(descriptor);
- if(!method.getReturnType().getName().equals("void")) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed",
- "Wrong init method [ {0} ].",
- new Object[] {method}));
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName()+".passed",
- "Valid init method(s)."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodException.java
deleted file mode 100644
index f341ff7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodException.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.EjbInterceptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.HashSet;
-import java.util.List;
-import java.util.Set;
-
-/**
- * Interceptor methods may throw runtime exceptions or application exceptions
- * that are allowed in the throws clause of the business method.
- * The methods of the business interface should not throw the
- * java.rmi.RemoteException, even if the interface is a remote business
- * interface or the bean class is annotated WebService or the method as
- * WebMethod.
- *
- * These statements from the specification indicate that the interceptor method
- * must not throw java.rmi.RemoteException
- *
- * @author Vikas Awasthi
- */
-public class InterceptorMethodException extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Set<Method> interceptorMethods = new HashSet<Method>();
-
- if(descriptor.hasAroundInvokeMethod()) {
-//XXX
-/*
- Method method = descriptor.getAroundInvokeMethod().getMethod(descriptor);
- interceptorMethods.add(method);
-*/
- }
-
- List<EjbInterceptor> interceptors = descriptor.getInterceptorChain();
-
- for (EjbInterceptor interceptor : interceptors) {
- try {
- Class interceptorClass =
- Class.forName(interceptor.getInterceptorClassName(),
- false,
- getVerifierContext().getClassLoader());
-//XXX
-/*
- Method method = interceptor.getAroundInvokeMethod().getMethod(interceptorClass);
- interceptorMethods.add(method);
-*/
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "[ {0} ] not found.",
- new Object[] {interceptor.getInterceptorClassName()}));
- }
- }
-
- for (Method method : interceptorMethods) {
- Class[] exceptions = method.getExceptionTypes();
- for (Class excepClass : exceptions) {
- if(java.rmi.RemoteException.class.isAssignableFrom(excepClass)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Method [ {0} ] throws java.rmi.RemoteException.",
- new Object[] {method}));
- }
- }
- }
-
- if(result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid Interceptor methods."));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodNotStaticOrFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodNotStaticOrFinal.java
deleted file mode 100644
index c948b6b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodNotStaticOrFinal.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
-
-import java.util.Set;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * An interceptor method must not be declared as final or static.
- *
- * @author Vikas Awasthi
- */
-public class InterceptorMethodNotStaticOrFinal extends InterceptorMethodTest {
-
- void testInterceptorMethods(Set<LifecycleCallbackDescriptor> callbackDescs,
- String callbackMethodName,
- Boolean isBeanMethod) {
- ClassLoader cl = getVerifierContext().getClassLoader();
- for (LifecycleCallbackDescriptor callbackDesc : callbackDescs) {
- try {
- Method method = callbackDesc.getLifecycleCallbackMethodObject(cl);
- if(Modifier.isFinal(method.getModifiers()) ||
- Modifier.isStatic(method.getModifiers())) {
- logFailure(callbackMethodName, method);
- }
- } catch (Exception e) {}//ignore as it will be caught in other tests
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodTest.java
deleted file mode 100644
index 90c3bd4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorMethodTest.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.EjbInterceptor;
-import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Set;
-
-/**
- * Base class for all interceptor method tests.
- * @author Vikas Awasthi
- */
-public abstract class InterceptorMethodTest extends EjbTest {
- Result result;
- ComponentNameConstructor compName;
- abstract void testInterceptorMethods(Set<LifecycleCallbackDescriptor> callbackDescs,
- String callbackMethodName,
- Boolean isBeanMethod);
-
- public Result check(EjbDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- testInterceptorMethods(
- descriptor.getAroundInvokeDescriptors(), "AroundInvoke", true);
- testInterceptorMethods(
- descriptor.getPreDestroyDescriptors(), "PreDestroy", true);
- testInterceptorMethods(
- descriptor.getPostConstructDescriptors(), "PostConstruct", true);
-
- if(descriptor instanceof EjbSessionDescriptor) {
- EjbSessionDescriptor sessionDescriptor = (EjbSessionDescriptor)descriptor;
- testInterceptorMethods(
- sessionDescriptor.getPrePassivateDescriptors(), "PrePassivate", true);
- testInterceptorMethods(
- sessionDescriptor.getPostActivateDescriptors(), "PostActivate", true);
- }
-
- descriptor.getInterceptorClasses();
- for (EjbInterceptor interceptor : descriptor.getInterceptorClasses()) {
- testInterceptorMethods(
- interceptor.getAroundInvokeDescriptors(), "AroundInvoke", false);
- testInterceptorMethods(
- interceptor.getPreDestroyDescriptors(), "PreDestroy", false);
- testInterceptorMethods(
- interceptor.getPostConstructDescriptors(), "PostConstruct", false);
- testInterceptorMethods(
- interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.PRE_PASSIVATE), "PrePassivate", false);
- testInterceptorMethods(
- interceptor.getCallbackDescriptors(
- LifecycleCallbackDescriptor.CallbackType.POST_ACTIVATE), "PostActivate", false);
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodTest.passed",
- "Valid Interceptor methods."));
- }
- return result;
- }
-
- protected void logFailure(String methodName, Method method) {
- result.getFaultLocation().setFaultyClassAndMethod(method);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodTest.failed",
- "Wrong {0} interceptor method [ {1} ]",
- new Object[] {methodName, method}));
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorNoArgConstructor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorNoArgConstructor.java
deleted file mode 100644
index 4742bf7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/InterceptorNoArgConstructor.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.deployment.EjbInterceptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Set;
-/**
- * An interceptor class must have a public no-arg constructor.
- *
- * @author Vikas Awasthi
- */
-public class InterceptorNoArgConstructor extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Set<EjbInterceptor> interceptors = descriptor.getInterceptorClasses();
-
- for (EjbInterceptor interceptor : interceptors) {
- try {
- Class interceptorClass = Class.forName(interceptor.getInterceptorClassName(),
- false,
- getVerifierContext().getClassLoader());
- try {
- interceptorClass.getConstructor(new Class[]{});
- } catch (NoSuchMethodException e) {
- result.getFaultLocation().setFaultyClass(interceptorClass);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Interceptor class [ {0} ] does not have a " +
- "public constructor with no arguments.",
- new Object[] {interceptorClass}));
- }
- } catch (ClassNotFoundException e) {}// will be caught in other tests
- }
- if(result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid Interceptor(s) used."));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MDBImplementsListenerMethods.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MDBImplementsListenerMethods.java
deleted file mode 100644
index 5ac0376..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MDBImplementsListenerMethods.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * The message driven bean class must implement the message listener interface
- * or the methods of the message listener interface.
- *
- * @author Vikas Awasthi
- */
-public class MDBImplementsListenerMethods extends MessageBeanTest {
-
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- try {
- ClassLoader cl = getVerifierContext().getClassLoader();
- Class intfCls = Class.forName(descriptor.getMessageListenerType(), false, cl);
- Class ejbCls = Class.forName(descriptor.getEjbClassName(), false, cl);
-
- if(!intfCls.isAssignableFrom(ejbCls)) {
- Method[] methods = intfCls.getMethods();
- for (Method method : methods) {
- boolean foundOne = false;
- for (Method ejbMethod : ejbCls.getMethods()) {
- if(MethodUtils.methodEquals(ejbMethod, method)) {
- foundOne = true;
- break;
- }
- }
- if(!foundOne) {
- addErrorDetails(result, compName);
- result.failed(
- smh.getLocalString(getClass().getName()+".failed",
- "Message bean [ {0} ] neither implements listener " +
- "interface [ {1} ] nor implements listener " +
- "interface method [ {2} ]",
- new Object[] {ejbCls.getSimpleName(), intfCls.getName(), method}));
- }
- }
- }
- } catch (ClassNotFoundException e) {
- //ignore as this error will be caught by other tests
- logger.fine(descriptor.getEjbClassName() + " Not found");
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(
- smh.getLocalString(getClass().getName()+".passed",
- "Valid Message bean [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MDBInheritsMDB.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MDBInheritsMDB.java
deleted file mode 100644
index 9a36141..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MDBInheritsMDB.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.util.Set;
-
-/**
- * A message-driven bean class must not have a superclass that is itself a
- * message-driven bean class.
- *
- * @author Vikas Awasthi
- */
-public class MDBInheritsMDB extends MessageBeanTest {
-
- public Result check(EjbMessageBeanDescriptor descriptor) {
- try {
- ClassLoader cl = getVerifierContext().getClassLoader();
- Class ejbCls = Class.forName(descriptor.getEjbClassName(), false, cl);
- Set<EjbDescriptor> descrptors =
- descriptor.getEjbBundleDescriptor().getEjbs();
- for (EjbDescriptor ejbDescriptor : descrptors) {
- if(!(ejbDescriptor instanceof EjbMessageBeanDescriptor))
- continue;
- if(descriptor.getEjbClassName().equals(ejbDescriptor.getEjbClassName()))
- continue;
- Class mdbCls = null;
- try {
- mdbCls = Class.forName(ejbDescriptor.getEjbClassName(), false, cl);
- } catch (ClassNotFoundException e) {
- continue; // ignore as this error will be caught by other tests
- }
- if(mdbCls.isAssignableFrom(ejbCls)) {
- addErrorDetails(result, compName);
- result.failed(
- smh.getLocalString(getClass().getName()+".failed",
- "Message bean [ {0} ] inherits other message bean [ {1} ]",
- new Object[] {ejbCls.getName(), mdbCls.getName()}));
- }
-
- }
- } catch (ClassNotFoundException e) {
- //ignore as this error will be caught by other tests
- logger.fine(descriptor.getEjbClassName() + " Not found");
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(
- smh.getLocalString(getClass().getName()+".passed",
- "Valid Message bean [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MessageBeanTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MessageBeanTest.java
deleted file mode 100644
index 0f5f5e7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/MessageBeanTest.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-/**
- * Base class for EJB 3.0 message bean tests.
- * @author Vikas Awasthi
- */
-public abstract class MessageBeanTest extends EjbTest {
-
- public abstract Result check(EjbMessageBeanDescriptor descriptor) ;
- protected ComponentNameConstructor compName = null;
- protected Result result = null;
-
- public Result check(EjbDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- if (descriptor instanceof EjbMessageBeanDescriptor)
- return check((EjbMessageBeanDescriptor) descriptor);
-
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MessageBeanTest.notApplicable",
- "Test apply only to Message Bean components"));
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PUMatchingEMandEMFRefTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PUMatchingEMandEMFRefTest.java
deleted file mode 100644
index 930a5ca..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PUMatchingEMandEMFRefTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EjbBundleDescriptor;
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.EntityManagerReferenceDescriptor;
-import com.sun.enterprise.deployment.EntityManagerFactoryReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPUMatchingEMandEMFRefTest;
-
-import java.util.Collection;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- * @see AbstractPUMatchingEMRefTest
- */
-public class PUMatchingEMandEMFRefTest extends AbstractPUMatchingEMandEMFRefTest {
-
- protected Collection<EntityManagerReferenceDescriptor>
- getEntityManagerReferenceDescriptors(Descriptor descriptor) {
- return EjbDescriptor.class.cast(descriptor)
- .getEntityManagerReferenceDescriptors();
- }
-
- protected Collection<EntityManagerFactoryReferenceDescriptor>
- getEntityManagerFactoryReferenceDescriptors(Descriptor descriptor) {
- return EjbDescriptor.class.cast(descriptor)
- .getEntityManagerFactoryReferenceDescriptors();
- }
-
- protected EjbBundleDescriptor getBundleDescriptor(Descriptor descriptor) {
- return EjbDescriptor.class.cast(descriptor).getEjbBundleDescriptor();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PersistenceContextType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PersistenceContextType.java
deleted file mode 100644
index beffb4e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PersistenceContextType.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EjbBundleDescriptor;
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.deployment.EntityManagerReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPersistenceContextType;
-
-import java.util.Collection;
-
-/**
- * @author bshankar@sun.com
- * @see AbstractPersistenceContextType
- */
-public class PersistenceContextType extends AbstractPersistenceContextType {
-
- protected Collection<EntityManagerReferenceDescriptor>
- getEntityManagerReferenceDescriptors(Descriptor descriptor) {
- return EjbDescriptor.class.cast(descriptor)
- .getEntityManagerReferenceDescriptors();
- }
-
- protected boolean isStatefulSessionBean(Descriptor d) {
- if (d instanceof EjbSessionDescriptor) {
- String stateType = ((EjbSessionDescriptor)d).getSessionType();
- if (EjbSessionDescriptor.STATEFUL.equals(stateType)) {
- return true;
- }
- }
- return false;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PersistenceUnitCount.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PersistenceUnitCount.java
deleted file mode 100644
index cbf2359..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/PersistenceUnitCount.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EjbBundleDescriptor;
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPersistenceUnitCount;
-
-
-/**
- * @author bshankar@sun.com
- * @see AbstractPersistenceUnitCount
- */
-public class PersistenceUnitCount extends AbstractPersistenceUnitCount {
-
- protected EjbBundleDescriptor getRootDescriptor(Descriptor descriptor) {
- return EjbDescriptor.class.cast(descriptor).getEjbBundleDescriptor();
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/SessionBeanTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/SessionBeanTest.java
deleted file mode 100644
index 9c66606..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/SessionBeanTest.java
+++ /dev/null
@@ -1,48 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-
-/**
- * Base class for EJB 3.0 session bean tests.
- * @author Vikas Awasthi
- */
-public abstract class SessionBeanTest extends EjbTest {
-
- public abstract Result check(EjbSessionDescriptor descriptor) ;
- protected ComponentNameConstructor compName = null;
- protected Result result = null;
-
- public Result check(EjbDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- if (descriptor instanceof EjbSessionDescriptor)
- return check((EjbSessionDescriptor) descriptor);
-
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.ejb30.SessionBeanTest.notApplicable",
- "Test apply only to Session Bean components"));
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/ValidBusinessInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/ValidBusinessInterface.java
deleted file mode 100644
index 536d4e2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/ejb30/ValidBusinessInterface.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.ejb30;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Set;
-
-/**
- * Business interface of an enterprise bean must be an interface and must not be
- * defined as a class.
- *
- * @author Vikas Awasthi
- */
-public class ValidBusinessInterface extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- Set<String> remoteAndLocalIntfs = descriptor.getRemoteBusinessClassNames();
- remoteAndLocalIntfs.addAll(descriptor.getLocalBusinessClassNames());
-
- for (String remoteOrLocalIntf : remoteAndLocalIntfs) {
- try {
- ClassLoader classLoader = getVerifierContext().getClassLoader();
- Class c = Class.forName(remoteOrLocalIntf, false, classLoader);
- if(!c.isInterface()) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "[ {0} ] is defined as a class. It should be an interface.",
- new Object[] {c}));
- }
- } catch (ClassNotFoundException e) {
- // ignore as it will be caught in other tests
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Business Interface(s) are valid."));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/ContainerTransactionMethodExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/ContainerTransactionMethodExists.java
deleted file mode 100644
index aeabd56..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/ContainerTransactionMethodExists.java
+++ /dev/null
@@ -1,64 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Map;
-
-/**
- * Methods used in container-transaction element of the deployment descriptor
- * must be methods defined in the enterprise bean's component and/or home
- * interface.
- */
-public class ContainerTransactionMethodExists extends MethodsExist implements EjbCheck {
-
- /**
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- Map<MethodDescriptor,
- ContainerTransaction> transactionalMethods = descriptor.getMethodContainerTransactions();
-
- if (transactionalMethods!=null) {
- for (MethodDescriptor methodDescriptor : transactionalMethods.keySet())
- checkMethodStyles(methodDescriptor, descriptor);
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid container transaction method(s) found."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbLinkElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbLinkElement.java
deleted file mode 100755
index a20016a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbLinkElement.java
+++ /dev/null
@@ -1,179 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-import java.util.logging.Level;
-
-/**
- * The value of the ejb-link element must be the ejb-name of an enterprise
- * bean in the same ejb-jar file.
- */
-public class EjbLinkElement extends EjbTest implements EjbCheck {
-
- /**
- * The referenced bean must be an enterprise bean in the same ear file.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean resolved = false;
- boolean oneFailed = false;
- int na = 0;
-
- // The value of the ejb-link element must be the ejb-name of an enterprise
- // bean in the same J2EE Application archive.
- /*
- if (Verifier.getEarFile() == null) {
- // this ejb-jar is not part of an .ear file
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable
- (smh.getLocalString(getClass().getName() + ".no_ear",
- "This ejb jar [ {0} ] is not part of a J2EE Archive.",
- new Object[] {descriptor.getName()}));
- return result;
- }
- */
-
-// String applicationName = null;
- // The value of the ejb-link element must be the ejb-name of an enterprise
- // bean in the same application .ear file.
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- if (nextEjbReference.isLinked()) {
- String ejb_link = nextEjbReference.getLinkName();
- ejb_link = ejb_link.substring(ejb_link.indexOf("#") + 1);
-
- try {
-
-// applicationName = application.getName();
-// File tmpFile = new File(System.getProperty("java.io.tmpdir"));
-// tmpFile = new File(tmpFile, Verifier.TMPFILENAME + ".tmp");
- Set ejbBundles = descriptor.getApplication().getBundleDescriptors(EjbBundleDescriptorImpl.class);
- Iterator ejbBundlesIterator = ejbBundles.iterator();
- EjbBundleDescriptorImpl ejbBundle = null;
-
- while (ejbBundlesIterator.hasNext()) {
- ejbBundle = (EjbBundleDescriptorImpl)ejbBundlesIterator.next();
-// if (Verifier.getEarFile() != null){
-// archivist.extractEntry(ejbBundle.getModuleDescriptor().getArchiveUri(), tmpFile);
-// }
- for (Iterator itr2 = ejbBundle.getEjbs().iterator(); itr2.hasNext();) {
-
- EjbDescriptor ejbDescriptor = (EjbDescriptor) itr2.next();
- if (ejbDescriptor.getName().equals(ejb_link)) {
- resolved = true;
- logger.log(Level.FINE, getClass().getName() + ".passed",
- new Object[] {ejb_link,ejbDescriptor.getName()});
- addGoodDetails(result, compName);
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid referenced bean [ {0} ].",
- new Object[] {ejb_link}));
- break;
- }
- }
-
- }
- } catch(Exception e) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Exception occured while opening or saving the J2EE archive.",
- new Object[] {}));
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.testsprint",
- new Object[] {"[" + getClass() + "] Error: " + e.getMessage()});
-
- if (!oneFailed) {
- oneFailed = true;
- }
- }
-
- // before you go onto the next ejb-link, tell me whether you
- // resolved the last ejb-link okay
- if (!resolved) {
- if (!oneFailed) {
- oneFailed = true;
- }
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No EJB matching [ {0} ] found within [ {1} ] jar file.",
- new Object[] {ejb_link, descriptor.getName()}));
- } else {
- // clear the resolved flag for the next ejb-link
- resolved =false;
- }
-
- } else {
- // Cannot get the link name of an ejb reference referring
- // to an external bean, The value of the ejb-link element
- // must be the ejb-name of an enterprise bean in the same
- // ejb-ear file.
- addNaDetails(result, compName);
- result.addNaDetails
- (smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Warning: Cannot verify the existence of an ejb reference [ {0} ] to external bean within different .ear file.",
- new Object[] {nextEjbReference.getName()}));
- na++;
- }
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (na == descriptor.getEjbReferenceDescriptors().size()) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
-// File tmpFile = new File(System.getProperty("java.io.tmpdir"));
-// tmpFile = new File(tmpFile, Verifier.TMPFILENAME + ".tmp");
-// tmpFile.delete();
- return result;
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbMethodIntfElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbMethodIntfElement.java
deleted file mode 100755
index 05bec57..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbMethodIntfElement.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.MethodPermission;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.util.Enumeration;
-import java.util.HashSet;
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-
-/**
- * The method-intf element must be one of the following "Remote" or "Home" or "LocalHome" or "Local".
- */
-public class EjbMethodIntfElement extends EjbTest implements EjbCheck {
-
-
- /**
- * The method-intf element must be one of the following "Remote" or "Home" or "LocalHome" or "Local".
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-
- // method-intf don't make sense for messagedriven bean
- if (descriptor instanceof EjbMessageBeanDescriptor) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no <method-intf> elements within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
-
- boolean na = false;
- boolean na1 = false;
- boolean oneFailed = false;
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
-
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
- String methodIntf = methodDescriptor.getEjbClassSymbol();
- if ( methodIntf == null ) { //|| methodIntf.equals("")
- continue;
- }
- // The method-intf element must be one of the following
- // Home Remote LocalHome Local ServiceEndpoint
- if (!( (methodIntf.equals(MethodDescriptor.EJB_REMOTE)) ||
- (methodIntf.equals(MethodDescriptor.EJB_HOME)) ||
- (methodIntf.equals(MethodDescriptor.EJB_LOCALHOME)) ||
- (methodIntf.equals(MethodDescriptor.EJB_LOCAL)) ||
- (methodIntf.equals(MethodDescriptor.EJB_WEB_SERVICE)) ||
- (methodIntf.length()==0))) {
- // The method-intf element must be one of the following "Remote" or "Home"
-// if (!((methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)) ||
-// (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)) ||
-// (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) ||
-// (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) ||
-// (methodDescriptor.getEjbClassSymbol().length()==0))) {
- oneFailed =true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Container transaction method [ {0} ] method-intf element [ {1} ] must be one of the following: [ {2} ] or [ {3} ] or [ {4} ] or [ {5} ] within bean [ {6} ]",
- new Object[] {methodDescriptor.getName(),methodDescriptor.getEjbClassSymbol(),
- MethodDescriptor.EJB_REMOTE.toString(), MethodDescriptor.EJB_HOME,
- MethodDescriptor.EJB_LOCAL, MethodDescriptor.EJB_LOCALHOME,
- descriptor.getName()}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Container Transaction method [ {0} ] method-intf element [ {1} ] is one of the following: [ {2} ] or [ {3} ] or [ {4} ] or [ {5} ] within bean [ {6} ]",
- new Object[] {methodDescriptor.getName(),methodDescriptor.getEjbClassSymbol(),
- MethodDescriptor.EJB_REMOTE, MethodDescriptor.EJB_HOME,
- MethodDescriptor.EJB_LOCAL, MethodDescriptor.EJB_LOCALHOME,
- descriptor.getName()}));
- }
- }
- } else {
- na = true;
- }
-
- Map permissionedMethods = descriptor.getPermissionedMethodsByPermission();
- if (permissionedMethods.size() >0) {
- for (Iterator e = permissionedMethods.keySet().iterator(); e.hasNext();) {
- MethodPermission nextPermission = (MethodPermission) e.next();
- Set permissionedMethodsForRole = (HashSet) permissionedMethods.get(nextPermission);
-
- if (permissionedMethodsForRole != null) {
- Set convertedPermissionedMethods = new HashSet();
- for (Iterator itr = permissionedMethodsForRole.iterator(); itr.hasNext();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) itr.next();
-
- String methodIntf = methodDescriptor.getEjbClassSymbol();
- if ( methodIntf == null ) { //|| methodIntf.equals("")
- continue;
- }
- // The method-intf element must be one of the following
- // Home Remote LocalHome Local ServiceEndpoint
- if (!( (methodIntf.equals(MethodDescriptor.EJB_REMOTE)) ||
- (methodIntf.equals(MethodDescriptor.EJB_HOME)) ||
- (methodIntf.equals(MethodDescriptor.EJB_LOCALHOME)) ||
- (methodIntf.equals(MethodDescriptor.EJB_LOCAL)) ||
- (methodIntf.equals(MethodDescriptor.EJB_WEB_SERVICE)) ||
- (methodIntf.length()==0))) {
-
- // The method-intf element must be one of the following "Remote" or "Home"
-// if (!((methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)) ||
-// (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)) ||
-// (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) ||
-// (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) ||
-// (methodDescriptor.getEjbClassSymbol().length()==0))) {
-
- oneFailed =true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Method permissions method [ {0} ] method-intf element [ {1} ] must be one of the interfaces of the bean [ {2} ]",
- new Object[] {methodDescriptor.getName(),
- methodDescriptor.getEjbClassSymbol(),
- descriptor.getName()}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "Method permissions method [ {0} ] method-intf element [ {1} ] is one of the interfaces of the bean [ {2} ]",
- new Object[] {methodDescriptor.getName(),methodDescriptor.getEjbClassSymbol(), descriptor.getName()}));
- }
- }
- }
- }
- } else {
- na1 = true;
- }
-
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (na && na1) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no <method-intf> elements within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- } catch (Throwable t) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {descriptor.getName(), t.getMessage(), descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbNameMethodElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbNameMethodElement.java
deleted file mode 100644
index e88c0ca..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbNameMethodElement.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-import java.util.logging.Level;
-
-
-/**
- * The ejb-name element within the method element must be the name of one
- * of the enterprise beans declared in the deployment descriptor.
- */
-public class EjbNameMethodElement extends EjbTest implements EjbCheck {
-
-
- /**
- * The ejb-name element within the method element must be the name of one
- * of the enterprise beans declared in the deployment descriptor.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // get ejb's methods
-
- // DOL doesn't save "ejb-name" element inside of method element
- // so i can't seem to get at raw representation of XML data needed
- // for this test,
- // <ejb-name> within <method> element is the name of the ejb
- // descriptor where you got the method descriptor from,
- // so you can't trip negative assertion and test should always pass
- // once plugged into new DOL, where access to raw XML is
- // available, then this test can be properly modified,
- // then i would use DOL similar to this:
- //Set methods = descriptor.getMethodDescriptors();
-
- //for (Iterator itr = methods.iterator(); itr.hasNext();) {
-
- //MethodDescriptor methodDescriptor = (MethodDescriptor) itr.next();
-
- boolean found = false;
- for (Iterator itr2 =
- descriptor.getEjbBundleDescriptor().getEjbs().iterator();
- itr2.hasNext();) {
- EjbDescriptor ejbDescriptor = (EjbDescriptor) itr2.next();
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {ejbDescriptor.getName()});
-
- // now iterate over all methods to ensure that ejb-name exist
- //if (methodDescriptor.getName().equals(ejbDescriptor.getName())) {
-
- // for now, do this test, which should always pass, since DOL lacks
- // raw XML data representation
- // <ejb-name> within <method> element is the name of the ejb
- // descriptor where you got the method descriptor from
- if (descriptor.getName().equals(ejbDescriptor.getName())) {
- found = true;
- if (result.getStatus() != Result.FAILED){
- result.setStatus(Result.PASSED);
- // for now, pass in details string via addGoodDetails
- // until DOL raw data issue gets resolved
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] is valid and contained within jar.",
- new Object[] {descriptor.getName()}));
- }
- }
- }
- if (!found) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not the name of one of the EJB's within jar.",
- new Object[] {descriptor.getName()}));
- //(methodDescriptor.getName() pending DOL update
- }
- //}
- return result;
-
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbRefTypeElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbRefTypeElement.java
deleted file mode 100755
index 6fc450c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbRefTypeElement.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.XpathPrefixResolver;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Iterator;
-
-/**
- * The ejb-ref-type element must be one of the following:
- * Entity
- * Session
- */
-public class EjbRefTypeElement extends EjbTest implements EjbCheck {
-
- // Logger to log messages
- /**
- * The ejb-ref-type element must be one of the following:
- * Entity
- * Session
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean failed = false;
-
- //The ejb-ref-type element must be one of the following:
- // Entity
- // Session
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors()
- .iterator(); itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference =
- (EjbReferenceDescriptor) itr.next();
-
- // Need to use XPath, because if DOL sees an inconsistent
- // ref-type, it gives a warning and changes the type
- //String ejbRefTypeStr = nextEjbReference.getType();
- String refStr = (nextEjbReference.isLocal()) ?
- "ejb-local-ref" : "ejb-ref";
- String beanType = (descriptor.getType()).toLowerCase();
- String xpathQuery = null;
- if (getVerifierContext().getDocument().getDoctype() != null) {
- xpathQuery = "/ejb-jar/enterprise-beans/" +
- beanType + "[ejb-name=\"" + descriptor.getName()
- +"\"]/" + refStr + "[ejb-ref-name=\""
- + nextEjbReference.getName() + "\"]/ejb-ref-type";
- }
- else {
- String prefix = XpathPrefixResolver.fakeXPrefix;
- xpathQuery = prefix + ":" + "ejb-jar/" +
- prefix + ":" + "enterprise-beans/" +
- prefix + ":" + beanType +
- "[" + prefix + ":ejb-name=\"" + descriptor.getName()
- +"\"]/" +
- prefix + ":" + refStr + "[" + prefix + ":ejb-ref-name=\""
- + nextEjbReference.getName() + "\"]/" +
- prefix + ":" + "ejb-ref-type";
- }
-
- String ejbRefTypeStr = getXPathValueForNonRuntime(xpathQuery);
- EjbDescriptor rdesc = (EjbDescriptor) nextEjbReference.getEjbDescriptor();
-
- /*if (rdesc == null) {
- logger.log(Level.SEVERE, getClass().getName() + ".Warn",
- new Object[] {nextEjbReference.getBeanClassName()});
- }*/
-
- // XPath queries seem to fail for XSD Descriptors
- if (ejbRefTypeStr == null) {
- ejbRefTypeStr = nextEjbReference.getType();
- }
-
- if (!((ejbRefTypeStr.equals(EjbSessionDescriptor.TYPE)) ||
- (ejbRefTypeStr.equals(EjbEntityDescriptor.TYPE)))) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: ejb-ref-type [ {0} ] within \n bean [ {1} ] is not valid. \n Must be [ {2} ] or [ {3} ]",
- new Object[] {ejbRefTypeStr,descriptor.getName(),EjbEntityDescriptor.TYPE,EjbSessionDescriptor.TYPE}));
- failed = true;
- }
- else if (rdesc != null ) {
- String actualRefType = rdesc.getType();
- if (!ejbRefTypeStr.equals(actualRefType)) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: ejb-ref-type [ {0} ] was specifed for ejb-ref [ {1} ], within bean [ {2} ], when it should have been [ {3} ].",
- new Object[] {ejbRefTypeStr,
- nextEjbReference.getName(),
- descriptor.getName(), actualRefType}));
- failed = true;
- }
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- if (failed)
- {
- result.setStatus(Result.FAILED);
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "All ejb-ref-type elements are valid. They are all [ {0} ] or [ {1} ] within this bean [ {2} ]",
- new Object[] {EjbEntityDescriptor.TYPE,EjbSessionDescriptor.TYPE,descriptor.getName()}));
- }
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbReferencesElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbReferencesElement.java
deleted file mode 100755
index 02bbd4f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbReferencesElement.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-import java.util.logging.Level;
-
-/**
- * The Bean Provider must declare all enterprise bean's references to the homes
- * of other enterprise beans as specified in section 14.3.2 of the Moscone spec.
- * Check for one within the same jar file, can't check outside of jar file.
- * Load/locate & check other bean's home/remote/bean, ensure they match with
- * what the linking bean says they should be; check for pair of referencing and
- * referenced beans exist.
- */
-public class EjbReferencesElement extends EjbTest implements EjbCheck {
-
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- // Logger to log messages
-
-
- /**
- * The Bean Provider must declare all enterprise bean's references to the homes
- * of other enterprise beans as specified in section 14.3.2 of the Moscone spec.
- * Check for one within the same jar file, can't check outside of jar file.
- * Load/locate & check other bean's home/remote/bean, ensure they match with
- * what the linking bean says they should be; check for pair of referencing and
- * referenced beans exist.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbEntityDescriptor) ||
- (descriptor instanceof EjbSessionDescriptor)) {
-
- // RULE: References to other beans must be declared in the form of
- // references to other beans homes as specified in section
- // 14.3.2 of the Moscone spec.
-
- // check for one bean within the same jar file; can't check outside of
- // jar file. need to load/locate and check other beans remote, home, bean
- // match with the linking bean says they should be. i.e. check for pair
- // of referencing & referenced bean exist, using reflection API
-
- EjbReferenceDescriptor ejbReference;
-// EjbAbstractDescriptor ejbDescriptor;
- try {
-
- String fName = null;
- Set references = descriptor.getEjbReferenceDescriptors();
- if(references == null) {
- logger.log(Level.INFO,getClass().getName() + ".refnull");
- return result;
- }
- Iterator iterator = references.iterator();
-
- if (iterator.hasNext()) {
- boolean oneFailed = false;
- // boolean foundBeanClassName = false;
- // boolean foundHomeClassName = false;
- // boolean foundRemoteClassName = false;
-// File fileName = Verifier.getArchiveFile(descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri());
-// if (fileName!=null){
-// fName = fileName.getName();
-// }else{
- fName = descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri();
-// }
- while (iterator.hasNext()) {
- ejbReference = (EjbReferenceDescriptor) iterator.next();
- if (ejbReference.isLinked()) {
- // reset
- if(ejbReference.getEjbHomeInterface() != null &&
- ejbReference.getEjbInterface() != null) {
- oneFailed = commonToBothInterfaces(ejbReference.getEjbHomeInterface(),ejbReference.getEjbInterface(),fName);
- }
- } else {
- // (e.g. external references)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Not Applicable: [ {0} ] must be external reference to bean outside of [ {1} ].",
- new Object[] {ejbReference.getName(),fName}));
- }
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no ejb references to other beans within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- } catch (Exception e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedRef",
- "Exception occurred : [ {0} ]",
- new Object[] {e.getMessage()}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] not called \n with a Session or Entity bean.",
- new Object[] {getClass()}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param home for the Home Interface of the Ejb
- * @param remote or component for the Remote/Local interface of the Ejb.
- * This parameter may be optional depending on the test
- * @param fileName of the archive file.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, String remote,String fileName) {
-
- boolean foundHomeClassName = false;
- boolean foundRemoteClassName = false;
- boolean oneFailed = false;
-
- try {
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- if (c != null) {
- foundHomeClassName = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "The referenced bean's home interface [ {0} ] exists and is loadable within [ {1} ].",
- new Object[] {home, fileName}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] class cannot be found within this jar [ {1} ].",
- new Object[] {home,fileName}));
- }
- c = Class.forName(remote, false, getVerifierContext().getClassLoader());
- if (c != null) {
- foundRemoteClassName = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed3",
- "The referenced bean's remote interface [ {0} ] exists and is loadable within [ {1} ].",
- new Object[] {remote,fileName}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] class cannot be found within this jar [ {1} ].",
- new Object[] {compName,fileName}));
- }
- return oneFailed;
- } catch (Exception e) {
- Verifier.debug(e);
- if (!oneFailed) {
- oneFailed = true;
- }
- String classStr = "";
- if (!foundHomeClassName) {
- classStr = home;
- } else if (!foundRemoteClassName) {
- classStr = remote;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: class [ {0} ] cannot be found within this jar [ {1} ].",
- new Object[] {classStr, fileName}));
- return oneFailed;
- }
- }
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbResAuthElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbResAuthElement.java
deleted file mode 100755
index d84614a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/EjbResAuthElement.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-
-/**
- * The resource-ref element res-auth subelement must be "Application" or
- * "Container".
- */
-public class EjbResAuthElement extends EjbTest implements EjbCheck {
-
-
-
- /**
- * The resource-ref element res-auth subelement must be "Application" or
- * "Container".
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- if (!descriptor.getResourceReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getResourceReferenceDescriptors().iterator(); itr.hasNext();) {
- ResourceReferenceDescriptor nextResourceReference = (ResourceReferenceDescriptor) itr.next();
- // The resource-ref element res-auth subelement must be "Application" or
- // "Container".
- if ((nextResourceReference.getAuthorization().equals(ResourceReferenceDescriptor.APPLICATION_AUTHORIZATION)) ||
- (nextResourceReference.getAuthorization().equals(ResourceReferenceDescriptor.CONTAINER_AUTHORIZATION))) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Resource-ref element res-auth sub-element value [ {0} ] is valid within bean [ {1} ]",
- new Object[] {nextResourceReference.getAuthorization(),descriptor.getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Resource-ref element res-auth sub-element value [ {0} ] is not valid within bean [ {1} ]",
- new Object[] {nextResourceReference.getAuthorization(),descriptor.getName()}));
- }
- }
- if (!oneFailed){
- result.setStatus(Result.PASSED);
- } else {
- result.setStatus(Result.FAILED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no resource reference elements defined within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
-
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/ExcludeListMethodsExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/ExcludeListMethodsExist.java
deleted file mode 100644
index 736eaa5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/ExcludeListMethodsExist.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Set;
-
-/**
- * Methods used in exclude-list element of the deployment descriptor
- * must be methods defined in the enterprise bean's component and/or home
- * interface.
- * @author Vikas Awasthi
- */
-public class ExcludeListMethodsExist extends MethodsExist implements EjbCheck {
-
- /**
- * Methods used in exclude-list element of the deployment descriptor
- * must be methods defined in the enterprise bean's remote and/or home
- * interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- Set<MethodDescriptor> permissionedMethods = descriptor.getExcludedMethodDescriptors();
- if (permissionedMethods!=null && permissionedMethods.size() >0) {
-
- for (MethodDescriptor methodDescriptor : permissionedMethods)
- checkMethodStyles(methodDescriptor, descriptor);
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid exclude list method(s) found."));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodPermissionMethodExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodPermissionMethodExists.java
deleted file mode 100644
index 6591db8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodPermissionMethodExists.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.MethodPermission;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Collection;
-import java.util.Map;
-
-/**
- * Methods used in method permission element of the deployment descriptor
- * must be methods defined in the enterprise bean's component and/or home
- * interface.
- */
-public class MethodPermissionMethodExists extends MethodsExist implements EjbCheck {
-
- /**
- * Methods used in method permission element of the deployment descriptor
- * must be methods defined in the enterprise bean's remote and/or home
- * interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- Map<MethodPermission,
- Collection<MethodDescriptor>> permissionedMethods = descriptor.getMethodPermissionsFromDD();
-
- if (permissionedMethods!=null) {
-
- for (MethodPermission methodPermission : permissionedMethods.keySet())
- for (MethodDescriptor methodDescriptor : permissionedMethods.get(methodPermission))
- checkMethodStyles(methodDescriptor, descriptor);
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid method permission method(s) found."));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodPermissionSecurityRoleExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodPermissionSecurityRoleExists.java
deleted file mode 100644
index 59d8d6b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodPermissionSecurityRoleExists.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.MethodPermission;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-import java.util.Map;
-
-/**
- * Security role used in method permission element must be defined in the roles
- * element of the deployment descriptor.
- */
-public class MethodPermissionSecurityRoleExists extends EjbTest implements EjbCheck {
-
-
-
- /**
- * Security role used in method permission element must be defined in the
- * roles element of the deployment descriptor.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Map permissionedMethods = descriptor.getPermissionedMethodsByPermission();
- boolean oneFailed = false;
- if (permissionedMethods.size() >0) {
- for (Iterator e = permissionedMethods.keySet().iterator(); e.hasNext();) {
- MethodPermission nextPermission = (MethodPermission) e.next();
- if (nextPermission.isRoleBased()) {
- if (!descriptor.getEjbBundleDescriptor().getRoles().contains(nextPermission.getRole())) {
- oneFailed =true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Method permissions role [ {0} ] must be one of the roles defined in bean [ {1} ]",
- new Object[] {nextPermission.getRole().getName(), descriptor.getName()}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: Method permissions role [ {0} ] is defined as one of the roles defined in bean [ {1} ]",
- new Object[] {nextPermission.getRole().getName(), descriptor.getName()}));
- }
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no role based method-permissions within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- if(result.getStatus() != Result.NOT_APPLICABLE)
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no <method-permission> elements within this bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodsExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodsExist.java
deleted file mode 100644
index 4a449a5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/MethodsExist.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.*;
-
-/**
- * Base class for all the MethodsExist tests.
- * ContainerTransactionMethodExists, ExcludeListMethodsExist,
- * MethodPermissionMethodExists and UncheckedMethodsExist.
- *
- * @author Vikas Awasthi
- */
-public abstract class MethodsExist extends EjbTest {
-
- protected Result result = null;
- protected ComponentNameConstructor compName = null;
- private List<Method> methods = null;
-
- /** test for method styles 1, 2 or 3 */
- protected void checkMethodStyles(MethodDescriptor methodDescriptor,
- EjbDescriptor descriptor) {
-
- if (methodDescriptor.getName().equals(MethodDescriptor.ALL_METHODS))
- return; //style 1
-
- if (methodDescriptor.getParameterClassNames() == null) //style 2
- checkStyle(methodDescriptor, descriptor, true);
- else // style 3
- checkStyle(methodDescriptor, descriptor, false);
- }
-
- private void checkStyle(MethodDescriptor methodDescriptor,
- EjbDescriptor descriptor,
- boolean isCheckStyle2) {
-
- String methodName = methodDescriptor.getName();
-
- if (methodDescriptor.getEjbClassSymbol() != null) { // method intf present
-
- if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)) {
- // if method-intf is Remote then add EJB3.0 remote business interfaces
- Set<String> interfaces= new HashSet<String>(descriptor.getRemoteBusinessClassNames());
- if(descriptor.getRemoteClassName()!=null)
- interfaces.add(descriptor.getRemoteClassName());
-
- if(!contains(methodDescriptor, getAllMethods(interfaces), isCheckStyle2))
- logFailure(methodName, "remote");
-
- } else if(methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) {
- // if method-intf is Local then add EJB3.0 local business interfaces
- Set<String> interfaces= new HashSet<String>(descriptor.getLocalBusinessClassNames());
- if(descriptor.getLocalClassName()!=null)
- interfaces.add(descriptor.getLocalClassName());
-
- if(!contains(methodDescriptor, getAllMethods(interfaces), isCheckStyle2))
- logFailure(methodName, "local");
-
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)) {
-
- if(!contains(methodDescriptor, getAllMethods(descriptor.getHomeClassName()), isCheckStyle2))
- logFailure(methodName, "home");
-
- } else if(methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) {
-
- if(!contains(methodDescriptor, getAllMethods(descriptor.getLocalHomeClassName()), isCheckStyle2))
- logFailure(methodName, "localhome");
-
- } else if(methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_WEB_SERVICE)) {
-
- String endpointIntfName = descriptor.getWebServiceEndpointInterfaceName();
- if(!contains(methodDescriptor, getAllMethods(endpointIntfName), isCheckStyle2))
- logFailure(methodName, "localhome");
-
- }
- // for ejbTimeout method of TimedObject the methodDescriptor.getEjbClassSymbol()
- // is always EJB_BEAN. So no need to check that as this test is not
- // applicable for this method.
- } else { // method intf not present
- if(!contains(methodDescriptor, getAllMethods(descriptor), true))
- logFailure(methodDescriptor.getName(), "any of component or home");
- }
- }
-
- /**
- * checks if method1 is present in the given list of methods.
- * For style 2 methods only method names are compared and for style 3
- * method parameters are also compared.
- */
- private boolean contains(MethodDescriptor method1, List<Method> methods, boolean isStyle2) {
- for (Method method : methods) {
- if(isStyle2) {// for style 2 do only name comparison
- if(method.getName().equals(method1.getName()))
- return true;
- } else if (method.getName().equals(method1.getName()) &&
- Arrays.equals(new MethodDescriptor().getParameterClassNamesFor(method, method.getParameterTypes()),
- method1.getParameterClassNames()))
- return true;
- }
- return false;
- }
-
- /**
- * It returns a list of all the methods in component and home interfaces
- * of this ejbDescriptor.
- */
- private List<Method> getAllMethods(EjbDescriptor descriptor) {
- if(methods!=null)
- return methods;
-
- methods = new ArrayList<Method>();
- Set<String> interfaces = descriptor.getLocalBusinessClassNames();
-
- interfaces.addAll(descriptor.getRemoteBusinessClassNames());
- if(descriptor.getRemoteClassName()!=null)
- interfaces.add(descriptor.getRemoteClassName());
- if(descriptor.getLocalClassName()!=null)
- interfaces.add(descriptor.getLocalClassName());
- if(descriptor.getHomeClassName()!=null)
- interfaces.add(descriptor.getHomeClassName());
- if(descriptor.getLocalHomeClassName()!=null)
- interfaces.add(descriptor.getLocalHomeClassName());
- if(descriptor.getWebServiceEndpointInterfaceName()!=null)
- interfaces.add(descriptor.getWebServiceEndpointInterfaceName());
-
- for (String intf : interfaces) {
- Class intfClass = loadClass(intf);
- if(intfClass==null)//ignore if null. Error message is already logged
- continue;
- methods.addAll(Arrays.asList(intfClass.getMethods()));
- }
- return methods;
- }
-
- /** It returns a list of all the methods in the given interface intf */
- private List<Method> getAllMethods(String intf) {
- Class intfClass = loadClass(intf);
- return (intfClass==null)? new ArrayList<Method>():Arrays.asList(intfClass.getMethods());
- }
-
- /** It returns a list of all the methods in the given interfaces */
- private List<Method> getAllMethods(Set<String> interfaces) {
- List<Method> methods = new ArrayList<Method>();
- for (String intf : interfaces) {
- Class intfClass = loadClass(intf);
- if(intfClass==null)
- continue;
- methods.addAll(Arrays.asList(intfClass.getMethods()));
- }
- return methods;
- }
-
- private Class loadClass(String className) {
- Class intfClass = null;
- try {
- intfClass = Class.forName(className,
- false,
- getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Interface class not found. [ {0} ]",
- new Object[] {className}));
- }
- return intfClass;
- }
-
- private void logFailure(String msg1, String msg2) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Method name [ {0} ] not defined in {1} interface.",
- new Object[] {msg1, msg2}));
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/UncheckedMethodsExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/UncheckedMethodsExist.java
deleted file mode 100644
index 784ba68..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/elements/UncheckedMethodsExist.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.elements;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Set;
-
-/**
- * Methods used in unchecked element of the deployment descriptor
- * must be methods defined in the enterprise bean's component and/or home
- * interface.
- * @author Vikas Awasthi
- */
-public class UncheckedMethodsExist extends MethodsExist implements EjbCheck {
-
- /**
- * Methods used in unchecked element of the deployment descriptor
- * must be methods defined in the enterprise bean's component and/or home
- * interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- Set<MethodDescriptor> permissionedMethods = descriptor.getUncheckedMethodDescriptors();
- if (permissionedMethods!=null && permissionedMethods.size() >0) {
-
- for (MethodDescriptor methodDescriptor : permissionedMethods)
- checkMethodStyles(methodDescriptor, descriptor);
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid unchecked method(s) found."));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/AbstractSchemaNameIsValidJavaIdentifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/AbstractSchemaNameIsValidJavaIdentifier.java
deleted file mode 100755
index 6c607ad..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/AbstractSchemaNameIsValidJavaIdentifier.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * @author Sudipto Ghosh
- *
- */
-public class AbstractSchemaNameIsValidJavaIdentifier extends EjbTest implements EjbCheck{
- /**
- * For an entity-bean the abstract-schema-name must be a valid Java identifier.
- * See ejb specification 2.1 section 10.3.13
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor){
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String abstractSchema = null;
-
- if(descriptor instanceof EjbEntityDescriptor) {
- if (((EjbEntityDescriptor)descriptor).getPersistenceType().equals(EjbEntityDescriptor.CONTAINER_PERSISTENCE)) {
- if (((EjbCMPEntityDescriptor) descriptor).getCMPVersion()==EjbCMPEntityDescriptor.CMP_2_x) {
- abstractSchema = ((EjbCMPEntityDescriptor)descriptor).getAbstractSchemaName();
- if(abstractSchema!=null) {
- boolean isJavaIdentifier=true;
- boolean startChar=Character.isJavaIdentifierStart(abstractSchema.charAt(0));
- if (startChar) {
- for(int i=1;i<abstractSchema.length();i++)
- if(!Character.isJavaIdentifierPart(abstractSchema.charAt(i))) {
- isJavaIdentifier=false;
- break;
- }
- } else {
- isJavaIdentifier=false;
- }
- if(isJavaIdentifier) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "abstract-schema-name [ {0} ] within bean [ {1} ] is a valid java identifier",
- new Object[] {abstractSchema, descriptor.getName()}));
- }else{
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "abstract-schema-name [ {0} ] within bean [ {1} ] is not a valid java identifier",
- new Object[] {abstractSchema, descriptor.getName()}));
- }
- }
- }
- }
- }
- if(abstractSchema==null){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "abstract-schema-name is not defined or this is not applicable for this bean"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/CMPFieldExistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/CMPFieldExistence.java
deleted file mode 100644
index 1a37b07..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/CMPFieldExistence.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor;
-
-/**
- * Any CMP entity bean should have at least one cmp field defined in the DDs
- */
-public class CMPFieldExistence extends EjbTest implements EjbCheck {
-
-
- /**
- * Any CMP entity bean should have at least one cmp field defined in the DDs
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
- EjbCMPEntityDescriptor cmpDesc = (EjbCMPEntityDescriptor) descriptor;
- PersistenceDescriptor persDesc = cmpDesc.getPersistenceDescriptor();
- if (persDesc.getCMPFields().size()==0) {
- result.failed(smh.getLocalString
- (getClass().getName()+"failed",
- "For CMP entity bean [ {0} ], no cmp field are defined",
- new Object[] {descriptor.getName()}));
- } else {
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "For CMP entity bean [ {0} ], some cmp fields are defined",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
- }
-
- // everything else is NA
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "The EJB [ {0} ] is not an CMP entity bean",
- new Object[] {descriptor.getName()}));
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EjbClassImplementsComponentInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EjbClassImplementsComponentInterface.java
deleted file mode 100644
index 3ebc3d9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EjbClassImplementsComponentInterface.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Optionally implements the enterprise Bean's remote interface test.
- * The class may, but is not required to, implement the enterprise Bean's
- * remote interface. It is recommended that the enterprise bean class
- * not implement the remote interface to prevent inadvertent passing of
- * this as a method argument or result.
- * Note: Display warning to user in this instance.
- */
-public class EjbClassImplementsComponentInterface extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Optionally implements the enterprise Bean's remote interface test.
- * The class may, but is not required to, implement the enterprise Bean's
- * remote interface. It is recommended that the enterprise bean class
- * not implement the remote interface to prevent inadvertent passing of
- * this as a method argument or result.
- * Note: Display warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),(EjbEntityDescriptor)descriptor);
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),(EjbEntityDescriptor)descriptor);
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- private void commonToBothInterfaces(String component, EjbDescriptor descriptor) {
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- Class rc = Class.forName(component, false, getVerifierContext().getClassLoader());
- boolean foundOne = false;
- // walk up the class tree
- do {
- Class[] interfaces = c.getInterfaces();
-
- for (int i = 0; i < interfaces.length; i++) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {interfaces[i].getName()});
-
- if (interfaces[i].getName().equals(rc.getName()) &&
- descriptor instanceof EjbEntityDescriptor) {
- // display warning to user
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: [ {0} ] class implments the enterprise Bean's remote interface [ {1} ]. It is recommended that the enterprise bean class not implement the remote interface to prevent inadvertent passing of this as a method argument or result. The class must provide no-op implementations of the methods defined in the jakarta.ejb.EJBObject interface.",
- new Object[] {descriptor.getEjbClassName(),rc.getName()}));
- foundOne = true;
- break;
- }
- }
- } while ((c=c.getSuperclass()) != null);
-
- if (!foundOne) {
- // does not implement Bean's remote interface, test n/a
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "[ {0} ] does not optionally implement bean class remote interface [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),rc.getName()}));
- } else {
- // if the class implements the enterprise Bean's remote interface,
- // the class must provide no-op implementations of the methods
- // defined in the jakarta.ejb.EJBObject interface.
-
- // i can check all methods defined within jakarta.ejb.EJBObject
- // interface, but i can't tell whether they are no-ops
- // do nothing
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EjbNameIsValidJavaIdentifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EjbNameIsValidJavaIdentifier.java
deleted file mode 100755
index 5d9fb4f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EjbNameIsValidJavaIdentifier.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * @author Sudipto Ghosh
- */
-public class EjbNameIsValidJavaIdentifier extends EjbTest implements EjbCheck{
-
- /**
- * For an entity-bean the ejb-name must be a valid Java identifier.
- * See ejb specification 2.1 section 10.3.13
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- String ejbName = descriptor.getName();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if(descriptor instanceof EjbEntityDescriptor) {
- if (((EjbEntityDescriptor)descriptor).getPersistenceType().equals(EjbEntityDescriptor.CONTAINER_PERSISTENCE)) {
- boolean isJavaIdentifier=true;
- boolean startChar=Character.isJavaIdentifierStart(ejbName.charAt(0));
- if(startChar) {
- for(int i=1;i<ejbName.length();i++)
- if(!Character.isJavaIdentifierPart(ejbName.charAt(i))) {
- isJavaIdentifier=false;
- break;
- }
- } else {
- isJavaIdentifier=false;
- }
- //if start Character is not valid or any of the part characters of ejb-name is not
- //valid JavaIdentifier
- if(isJavaIdentifier) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "ejb-name [ {0} ] within bean [ {1} ] is a valid java identifier",
- new Object[] {ejbName, descriptor.getName()}));
- return result;
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "ejb-name [ {0} ] within bean [ {1} ] is not a valid java identifier",
- new Object[] {ejbName, descriptor.getName()}));
- return result;
- }
- }
- }
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, with Container Managed Persistence.",
- new Object[] {getClass(),"Entity"}));
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EntityBeanExtendsSerializableClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EntityBeanExtendsSerializableClass.java
deleted file mode 100644
index e64a47e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EntityBeanExtendsSerializableClass.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * The interfaces/classes that the entity bean implements must be serializable
- * directly or indirectly.
- * @author Sheetal Vartak
- */
-public class EntityBeanExtendsSerializableClass extends EjbTest implements EjbCheck {
-
- /**
- * The interfaces/classes that the entity bean implements must be
- * serializable directly or indirectly.
- * Ejb 2.1 says that "The bean class that uses the timer service must
- * implement the jakarta.ejb.TimedObject interface."
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean validBean = true;
- Class superClass = c.getSuperclass();
- if (validBean == true) {
- // walk up the class tree
- if(!(superClass.getName()).equals("java.lang.Object")) {
- if (!isValidSerializableType(superClass) &&
- !isTimedObject(superClass)) {
- validBean = false;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "[ {0} ] extends class [ {1} ] which is not serializable. ",
- new Object[] {descriptor.getEjbClassName(),superClass.getName()}));
- result.setStatus(Result.WARNING);
- return result;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed1",
- "Bean [ {0} ] extends class [ {1} ] which is serializable. ",
- new Object[] {descriptor.getEjbClassName(), superClass.getName()}));
- do {
- Class[] interfaces = c.getInterfaces();
-
- for (int i = 0; i < interfaces.length; i++) {
-
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {interfaces[i].getName()});
-
- if (!isValidSerializableType(interfaces[i])
- && !isTimedObject(interfaces[i])) {
- validBean = false;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "[ {0} ] implements interface [ {1} ] which is not serializable. ",
- new Object[] {descriptor.getEjbClassName(),interfaces[i].getName()}));
- result.setStatus(Result.WARNING);
- break;
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (validBean != false)));
- }
- }
- if (validBean == true){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Bean [ {0} ] implements interfaces which are all serializable. ",
- new Object[] {descriptor.getEjbClassName()}));
- result.setStatus(Result.PASSED);
- }
- }
-
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /** Class checked for implementing java.io.Serializable interface test.
- * Verify the following:
- *
- * The class must implement the java.io.Serializable interface, either
- * directly or indirectly.
- *
- * @param serClass the class to be checked for Rmi-IIOP value type
- * compliance
- *
- * @return <code>boolean</code> true if class implements java.io.Serializable, false otherwise
- */
- public static boolean isValidSerializableType(Class serClass) {
-
- if (java.io.Serializable.class.isAssignableFrom(serClass))
- return true;
- else
- return false;
- }
-
- public static boolean isTimedObject(Class serClass) {
- if (jakarta.ejb.TimedObject.class.isAssignableFrom(serClass))
- return true;
- else
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EntityBeanInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EntityBeanInterface.java
deleted file mode 100755
index 74e99c1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/EntityBeanInterface.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Implements the EntityBean Interface test.
- * All entity Beans must implement, directly or indirectly, the EntityBean
- * interface.
- */
-public class EntityBeanInterface extends EjbTest implements EjbCheck {
-
- /**
- * Implements the EntityBeaan Interface test.
- * All entity Beans must implement, directly or indirectly, the EntityBean
- * interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean validBean = false;
- // walk up the class tree
- do {
- Class[] interfaces = c.getInterfaces();
-
- for (int i = 0; i < interfaces.length; i++) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {interfaces[i].getName()});
-
- if (interfaces[i].getName().equals("jakarta.ejb.EntityBean") &&
- descriptor instanceof EjbEntityDescriptor) {
- validBean = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly implements the EntityBean interface.",
- new Object[] {descriptor.getEjbClassName()}));
- break;
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validBean)));
-
- if (!validBean){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly implement the EntityBean interface. All entity beans must implement the EntityBean interface. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/FieldNameElementPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/FieldNameElementPublic.java
deleted file mode 100644
index 9d30731..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/FieldNameElementPublic.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Iterator;
-import java.util.logging.Level;
-
-/**
- * The field-name element name must be a public field of the enterprise bean
- * class or one of its superclasses.
- */
-public class FieldNameElementPublic extends EjbTest implements EjbCheck {
-
- /**
- * The field-name element name must be a public field of the enterprise bean
- * class or one of its superclasses.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
-
- // this test apply only to 1.x cmp beans, in 2.x fields are virtual fields only
- if (EjbCMPEntityDescriptor.CMP_1_1!=((EjbCMPEntityDescriptor) descriptor).getCMPVersion()) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable3",
- "Test do not apply to this cmp-version of container managed persistence EJBs"));
- return result;
- }
-
- // RULE: Entity w/Container managed persistence bean provider must
- // specify container managed fields in the persistent-fields
- // element. The field-name element name must be a public field
- // of the enterprise bean class or one of its superclasses.
-
- boolean resolved = false;
- boolean oneFailed = false;
-
- if (!((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields().isEmpty()) {
- // check class to get all fields that actually exist
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
-
- for (Iterator itr =
- ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields().iterator();
- itr.hasNext();) {
-
- FieldDescriptor nextPersistentField = (FieldDescriptor)itr.next();
- String fieldName = nextPersistentField.getName();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- // start do while loop here....
- do {
- // Returns an array containing Field objects
- // reflecting all the accessible public fields of the class
- // or interface represented by this Class object.
- Field fields[] = c.getFields();
-
- //loop thru all field array elements and ensure fieldName exist
- for (int i=0; i < fields.length; i++) {
- if (fieldName.equals(fields[i].getName())) {
- resolved = true;
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {fieldName,fields[i].toString(),c.getName()});
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] found in public fields of bean [ {1} ]",
- new Object[] {fieldName,c.getName()}));
- break;
- } else {
- logger.log(Level.FINE, getClass().getName() + ".debug",
- new Object[] {fieldName,fields[i].toString(),c.getName()});
- }
- }
- } while (((c = c.getSuperclass()) != null) && (!resolved));
-
- // before you go onto the next field name, tell me whether you
- // resolved the last field name okay
- if (!resolved) {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: [ {0} ] not found in public fields of bean [ {1} ]",
- new Object[] {fieldName,descriptor.getEjbClassName()}));
- }
- // clear the resolved flag for the next field name
- if (resolved) {
- resolved = false;
- }
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- } catch (Exception e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] within bean [ {1} ]",
- new Object[] {e.getMessage(),descriptor.getName()}));
- }
- } else {
- // persistent fields are empty
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No persistent fields are defined for bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- } else { //BEAN_PERSISTENCE.equals(persistentType)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistentType}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected \n {1} bean, but called with {2} bean",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/HomeInterfacePostCreateMethodExceptionMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/HomeInterfacePostCreateMethodExceptionMatch.java
deleted file mode 100644
index 36a480b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/HomeInterfacePostCreateMethodExceptionMatch.java
+++ /dev/null
@@ -1,272 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-
-/**
- * Entity beans home interface method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines one or more create(...) methods.
- *
- * All the exceptions defined in the throws clause of an ejbPostCreate method
- * of the enterprise Bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *
- */
-public class HomeInterfacePostCreateMethodExceptionMatch extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean foundAtLeastOneCreate = false;
-
- /**
- * Entity beans home interface method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines one or more create(...) methods.
- *
- * All the exceptions defined in the throws clause of an ejbPostCreate method
- * of the enterprise Bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
-
- // RULE: entity home interface are only allowed to have create
- // methods which match ejbPostCreate, and exceptions match Bean's
-
- if(descriptor.getHomeClassName() != null) {
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- }
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null) {
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
- }
- }
-
- if (!foundAtLeastOneCreate) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "In Home Interface ",
- new Object[] {}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No create method was found, test not applicable." ));
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home Interface of the Ejb
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor) {
- int ejbPostCreateMethodLoopCounter = 0;
- boolean oneFailed = false;
- foundAtLeastOneCreate = false;
- try {
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Class methodReturnType;
- Class [] methodParameterTypes;
- Class [] methodExceptionTypes;
- Class [] ejbPostCreateMethodExceptionTypes;
- Class [] ejbPostCreateMethodParameterTypes;
- boolean ejbPostCreateFound = false;
- boolean signaturesMatch = false;
- boolean exceptionsMatch = false;
- boolean createExists = false;
-
- Method [] homeMethods = c.getDeclaredMethods();
- Vector<Method> createMethodSuffix = new Vector<Method>();
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- foundAtLeastOneCreate = true;
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- }
- }
- if(foundAtLeastOneCreate == false)
- return false;
-
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- do {
- Method [] methods = EJBClass.getDeclaredMethods();
- // find matching "ejbCreate" in bean class
- for (int i = 0; i < methods.length; i++) {
- ejbPostCreateFound = false;
- signaturesMatch = false;
- exceptionsMatch = false;
- Method [] ejbPostCreateMethods = EJBClass.getDeclaredMethods();
- //ejbPostCreateMethods1 = null;
- //ejbPostCreateMethods1 = ejbPostCreateMethods;
- ejbPostCreateMethodLoopCounter = 0;
- // Method [] ejbPostCreateMethods = EJBClass.getDeclaredMethods();
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- ejbPostCreateFound = true;
- String matchSuffix = methods[i].getName().substring(13);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- if (matchSuffix.equals(((Method)(createMethodSuffix.elementAt(k))).getName().substring(6))) {
- // clear these from last time thru loop
- // retrieve the EJB Class Methods
- methodParameterTypes = ((Method)(createMethodSuffix.elementAt(k))).getParameterTypes();
- ejbPostCreateMethodParameterTypes = methods[i].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,ejbPostCreateMethodParameterTypes)) {
- signaturesMatch = true;
- methodExceptionTypes = ((Method)(createMethodSuffix.elementAt(k))).getExceptionTypes();
- ejbPostCreateMethodExceptionTypes = methods[i].getExceptionTypes();
- // methodExceptionTypes needs to be
- // a superset of all the possible exceptions thrown in
- // ejbPostCreateMethodExceptionTypes
- // All the exceptions defined in the throws clause of the
- // matching ejbCreate and ejbPostCreate methods of the
- // enterprise Bean class must be included in the throws
- // clause of the matching create method of the home interface
- // (i.e the set of exceptions defined for the create method
- // must be a superset of the union of exceptions defined for
- // the ejbCreate and ejbPostCreate methods)
- if (RmiIIOPUtils.isEjbFindMethodExceptionsSubsetOfFindMethodExceptions(ejbPostCreateMethodExceptionTypes,methodExceptionTypes)) {
- exceptionsMatch = true;
- // used to display output below
- ejbPostCreateMethodLoopCounter = k;
- break;
- }
- } // method params match
- } // found ejbPostCreate
- } // for all the business methods within the bean class, loop
-
- //report for this particular create method found in home interface
- //if we know that ejbPostCreateFound got set to true in the above
- // loop, check other booleans, otherwise skip test, set status
- // to FAILED below
-
- // now display the appropriate results for this particular create
- // method
- if (ejbPostCreateFound && signaturesMatch && exceptionsMatch) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home,((Method)(createMethodSuffix.elementAt(ejbPostCreateMethodLoopCounter))).getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding [ {0} ] method with matching exceptions was found in [ {1} ].",
- new Object[] {methods[i].getName(), EJBClass.getName()}));
- } else if (ejbPostCreateFound && signaturesMatch && !exceptionsMatch) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home,((Method)(createMethodSuffix.elementAt(ejbPostCreateMethodLoopCounter))).getName()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".notApplicableDebug",
- "A corresponding [ {0} ] method was found in [ {1} ], but the exceptions did not match.",
- new Object[] {methods[i].getName(),EJBClass.getName()}));
- oneFailed = true;
- break;
- } else if (ejbPostCreateFound && !signaturesMatch) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface ",
- new Object[] {}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".notApplicableDebug2",
- "A corresponding [ {0} ] method was found in [ {1} ], but the parameters did not match.",
- new Object[] {methods[i].getName(),EJBClass.getName()}));
- oneFailed = true;
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!(ejbPostCreateFound && signaturesMatch && exceptionsMatch)));
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] or EJB class [ {1} ] does not exist or is not loadable within bean [ {2} ]",
- new Object[] {home, descriptor.getEjbClassName(), descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/PersistenceFieldsElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/PersistenceFieldsElement.java
deleted file mode 100755
index 6f00298..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/PersistenceFieldsElement.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.logging.Level;
-
-/**
- * Container-managed fields test.
- * If the enterprise bean is a Entity Bean w/Container managed persistence
- * the Bean provider must specify container managed fields in the
- * "persistent-fields" element.
- */
-public class PersistenceFieldsElement extends EjbTest implements EjbCheck {
-
- /**
- * Container-managed fields test.
- * If the enterprise bean is a Entity Bean w/Container managed persistence
- * the Bean provider must specify container managed fields in the
- * "persistent-fields" element.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
-
- // this test apply only to 1.x cmp beans, in 2.x fields are virtual fields only
- if (EjbCMPEntityDescriptor.CMP_1_1!=((EjbCMPEntityDescriptor) descriptor).getCMPVersion()) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable3",
- "Test do not apply to this cmp-version of container managed persistence EJBs"));
- return result;
- }
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {persistentType});
- // RULE: Entity w/Container managed persistence bean provider must
- // specify container managed fields in the persistent-fields
- // element
- Set persistentFields =
- ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields();
- Iterator iterator = persistentFields.iterator();
-
- // check class to see if fields actually exist
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- Descriptor persistentField;
- Field field;
- boolean oneFailed = false;
- while (iterator.hasNext()) {
- persistentField = (Descriptor)iterator.next();
- try {
- field = c.getField(persistentField.getName());
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] field found in [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),descriptor.getEjbClassName()}));
- } catch (NoSuchFieldException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: NoSuchFieldException: [ {0} ] not found in [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),descriptor.getEjbClassName()}));
- if (!oneFailed) {
- oneFailed = true;
- }
-
- } catch (SecurityException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: SecurityException: [ {0} ] not found in [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),descriptor.getEjbClassName()}));
- if (!oneFailed) {
- oneFailed = true;
- }
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException3",
- "Error: Fields don't exist or are not loadable within bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- } else if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistentType))
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected persistence type [ {0} ], but [ {1} ] bean has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistentType}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not valid persistentType within bean [ {1} ]",
- new Object[] {persistentType, descriptor.getName()}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/PersistenceType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/PersistenceType.java
deleted file mode 100755
index f93a3d1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/PersistenceType.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-
-/**
- * Entity Bean's Persistence management test.
- * If the enterprise bean is a Entity Bean, the Bean provider must use
- * the "persistence-type" element to declare whether the persistence
- * management is performed by the enterprise bean or the container.
- */
-public class PersistenceType extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's Persistence management test.
- * If the enterprise bean is a Entity Bean, the Bean provider must use
- * the "persistence-type" element to declare whether the persistence
- * management is performed by the enterprise bean or the container.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence) ||
- EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] is valid persistence type.",
- new Object[] {persistence}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not valid persistence type within bean [ {1} ].",
- new Object[] {persistence, descriptor.getName()}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected \n {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ReEntrantElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ReEntrantElement.java
deleted file mode 100755
index 0ccfb05..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ReEntrantElement.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-
-/**
- * The reentrant element must be one of the following:
- * True
- * False
- */
-public class ReEntrantElement extends EjbTest implements EjbCheck {
-
-
- /**
- * The reentrant element must be one of the following:
- * True
- * False
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // The reentrant element must be one of the following:
- // True
- // False
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean reentrant =
- ((EjbEntityDescriptor)descriptor).isReentrant();
- // this will never fail?
- // need DOL to turn off checking and map XML elements to DOL 1-1
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "reEntrant [ {0} ] is valid within bean [ {1} ]",
- new Object[] {new Boolean(reentrant),descriptor.getName()}));
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected \n {1} bean, but called with {2} bean",
- new Object[] {getClass(),"Entity","Session"}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/TransactionDemarcationComponentInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/TransactionDemarcationComponentInterface.java
deleted file mode 100644
index b40c15d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/TransactionDemarcationComponentInterface.java
+++ /dev/null
@@ -1,355 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Enumeration;
-
-
-/**
- * Entity Bean transaction demarcation type for all methods of component
- * interface test.
- * The transaction attributes must be specified for the methods defined
- * in the bean's component interface and all the direct and indirect
- * superinterfaces of the component interface, excluding the "getEJBHome",
- * "getHandle", "getPrimaryKey", "isIdentical" methods.
- */
- public class TransactionDemarcationComponentInterface extends EjbTest implements EjbCheck {
-
- static String[] EJBObjectMethods =
- { "getEJBHome", "getHandle", "getEJBLocalHome", "getPrimaryKey", "isIdentical"
- };
- Result result = null;
- ComponentNameConstructor compName = null;
-
-
- /**
- * Entity Bean transaction demarcation type for all methods of component
- * interface test.
- * The transaction attributes must be specified for the methods defined
- * in the bean's component interface and all the direct and indirect
- * superinterfaces of the component interface, excluding the "getEJBHome",
- * "getHandle", "getPrimaryKey", "isIdentical", "getEJBLocalHome" methods.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- // The transaction attributes must be specified for the methods defined
- // in the bean's component interface and all the direct and indirect
- // superinterfaces of the component interface, excluding the "getEJBHome",
- // "getHandle", "getPrimaryKey", "isIdentical" methods of the
- // jakarta.ejb.EJBObject interface.
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor, MethodDescriptor.EJB_REMOTE);
- if(oneFailed == false) {
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalClassName(),descriptor, MethodDescriptor.EJB_LOCAL);
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- } catch (Throwable t) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Component interface does not contain class [ {0} ] within bean [ {1} ]",
- new Object[] { t.getMessage(), descriptor.getName()}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and component interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param component for the Remote/Local interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String component, EjbDescriptor descriptor, String methodIntf) {
- boolean oneFailed = false;
- try {
- Arrays.sort(EJBObjectMethods);
-
- // retrieve the component interface methods
- Class componentInterfaceClass = Class.forName(component, false, getVerifierContext().getClassLoader());
- Method [] componentInterfaceMethods = componentInterfaceClass.getDeclaredMethods();
- boolean lookForIt = false;
-
- for (int i = 0; i < componentInterfaceMethods.length; i++) {
- if (Arrays.binarySearch(EJBObjectMethods, componentInterfaceMethods[i].getName()) < 0) {
- try {
- ContainerTransaction containerTransaction = null;
- boolean resolved = false;
-/*
- // This flag is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //boolean allMethods = false;
- boolean wildCardWasPresent = false;
-*/
-
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- lookForIt = false;
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
-
- /*** Fixed the bug: 4883730. ejbClassSymbol is null when method-intf is not
- * defined in the xml, since it is an optional field. Removed the earlier
- * checks. A null method-intf indicates that the method is supposed to be
- * in both Local & Home interfaces. ***/
-/*
- // This code is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- String methodIntf = null;
- try {
- methodIntf = methodDescriptor.getEjbClassSymbol();
- } catch ( Exception ex ) {}
- if ( methodIntf == null ) { //|| methodIntf.equals("")
- //probably a wildcard was there
- wildCardWasPresent = true;
- continue;
- }
- //allMethods = true;
- // end of workaround
-*/
-
- // here we have to check that each method descriptor
- // corresponds to a or some methods on the component interface
- // according to the six styles
- // style 1)
- if (methodDescriptor.getName().equals(MethodDescriptor.ALL_METHODS)) {
- // if getEjbClassName() is Remote -> CARRY ON
- // if Remote - PASS
- if (methodDescriptor.getEjbClassSymbol() == null) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)) {
- lookForIt = true;
- // if empty String PASS
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) {
- lookForIt = true;
- }else if (methodDescriptor.getEjbClassSymbol().equals("")) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)) {
- lookForIt = false;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) {
- lookForIt = false;
- }else {
- // carry on & don't look for
- // container transaction
- lookForIt = false;
- }
-
-
- } else if (methodDescriptor.getParameterClassNames() == null) {
-
-
- // if (getEjbClassSybol() is Remote or is the empty String AND if componentInterfaceMethods[i].getName().equals(methodDescriptor.getName())
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) &&
- (componentInterfaceMethods[i].getName().equals(methodDescriptor.getName()))) {
- // PASS
- lookForIt = true;
- } else {
- // carry on
- lookForIt = false;
- }
-
-
- } else {
-
- // if (getEjbClassSybol() is Remote or is the empty String AND if componentInterfaceMethods[i].getName().equals(methodDescriptor.getName()) AND
- // the parameters of the method[i] are the same as the parameters of the method descriptor )
-
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL))&&
- (componentInterfaceMethods[i].getName().equals(methodDescriptor.getName()))&&
- (MethodUtils.stringArrayEquals(methodDescriptor.getParameterClassNames(), (new MethodDescriptor(componentInterfaceMethods[i], methodIntf)).getParameterClassNames()))) {
- // PASS
- lookForIt = true;
- } else {
- // CARRY ON
- lookForIt = false;
- }
-
- }
-
- if (lookForIt) {
- containerTransaction =
- (ContainerTransaction) descriptor.getMethodContainerTransactions().get(methodDescriptor);
- if (containerTransaction != null) {
- String transactionAttribute =
- containerTransaction.getTransactionAttribute();
-
- // danny is doing this in the DOL, but is it possible to not have
- // any value for containerTransaction.getTransactionAttribute()
- // in the DOL? if it is possible to have blank value for this,
- // then this check is needed here, otherwise we are done and we
- // don't need this check here
- if (ContainerTransaction.NOT_SUPPORTED.equals(transactionAttribute)
- || ContainerTransaction.SUPPORTS.equals(transactionAttribute)
- || ContainerTransaction.REQUIRED.equals(transactionAttribute)
- || ContainerTransaction.REQUIRES_NEW.equals(transactionAttribute)
- || ContainerTransaction.MANDATORY.equals(transactionAttribute)
- || ContainerTransaction.NEVER.equals(transactionAttribute)
- || (!transactionAttribute.equals(""))) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: [ {0} ] TransactionAttribute [ {1} ] for method [ {2} ] is valid. Transaction attributes must be defined for all methods except getEJBHome, getHandle, getPrimaryKey, and isIdentical methods of component interface [ {3} ].",
- new Object[] {componentInterfaceMethods[i].getName(), transactionAttribute, methodDescriptor.getName(),component}));
- resolved = true;
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] TransactionAttribute [ {1} ] for method [ {2} ] is not valid. Transaction attributes must be defined for all methods except getEJBHome, getHandle, getPrimaryKey, and isIdentical methods of component interface [ {3} ]",
- new Object[] {componentInterfaceMethods[i].getName(), transactionAttribute, methodDescriptor.getName(),component}));
- }
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: TransactionAttribute is null for method [ {0} ]",
- new Object[] {methodDescriptor.getName()}));
- }
- }
- }
- // before you go on to the next method,
- // did you resolve the last one okay?
- if (!resolved) {
-/*
- // This if-stmt code is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //if (allMethods){
- if (!wildCardWasPresent) {
-*/
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Transaction attributes must be specified for the methods defined in the component interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].",
- new Object[] {component, componentInterfaceMethods[i].getName(),descriptor.getName()}));
- }
-/*
- else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: [ {0} ] TransactionAttribute [ {1} ] for method [ {2} ] is valid. Transaction attributes must be defined for all methods except getEJBHome, getHandle, getPrimaryKey, and isIdentical methods of component interface [ {3} ].",
- new Object[] {componentInterfaceMethods[i].getName(), "*", "*" ,component}));
-// }
- // End of workaround code. Note : this else also has to be removed once
- // the original bug of methodDesc.getEjbClassSymbol() is fixed
- }
-*/
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: There are no method permissions within this bean [ {0} ]. Transaction attributes must be specified for the methods defined in the component interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.",
- new Object[] {descriptor.getName(),component, componentInterfaceMethods[i].getName()}));
- }
- if(oneFailed == true && i==componentInterfaceMethods.length-1)
- return oneFailed;
- else
- continue;
- } catch (Exception e) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Component interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {component, e.getMessage(), descriptor.getName()}));
- oneFailed = true;
- return oneFailed;
- }
- } // if you found a business method
- else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedExcep",
- "Error: Method [ {0} ] should not be assigned a transaction attribute.",
- new Object[] {componentInterfaceMethods[i].getName()}));
-
- }
- } // for all component interface methods
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Component interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {component,descriptor.getName()}));
- oneFailed = true;
- return oneFailed;
- }
-
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/TransactionDemarcationHomeInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/TransactionDemarcationHomeInterface.java
deleted file mode 100644
index 627d3e4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/TransactionDemarcationHomeInterface.java
+++ /dev/null
@@ -1,351 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Enumeration;
-
-/**
- * Entity Bean transaction demarcation type home interface methods test.
- * Transaction attributes must be specified for the methods of an entity
- * bean's home interface, excluding getEJBMetaData and getHomeHandle methods.
- */
- public class TransactionDemarcationHomeInterface extends EjbTest implements EjbCheck {
-
- static String[] EJBObjectMethods = { "getHomeHandle", "getEJBMetaData"};
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Entity Bean transaction demarcation type home interface methods test.
- * Transaction attributes must be specified for the methods of an entity
- * bean's home interface, excluding getEJBMetaData and getHomeHandle methods.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- // Transaction attributes must be specified for the methods of an entity
- // bean's home interface, excluding getEJBMetaData and getHomeHandle methods
-
- if (descriptor instanceof EjbEntityDescriptor) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor, MethodDescriptor.EJB_HOME);
- else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "There is no home interface specified for [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
- //donot need to look at the local interface since the clause is applicable to only the remote interface
- /*if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
- }*/
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- } catch (Throwable t) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Home interface does not contain class [ {0} ] within bean [ {1} ]",
- new Object[] { t.getMessage(), descriptor.getName()}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param methodIntf is the interface type
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor, String methodIntf) {
- boolean oneFailed = false;
- try {
- Arrays.sort(EJBObjectMethods);
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- boolean lookForIt = false;
-
- for (int i=0; i< methods.length; i++) {
- if (Arrays.binarySearch(EJBObjectMethods, methods[i].getName()) < 0) {
- try {
- ContainerTransaction containerTransaction = null;
- boolean resolved = false;
-/*
- // This flag is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //boolean allMethods = false;
- boolean wildCardWasPresent = false;
-*/
-
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- lookForIt = false;
-
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
-
- /*** Fixed the bug: 4883730. ejbClassSymbol is null when method-intf is not
- * defined in the xml, since it is an optional field. Removed the earlier
- * checks. A null method-intf indicates that the method is supposed to be
- * in both Local & Home interfaces. ***/
-/*
- // This code is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- String methodIntf = null;
- try {
- methodIntf = methodDescriptor.getEjbClassSymbol();
- } catch ( Exception ex ) {}
- if ( methodIntf == null ) { //|| methodIntf.equals("")
- //probably a wildcard was there
- wildCardWasPresent = true;
- continue;
- }
- //allMethods = true;
- // end of workaround
-*/
-
-
- // here we have to check that each method descriptor
- // corresponds to a or some methods on the home interface
- // according to the six styles
- // style 1)
- if (methodDescriptor.getName().equals(MethodDescriptor.ALL_METHODS)) {
- // if getEjbClassName() is Remote -> CARRY ON
- // if Home - PASS
- if (methodDescriptor.getEjbClassSymbol() == null) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)) {
- lookForIt = true;
- // if empty String PASS
- } else if (methodDescriptor.getEjbClassSymbol().equals("")) {
- lookForIt = true;
- }else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)) {
- lookForIt = false;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) {
- lookForIt = false;
- // else (Bogus)
- } else {
- // carry on & don't look for
- // container transaction
- lookForIt = false;
- }
- } else if (methodDescriptor.getParameterClassNames() == null) {
-
- // if (getEjbClassSybol() is Home or is the empty String AND if methods[i].getName().equals(methodDescriptor.getName())
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) &&
- (methods[i].getName().equals(methodDescriptor.getName()))) {
- // PASS
- lookForIt = true;
- } else {
- // carry on
- lookForIt = false;
- }
- } else {
-
- // if (getEjbClassSybol() is Home or is the empty String AND if methods[i].getName().equals(methodDescriptor.getName()) AND
- // the parameters of the method[i] are the same as the parameters of the method descriptor )
-
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) &&
- (methods[i].getName().equals(methodDescriptor.getName())) &&
- (MethodUtils.stringArrayEquals(methodDescriptor.getParameterClassNames(), (new MethodDescriptor(methods[i], methodIntf)).getParameterClassNames()))) {
- // PASS
- lookForIt = true;
- } else {
- // CARRY ON
- lookForIt = false;
- }
-
- }
-
- if (lookForIt) {
- containerTransaction =
- (ContainerTransaction) descriptor.getMethodContainerTransactions().get(methodDescriptor);
- if (containerTransaction != null) {
- String transactionAttribute =
- containerTransaction.getTransactionAttribute();
-
- // danny is doing this in the DOL, but is it possible to not have
- // any value for containerTransaction.getTransactionAttribute()
- // in the DOL? if it is possible to have blank value for this,
- // then this check is needed here, otherwise we are done and we
- // don't need this check here
- if (ContainerTransaction.NOT_SUPPORTED.equals(transactionAttribute)
- || ContainerTransaction.SUPPORTS.equals(transactionAttribute)
- || ContainerTransaction.REQUIRED.equals(transactionAttribute)
- || ContainerTransaction.REQUIRES_NEW.equals(transactionAttribute)
- || ContainerTransaction.MANDATORY.equals(transactionAttribute)
- || ContainerTransaction.NEVER.equals(transactionAttribute)
- || (!transactionAttribute.equals(""))) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: [ {0} ] TransactionAttribute [ {1} ] for method [ {2} ] is valid. Transaction attributes must be specified for all methods except getEJBMetaData and getHomeHandle methods of home interface [ {3} ]",
- new Object[] {methods[i].getName(),transactionAttribute,methodDescriptor.getName(), home}));
- resolved = true;
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] TransactionAttribute [ {1} ] for method [ {2} ] " +
- "is not valid. Transaction attributes must be specified for " +
- "all methods except getEJBMetaData and getHomeHandle methods of "+
- "home interface [ {3} ]",
- new Object[] {methods[i].getName(), transactionAttribute, methodDescriptor.getName(),home}));
- }
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: TransactionAttribute is null for method [ {0} ]",
- new Object[] {methodDescriptor.getName()}));
- }
- }
- }
- // before you go on to the next method,
- // did you resolve the last one okay?
- if (!resolved) {
-/*
- // This if-stmt code is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //if (allMethods){
- if (!wildCardWasPresent) {
-*/
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Transaction attributes must be specified for the methods defined in the home interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].",
- new Object[] {home, methods[i].getName(),descriptor.getName()}));
- }
-/*
- else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: [ {0} ] TransactionAttribute [ {1} ] for method [ {2} ] is valid. Transaction attributes must be specified for all methods except getEJBMetaData and getHomeHandle methods of home interface [ {3} ]",
- new Object[] {methods[i].getName(),"*","*", home}));
-// }
- // End of workaround code. Note : this else also has to be removed once
- // the original bug of methodDesc.getEjbClassSymbol() is fixed
-
- }
-*/
-
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: There are no method container transactions within this bean [ {0} ]. Transaction attributes must be specified for the methods defined in the home interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.",
- new Object[] {descriptor.getName(),home, methods[i].getName()}));
- }
- if(oneFailed == true && i==methods.length-1)
- return oneFailed;
- else
- continue;
-
- } catch (Exception e) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Home interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {home, e.getMessage(), descriptor.getName()}));
- oneFailed = true;
- return oneFailed;
- }
- } // if found relevant Home interface method
- else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedExcep",
- "Error: Method [ {0} ] should not be assigned a transaction attribute.",
- new Object[] {methods[i].getName()}));
-
- }
- } // for all the methods within the home interface class, loop
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- oneFailed = true;
- return oneFailed;
- }
- }
- }
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/UniqueAbstractSchemaName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/UniqueAbstractSchemaName.java
deleted file mode 100644
index cd94005..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/UniqueAbstractSchemaName.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.Iterator;
-import java.util.Vector;
-
-/**
- * The abstract schema name for every CMP bean within a jar file should be unique.
- *
- * @author Sheetal Vartak
- *
- */
-public class UniqueAbstractSchemaName extends EjbTest implements EjbCheck {
-
-
- /**
- * The abstract schema name for every CMP bean within a jar file should be unique.
- *
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- String abstractSchema = null;
-
- if (descriptor instanceof EjbEntityDescriptor) {
- if (((EjbEntityDescriptor)descriptor).getPersistenceType().equals(EjbEntityDescriptor.CONTAINER_PERSISTENCE)) {
-
- if (((EjbCMPEntityDescriptor) descriptor).getCMPVersion()==EjbCMPEntityDescriptor.CMP_2_x) {
- abstractSchema = ((EjbCMPEntityDescriptor)descriptor).getAbstractSchemaName();
- if (abstractSchema==null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "No Abstract Schema Name specified for a CMP 2.0 Entity Bean {0} ",
- new Object[] {descriptor.getName()}));
- return result;
- }
- }
- }
- if (abstractSchema ==null) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "This test is only for CMP 2.0 beans. Abstract Schema Names should be unique within an ejb JAR file."));
- return result;
- }
-
- EjbBundleDescriptorImpl bundle = descriptor.getEjbBundleDescriptor();
- Iterator iterator = (bundle.getEjbs()).iterator();
- Vector<String> schemaNames = new Vector<String>();
- while(iterator.hasNext()) {
- EjbDescriptor entity = (EjbDescriptor) iterator.next();
- if (entity instanceof EjbEntityDescriptor) {
- if (!entity.equals(descriptor)) {
- if (((EjbEntityDescriptor)entity).getPersistenceType().equals(EjbEntityDescriptor.CONTAINER_PERSISTENCE)) {
- schemaNames.addElement(((EjbCMPEntityDescriptor)entity).getAbstractSchemaName());
- }
- }
- }
- }
-
- for (int i = 0; i < schemaNames.size(); i++) {
- if (abstractSchema.equals(schemaNames.elementAt(i))) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Abstract Schema Names should be unique within an ejb JAR file. Abstract Schema Name [ {0} ] is not unique.",
- new Object[] {abstractSchema}));
- oneFailed = true;
- }
- }
- if (oneFailed == false) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED : Abstract Schema Names for all beans within the ejb JAR file are unique."));
- }
- else result.setStatus(Result.FAILED);
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "This test is only for CMP 2.0 beans. Abstract Schema Names should be unique within an ejb JAR file."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpEjbCreateMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpEjbCreateMethod.java
deleted file mode 100644
index 014d207..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpEjbCreateMethod.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity Bean's with container managed persistence ejbCreate(...) and
- * ejbPostCrete(...) methods must be defined to return the primary key class
- * type. The implementation of the ejbCreate(...) methods should be coded to
- * return a null. The returned value is ignored by the Container.
- *
- * The method signatures must follow these rules:
- *
- * The return type must be defined to return the primary key class type.
- *
- */
-public class CmpEjbCreateMethod extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's with container managed persistence ejbCreate(...) and
- * ejbPostCrete(...) methods must be defined to return the primary key class
- * type. The implementation of the ejbCreate(...) methods should be coded to
- * return a null. The returned value is ignored by the Container.
- *
- * The method signatures must follow these rules:
- *
- * The return type must be defined to return the primary key class type.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
-
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- Method [] methods1 = c.getDeclaredMethods();
- int loopCounter = 0;
-
- boolean ejbCreateFound = false;
- boolean returnsPrimaryKeyClassType = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- methods1 = null;
- methods1 = methods;
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- loopCounter++;
- returnsPrimaryKeyClassType = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The return type must be be defined to
- // return the primary key class type
- Class rt = methods[i].getReturnType();
- Class str = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName());
- do {
- if (rt.getName().equals(str.getName())) {
- returnsPrimaryKeyClassType = true;
- }
- str = str.getSuperclass();
- }while( str != null && returnsPrimaryKeyClassType != true ) ;
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && returnsPrimaryKeyClassType) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] ejbCreate(...) Method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly returns the primary key class type.",
- new Object[] {descriptor.getEjbClassName()}));
- } else if (ejbCreateFound && !returnsPrimaryKeyClassType) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] ejbCreate(...) Method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods1[loopCounter].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An ejbCreate(...) method was found, but did not properly return the primary key class type."));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (!(ejbCreateFound && returnsPrimaryKeyClassType)));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { // if (BEAN_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpEjbNoInvalidCreateMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpEjbNoInvalidCreateMethod.java
deleted file mode 100644
index edba055..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpEjbNoInvalidCreateMethod.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * CmpEjbNoInvalidCreateMethod.java
- *
- * Created on November 13, 2001, 9:36 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-/**
- * Per Ejb 2.0 spec, $14.1.8 create<METHOD> are not supported by
- * CMP 1.1. EJBs.
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmpEjbNoInvalidCreateMethod extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity beans with CMP 1.1 must not define create<METHOD>
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- try {
-
- if (descriptor instanceof EjbCMPEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence) &&
- ((EjbCMPEntityDescriptor)descriptor).getCMPVersion()==EjbCMPEntityDescriptor.CMP_1_1) {
-
- try {
- Class c = Class.forName(descriptor.getHomeClassName(), false, getVerifierContext().getClassLoader());
- Method [] methods = c.getDeclaredMethods();
- boolean oneFailed = false;
- for (int i=0;i<methods.length;i++) {
- Method aMethod = methods[i];
- if (aMethod.getName().startsWith("create")) {
- if (!aMethod.getName().endsWith("create")) {
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "CMP 1.1 entity beans are not authorized to define [ {0} ] method",
- new Object[] {aMethod.getName()}));
- oneFailed = true;
- }
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "No create<METHOD> defined for this CMP 1.1 entity bean [ {0} ] ",
- new Object[] {descriptor.getName()}));
- }
- return result;
- } catch(ClassNotFoundException cnfe) {
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getHomeClassName()}));
- return result;
- }
- }
- }
- } catch(Exception e) {
- e.printStackTrace();
- }
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] is not a CMP 1.1 Entity Bean.",
- new Object[] {descriptor.getName()}));
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFields.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFields.java
deleted file mode 100644
index 6975fef..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFields.java
+++ /dev/null
@@ -1,209 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Container-managed fields valid type test.
- *
- * The Bean Provider must ensure that the Java types assigned to the
- * container-managed fields are one of the following: Java primitive types,
- * Java serializable types, or references to enterprise beans' remote or home
- * interfaces.
- *
- */
-public class CmpFields extends EjbTest implements EjbCheck {
-
-
- /**
- * Container-managed fields valid type test.
- *
- * The Bean Provider must ensure that the Java types assigned to the
- * container-managed fields are one of the following: Java primitive types,
- * Java serializable types, or references to enterprise beans' remote or home
- * interfaces.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
-
- // this test apply only to 1.x cmp beans, in 2.x fields are virtual fields only
- if (EjbCMPEntityDescriptor.CMP_1_1 != ((EjbCMPEntityDescriptor) descriptor).getCMPVersion()) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable3",
- "Test do not apply to this cmp-version of container managed persistence EJBs"));
- return result;
- }
-
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- // RULE: container-managed fields are one of the following:
- // Java primitive types, Java serializable types, or references
- // to enterprise beans' remote or home interfaces.
- Set persistentFields =
- ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields();
- Iterator iterator = persistentFields.iterator();
-
- Descriptor persistentField;
- Field field;
- boolean oneFailed = false;
- while (iterator.hasNext()) {
- persistentField = (Descriptor)iterator.next();
- boolean foundField = false;
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- try {
- Field f = c.getDeclaredField(persistentField.getName());
- foundField = true;
- Class persistentFieldClassType = f.getType();
-
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()) &&
- descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName())) {
- if (RmiIIOPUtils.isPersistentFieldTypeValid(persistentFieldClassType,descriptor.getHomeClassName(),descriptor.getRemoteClassName())) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid type assigned to container managed field [ {0} ] found in bean [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),c.getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Invalid type assigned to container managed field [ {0} ] found in bean [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),c.getName()}));
- }
- }
-
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()) && descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName())) {
- if (RmiIIOPUtils.isPersistentFieldTypeValid(persistentFieldClassType,descriptor.getLocalHomeClassName(),descriptor.getLocalClassName())) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid type assigned to container managed field [ {0} ] found in bean [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),c.getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Invalid type assigned to container managed field [ {0} ] found in bean [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),c.getName()}));
- }
- }
-
- } catch (NoSuchFieldException e) {
- foundField = false;
- }
- } while (((c = c.getSuperclass()) != null) && (!foundField));
- if (!foundField) {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: field [ {0} ] not found in class [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else { // if (BEAN_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected persistence type [ {0} ], but [ {1} ] bean has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistentType}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsDefinedForContainerPersistence.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsDefinedForContainerPersistence.java
deleted file mode 100644
index f25bbe2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsDefinedForContainerPersistence.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.Set;
-
-/**
- * Container managed fields must have at least one element for container-managed
- * persistence, and have no container managed fields defined for bean managed
- * persistence test.
- *
- */
-public class CmpFieldsDefinedForContainerPersistence extends EjbTest implements EjbCheck {
-
-
- /**
- * Container managed fields must have at least one element for container-managed
- * persistence, and have no container managed fields defined for bean managed
- * persistence test.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
- // RULE:
- // Container managed fields must have at least one element for container-
- // managed persistence, and have no container managed fields defined for
- // bean managed persistence test.
- Set persistentFields =
- ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields();
-
- if (persistentFields.size() >= 1) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] container managed fields found in [ {1} ]",
- new Object[] {new Integer(persistentFields.size()).toString(),descriptor.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] container managed fields found in [ {1} ]. Container managed fields must have at least one element for container-managed persistence",
- new Object[] {new Integer(persistentFields.size()).toString(),descriptor.getName()}));
- }
- } else { //if (BEAN_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected persistence type [ {0} ], but [ {1} ] bean has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistentType}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsJavaTypesAssigned.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsJavaTypesAssigned.java
deleted file mode 100644
index e936702..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsJavaTypesAssigned.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Iterator;
-
-/**
- * The Bean Provider must ensure that the Java types assigned to the
- * container-managed fields are restricted to the following: Java primitive
- * types, Java serializable types, and references of enterprise beans' remote
- * or home interfaces.
- */
-public class CmpFieldsJavaTypesAssigned extends EjbTest implements EjbCheck {
-
-
- /**
- * The Bean Provider must ensure that the Java types assigned to the
- * container-managed fields are restricted to the following: Java primitive
- * types, Java serializable types, and references of enterprise beans' remote
- * or home interfaces.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
-
- // this test apply only to 1.x cmp beans
- if (EjbCMPEntityDescriptor.CMP_1_1 != ((EjbCMPEntityDescriptor) descriptor).getCMPVersion()) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable3",
- "Test do not apply to this cmp-version of container managed persistence EJBs"));
- return result;
- }
-
- boolean oneFailed = false;
- boolean badField = false;
-
- Iterator itr = ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields().iterator();
- while (itr.hasNext()) {
-
- FieldDescriptor nextPersistentField = (FieldDescriptor)itr.next();
- badField = false;
- boolean foundField = false;
-
- // ensure that the Java types assigned to the container-managed
- // fields are restricted to the following: Java primitive types,
- // Java serializable types, and references of enterprise beans'
- // remote or home interfaces.
- Class c1 = null;
- try {
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- try {
- c1 = c;
- Field f = c.getDeclaredField(nextPersistentField.getName());
- foundField = true;
- Class fc = f.getType();
- if ((RmiIIOPUtils.isValidRmiIDLPrimitiveType(fc)) ||
- (descriptor.getRemoteClassName().equals(fc.getName())) ||
- (descriptor.getHomeClassName().equals(fc.getName())) ||
- (EjbUtils.isValidSerializableType(fc))||
- (fc.getName().equals(descriptor.getLocalClassName())) ||
- (fc.getName().equals(descriptor.getLocalHomeClassName()))) {
- continue;
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- badField = true;
- }
-
- if (badField) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Field [ {0} ] defined within entity bean class [ {1} ] was assigned an invalid type. Container managed field must be assigned in the entity bean class with Java types restricted to the following: Java primitive types, Java serializable types, and references of enterprise beans' remote or home interfaces.",
- new Object[] {nextPersistentField.getName(),((EjbEntityDescriptor)descriptor).getEjbClassName()}));
- }
- } catch (NoSuchFieldException e) {
- foundField = false;
- }
- } while (((c = c.getSuperclass()) != null) && (!foundField));
-
- if (!foundField) {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: [ {0} ] field not found within class [ {1} ]",
- new Object[] {nextPersistentField.getName(),((EjbEntityDescriptor)descriptor).getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbEntityDescriptor)descriptor).getEjbClassName()}));
- }
-
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This entity bean class [ {0} ] has assigned [ {1} ] container managed field with valid Java type.",
- new Object[] {c1.getName(),nextPersistentField.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
-
- } else { // if (BEAN_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2}.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
-
-
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsTransient.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsTransient.java
deleted file mode 100644
index 1644099..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp/CmpFieldsTransient.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-import java.util.Iterator;
-
-/**
- * The Bean Provider is responsible for using the cmp-field elements of the
- * deployment descriptor to declare the instance's fields that the Container
- * must load and store at the defined times.
- *
- * The fields must not be defined in the entity bean class as transient.
- */
-public class CmpFieldsTransient extends EjbTest implements EjbCheck {
-
-
- /**
- * The Bean Provider is responsible for using the cmp-field elements of the
- * deployment descriptor to declare the instance's fields that the Container
- * must load and store at the defined times.
- *
- * The fields must not be defined in the entity bean class as transient.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
-
- // this test apply only to 1.x cmp beans. in cmp 2.x, fields are virtual fields only
- if (EjbCMPEntityDescriptor.CMP_1_1 != ((EjbCMPEntityDescriptor) descriptor).getCMPVersion()) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable3",
- "Test do not apply to this cmp-version of container managed persistence EJBs"));
- return result;
- }
- boolean oneFailed = false;
- boolean badField = false;
- for (Iterator itr =
- ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields().iterator();
- itr.hasNext();) {
-
- FieldDescriptor nextPersistentField = (FieldDescriptor)itr.next();
- badField = false;
- boolean foundField = false;
-
- // fields must not be defined in the entity bean class as transient.
- Class c1 = null;
- try {
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- try {
- c1 = c;
- Field f = c.getDeclaredField(nextPersistentField.getName());
-
- foundField = true;
- int modifiers = f.getModifiers();
- if (!Modifier.isTransient(modifiers)) {
- continue;
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- badField = true;
- }
-
- if (badField) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Field [ {0} ] defined within entity bean class [ {1} ] is defined as transient. Container managed field must not be defined in the entity bean class as transient.",
- new Object[] {nextPersistentField.getName(),c.getName()}));
- }
- } catch (NoSuchFieldException e) {
- foundField = false;
- }
- } while (((c = c.getSuperclass()) != null) && (!foundField));
- if (!foundField) {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: [ {0} ] field not found within class [ {1} ]",
- new Object[] {nextPersistentField.getName(),((EjbEntityDescriptor)descriptor).getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbEntityDescriptor)descriptor).getEjbClassName()}));
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This entity bean class [ {0} ] has defined [ {1} ] container managed field as non-transient field.",
- new Object[] {c1.getName(),nextPersistentField.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
-
- } else { // if (BEAN_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2}.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CMPTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CMPTest.java
deleted file mode 100644
index 012eb92..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CMPTest.java
+++ /dev/null
@@ -1,245 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Superclass containing various tests for all field related tests in cmp2.0
- * these tests should apply to cmp and cmr fields for entity classes
- *
- * @author Jerome Dochez
- * @version
- */
-public abstract class CMPTest extends EjbTest {
-
- abstract protected Result check(EjbCMPEntityDescriptor descriptor);
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistentType)) {
- if (((EjbCMPEntityDescriptor) descriptor).getCMPVersion()<EjbCMPEntityDescriptor.CMP_2_x) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable3",
- "Test do not apply to this cmp-version of container managed persistence EJBs"));
- return result;
- }
- return check((EjbCMPEntityDescriptor) descriptor);
- } else { // if (BEAN_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable2",
- "Test do not apply to EJB declared with persistence type [ {0} ]",
- new Object[] {persistentType}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable1",
- "Test do not apply to non entity EJB "));
- return result;
- }
- }
-
- /**
- * check if a field has been declared in a class
- *
- * @param fieldName the field name to look for declaration
- * @param c the class to look into
- * @param result where to place the test result
- */
- public static boolean isFieldAbstract(String fieldName, Class c, Result result)
- {
- Class savedClass = c;
- boolean foundField = false;
- do {
- try {
- Field f = c.getDeclaredField(fieldName);
- foundField = true;
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isFieldDeclared.failed",
- "Error: [ {0} ] field is declared in the class [ {1} ]",
- new Object[] {fieldName, c.getName()}));
- } catch (NoSuchFieldException e) {
- }
- } while (((c = c.getSuperclass()) != null) && (!foundField));
-
- if (!foundField) {
-
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isFieldDeclared.success",
- "[ {0} ] field is not declared in the class [ {1} ]",
- new Object[] {fieldName, savedClass.getName()}));
- return true;
- } else return false;
- }
-
- /**
- * <p>
- * check if fields accessor methods conformant to Spec 2.0 paragraph 9.4.1 have
- * been declared in a class.
- * </p>
- *
- * @param fieldName the field name to look accessor methods for
- * @param fieldType the field type, maybe null, then the return type of the
- * get method is used
- * @param c the class to look for accessors in
- * @param result where to place the result
- */
- public static boolean isAccessorDeclared(String fieldName, Class fieldType, Class c, Result result )
- {
- String getMethodName = "get" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
- String setMethodName = "set" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
- Method getMethod = getMethod(c, getMethodName, null);
- if (getMethod != null) {
- if (fieldType != null) {
- if (!fieldType.getName().equals(getMethod.getReturnType().getName())) {
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed1",
- "Error : [ {0} ] field accessor method has the wrong return type [ {1} ] ",
- new Object[] {fieldName, getMethod.getReturnType().getName()}));
- return false;
- }
- }
- // now look for the setmethod
- Class parms[] = { getMethod.getReturnType() };
- Method setMethod = getMethod(c, setMethodName, parms);
- if (setMethod != null) {
- if (setMethod.getReturnType().getName().equals("void")){
-
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.success",
- "[ {0} ] field accessor methods exist and have the correct signaures",
- new Object[] {fieldName}));
- return true;
- } else {
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed1",
- "Error : [ {0} ] field accessor method has the wrong return type [ {1} ] ",
- new Object[] {fieldName, setMethod.getReturnType().getName()}));
- }
- } else {
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed2",
- "Error : Cannot find accessor [ {0 } ] method for [ {1} ] field ",
- new Object[] {setMethodName , fieldName}));
- }
- } else {
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed2",
- "Error : Cannot find accessor [ {0} ] method for [ {1} ] field ",
- new Object[] {getMethodName , fieldName}));
- }
- return false;
- }
-
-
- /**
- * <p>
- * Checks that a field name starts with a lowercased letter
- * </p>
- *
- * @param fieldName is the field name
- * @param result where to put the test result in
- *
- * @return true if the test passed
- */
- public static boolean startWithLowercasedLetter(String fieldName, Result result) {
- if (Character.isLowerCase(fieldName.charAt(0))) {
-
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.startWithLowercasedLetter.success",
- "[ {0} ] field first letter is lowercase",
- new Object[] {fieldName}));
- return true;
- } else {
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.startWithLowercasedLetter.failed",
- "Error : [ {0} ] field first letter is not lowercase",
- new Object[] {fieldName}));
- return false;
- }
- }
-
- public static boolean accessorMethodModifiers(String fieldName, Class c, Result result) {
- String getMethodName = "get" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
- String setMethodName = "set" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
-
- // check the get first
- Method getMethod = getMethod(c, getMethodName, null);
- if (getMethod != null) {
- int modifiers = getMethod.getModifiers();
- if (Modifier.isAbstract(modifiers) && (Modifier.isProtected(modifiers) || Modifier.isPublic(modifiers))) {
- // now look for the setmethod
- Class parms[] = { getMethod.getReturnType() };
- Method setMethod = getMethod(c, setMethodName, parms);
- if (setMethod != null) {
- modifiers = setMethod.getModifiers();
- if (Modifier.isAbstract(modifiers) && (Modifier.isProtected(modifiers) || Modifier.isPublic(modifiers))) {
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.accessorMethodModifiers.success",
- "[ {0} ] field accessor methods are abstract and public or protected",
- new Object[] {fieldName}));
- return true;
- }
- }
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.accessorMethodModifiers.failed",
- "Error : [ {0} ] accessor method for field [ {1} ] is not abstract and public or protected",
- new Object[] {setMethodName, fieldName}));
- return false;
- }
- }
-
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.accessorMethodModifiers.failed",
- "Error : [ {0} ] accessor method for field [ {1} ] is not abstract and public or protected",
- new Object[] {getMethodName, fieldName}));
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CascadeDeleteNotSupportedForManyMany.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CascadeDeleteNotSupportedForManyMany.java
deleted file mode 100644
index 71493f4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CascadeDeleteNotSupportedForManyMany.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-
-/**
- * cascade-delete tag is not supported for many-many relationships
- *
- * @author Sheetal Vartak
- * @version
- */
-public class CascadeDeleteNotSupportedForManyMany extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param info the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor descriptor, RelationRoleDescriptor role, Class c, Result result) {
- boolean isMany = false;
- boolean isPartnerMany = false;
- boolean cascadeDelete = false;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- isMany = role.getIsMany();
- isPartnerMany = (role.getPartner()).getIsMany();
- cascadeDelete = role.getCascadeDelete();
- if(isMany && isPartnerMany && cascadeDelete) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: cascade-delete should not be supported for many-many relationships. Please check Relationship Role [{0}]",
- new Object[] {role.getName()}));
- return false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "cascade-delete is not supported for many-many relationships. Test passed.",
- new Object[] {}));
- return true;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldAccessor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldAccessor.java
deleted file mode 100644
index 38fad67..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldAccessor.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import java.lang.reflect.Method;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Container-managed fields declaration test.
- * CMP fields accessor methods names must the field name with the first
- * letter uppercased and prefixed with get and set
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmpFieldAccessor extends CmpFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor persistentField, Class c, Result result) {
-
- return isAccessorDeclared(persistentField.getName(), null, c, result);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldAccessorModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldAccessorModifiers.java
deleted file mode 100644
index bf32fec..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldAccessorModifiers.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Container-managed fields declaration test.
- * CMP fields accessor methods should be public or protected and abstract
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmpFieldAccessorModifiers extends CmpFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor persistentField, Class c, Result result) {
- return accessorMethodModifiers(persistentField.getName(), c, result);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldNameStartLowercase.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldNameStartLowercase.java
deleted file mode 100644
index 08033c9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldNameStartLowercase.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Container-managed fields declaration test.
- * CMP fields first letter must be lowercase
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmpFieldNameStartLowercase extends CmpFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor persistentField, Class c, Result result) {
- return startWithLowercasedLetter(persistentField.getName(), result);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldReturnType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldReturnType.java
deleted file mode 100644
index b155b02..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldReturnType.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import java.lang.reflect.Method;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.deployment.common.Descriptor;
-
-
-/**
- * Container-managed fields declaration test.
- * CMP fields accessor methods should not return local interface type
- *
- * @author Sheetal Vartak
- * @version
- */
-public class CmpFieldReturnType extends CmpFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor persistentField, Class c, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String fieldName = persistentField.getName();
- String getMethodName = "get" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
- String setMethodName = "set" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
- Method getMethod = getMethod(c, getMethodName, null);
- if (getMethod != null) {
- if (((EjbDescriptor)entity).getLocalClassName() != null) {
- if ((((EjbDescriptor)entity).getLocalClassName()).equals(getMethod.getReturnType().getName())) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.failed",
- "Error : cmp-field accessor method [{0}] cannot return local interface [{1}] ",
- new Object[] { getMethod.toString(),((EjbDescriptor)entity).getLocalClassName() }));
- return false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.passed",
- "cmp-field accessor method [{0}] does not return local interface [{1}]. Test passed.",
- new Object[] { getMethod.toString(),((EjbDescriptor)entity).getLocalClassName() }));
- return true;
- }
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.failed2",
- "Not Applicable : no local interface found.",
- new Object[] {}));
- return true;
- }
- }else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.failed1",
- "Error : cmp-field accessor method [{0}] not found.",
- new Object[] {getMethodName}));
- return false;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldTest.java
deleted file mode 100644
index 7a365aa..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldTest.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-
-
-/**
- * Container-managed persistent fields related tests superclass
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class CmpFieldTest extends CMPTest {
-
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected abstract boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor f, Class c, Result r);
-
- /**
- *
- * Container-managed persistent fields test, iterates over all declared
- * cmp fields and invoke the runIndividualCmpFieldTest nethod
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbCMPEntityDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Class c = loadEjbClass(descriptor, result);
- if (c!=null) {
- Descriptor persistentField;
- boolean oneFailed = false;
-
- Set persistentFields = descriptor.getPersistenceDescriptor().getCMPFields();
- Iterator iterator = persistentFields.iterator();
- if (iterator.hasNext()) {
- while (iterator.hasNext()) {
- persistentField = (Descriptor)iterator.next();
- boolean status = runIndividualCmpFieldTest(descriptor, persistentField, c, result);
- if (!status)
- oneFailed=true;
-
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- }
- else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldTest.notApplicable",
- "Not Applicable : The EJB has no CMP fields declared",
- new Object[] {}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFields.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFields.java
deleted file mode 100644
index 3c29bc0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFields.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Iterator;
-import java.util.Set;
-
-
-/**
- * Check that the field type for all declated cmp fields of the entity bean
- * are of an acceptable type :
- * - Java Primitive Type
- * - Java Serializable class
- * - Reference to a bean's home or bean's remote interface
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class CmpFields extends CmpFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
-
- protected boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor persistentField, Class c, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String cmpFieldName = persistentField.getName();
- String getMethodName = "get" + Character.toUpperCase(cmpFieldName.charAt(0)) + cmpFieldName.substring(1);
- Method getMethod = getMethod(c, getMethodName, null);
- Class fieldType;
-
- if (getMethod != null) {
- boolean run = false;
- // get the return type for the setMethod
- fieldType = getMethod.getReturnType();
- EjbBundleDescriptorImpl bundle = ((EjbDescriptor) entity).getEjbBundleDescriptor();
- if (!RmiIIOPUtils.isValidRmiIDLPrimitiveType(fieldType) &&
- !EjbUtils.isValidSerializableType(fieldType)) {
- // it must be a reference to a bean's home or local interface
- if (!isValidInterface(fieldType, bundle.getEjbs(),MethodDescriptor.EJB_REMOTE, result)) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error : Invalid type assigned for container managed field [ {0} ] in bean [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),entity.getName()}));
- return false;
- }
- if (!isValidInterface(fieldType, bundle.getEjbs(),MethodDescriptor.EJB_LOCAL, result)) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error : Invalid type assigned for container managed field [ {0} ] in bean [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),entity.getName()}));
- return false;
- }
- }
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid type assigned for container managed field [ {0} ] in bean [ {1} ]",
- new Object[] {((Descriptor)persistentField).getName(),entity.getName()}));
- run = true;
- return run;
-
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed2",
- "Error : Cannot find accessor [ {0} ] method for [ {1} ] field ",
- new Object[] {getMethodName , persistentField.getName()}));
- }
- return false;
- }
-
- private boolean isValidInterface(Class fieldType, Set<EjbDescriptor> entities,String interfaceType, Result result) {
- try {
- if (entities==null)
- return false;
-
- Iterator<EjbDescriptor> iterator = entities.iterator();
- if(interfaceType.equals(MethodDescriptor.EJB_REMOTE)) {
- while (iterator.hasNext()) {
- EjbDescriptor entity = iterator.next();
-
- if (fieldType.getName().equals(entity.getHomeClassName()) ||
- fieldType.getName().equals(entity.getRemoteClassName()))
- return true;
- }
- }
- if(interfaceType.equals(MethodDescriptor.EJB_LOCAL)) {
- while (iterator.hasNext()) {
- EjbDescriptor entity = iterator.next();
-
- if (fieldType.getName().equals(entity.getLocalHomeClassName()) ||
- fieldType.getName().equals(entity.getLocalClassName()))
- return true;
- }
- }
- return false;
- }catch(Throwable t) {
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error occured in accessing remote/local interface",
- new Object[] {}));
- return false;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldsAbstract.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldsAbstract.java
deleted file mode 100644
index ba4602d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldsAbstract.java
+++ /dev/null
@@ -1,47 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import java.lang.reflect.Field;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Container-managed fields declaration test.
- * CMP fields should be virtual fields only
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmpFieldsAbstract extends CmpFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor persistentField, Class c, Result result) {
-
- return isFieldAbstract(persistentField.getName(), c, result);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldsAccessorExposition.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldsAccessorExposition.java
deleted file mode 100644
index 14dbb27..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmpFieldsAccessorExposition.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.PersistentFieldInfo;
-
-import java.lang.reflect.Method;
-
-/**
- * EJB 2.0 Spec 9.4.11 Set Accessor method for primary key fields should not be
- * exposed in the remote/local interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmpFieldsAccessorExposition extends CMPTest {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbCMPEntityDescriptor descriptor) {
-
- result = getInitializedResult();
- boolean oneFailed = false;
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getRemoteClassName() != null && !((descriptor.getRemoteClassName()).equals("")))
- oneFailed = commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor);
- if(oneFailed == false) {
- if (descriptor.getLocalClassName() != null && !((descriptor.getLocalClassName()).equals("")))
- oneFailed = commonToBothInterfaces(descriptor.getLocalClassName(),descriptor);
- }
- if (oneFailed)
- result.setStatus(Result.WARNING);
- else
- result.setStatus(Result.PASSED);
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param remote for the Remote/Local interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String remote, EjbDescriptor descriptor) {
- boolean oneFailed = false;
- try {
- Class c = Class.forName(remote, false, getVerifierContext().getClassLoader());
- boolean foundAtLeastOne = false;
-
- try {
- // Check first that pk fields set methods are mot part of the remote interface
- PersistentFieldInfo[] pkFieldInfos = ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getPkeyFieldInfo();
- for (int i=0;i<pkFieldInfos.length;i++) {
- foundAtLeastOne = true;
- PersistentFieldInfo info = pkFieldInfos[i];
- // check that setXXX is not part of the remote interface
- String setMethodName = "set" + Character.toUpperCase(info.name.charAt(0)) + info.name.substring(1);
- Class parms[] = { info.type };
- Method setMethod = getMethod(c, setMethodName, parms );
- if (setMethod != null) {
- // oopss
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.failed",
- "Error : Primary key field set accessor method [ {0} ] is exposed through the component interface [ {1} ]",
- new Object[] {info.name,remote}));
- oneFailed = true;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.passed",
- "Primary key field set accessor method [ {0} ] is not exposed through the component interface [ {1} ]",
- new Object[] {info.name,remote}));
- }
- }
- if (foundAtLeastOne == false) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.notApplicable",
- "No persistent fields found.",
- new Object[] {}));
- return oneFailed;
- }
-
- } catch (RuntimeException rt) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.failedException1",
- "Exception occured while trying to access Primary key info in PersistenceDescriptor.",
- new Object[] {}));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.EjbTest.failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- return oneFailed;
-
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldAccessor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldAccessor.java
deleted file mode 100644
index beab5cd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldAccessor.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.CMRFieldInfo;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-/**
- * Container-managed fields declaration test.
- * CMR fields accessor methods names must the field name with the first
- * letter uppercased and prefixed with get and set
- *
- * @author Jerome Dochez
- * @author Sheetal Vartak
- * @version
- */
-public class CmrFieldAccessor extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param rrd the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @param result the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor entity, RelationRoleDescriptor rrd, Class c, Result result) {
- boolean oneFailed = false;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- CMRFieldInfo info = rrd.getCMRFieldInfo();
- if (info == null) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed1",
- "Error : no CMR Field declared ",
- new Object[] {}));
- return false;
- }
- oneFailed = isAccessorDeclared(info.name, info.type, c, result);
- if (oneFailed == false) {
- // do nothing, appropriate message has been added in
- // isAccessorDeclared().
- }else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.passed",
- "CMR Field is properly declared ",
- new Object[] {}));
- }
- return oneFailed;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldAccessorModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldAccessorModifiers.java
deleted file mode 100644
index 84f94a8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldAccessorModifiers.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-/**
- * Container-managed fields declaration test.
- * CMR fields accessor methods should be public and abstract
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmrFieldAccessorModifiers extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor entity, RelationRoleDescriptor rrd, Class c, Result result) {
- return accessorMethodModifiers(rrd.getCMRField(), c, result);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldNameStartLowercase.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldNameStartLowercase.java
deleted file mode 100644
index 39984b0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldNameStartLowercase.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-/**
- * Container-managed fields declaration test.
- * CMR fields first letter must be lowercase
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmrFieldNameStartLowercase extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param info the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor descriptor, RelationRoleDescriptor rrd, Class c, Result result) {
- return startWithLowercasedLetter(rrd.getCMRField(), result);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldTest.java
deleted file mode 100644
index 3f13a10..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldTest.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-import org.glassfish.ejb.deployment.descriptor.RelationshipDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Container managed relationship fields tests superclass, iterates over all
- * declated cmr fields and delegate actual tests to subclasses
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class CmrFieldTest extends CMPTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param info the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected abstract boolean runIndividualCmrTest(Descriptor entity, RelationRoleDescriptor rrd, Class c, Result r);
-
- /**
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbCMPEntityDescriptor descriptor) {
-
- Result result = getInitializedResult();
- addErrorDetails(result,
- getVerifierContext().getComponentNameConstructor());
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- boolean found = false;
-
- Class c = loadEjbClass(descriptor, result);
-
- if (c!=null) {
- Set cmrFields = ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getRelationships();
- Iterator cmrIterator = cmrFields.iterator();
-
- if (cmrIterator.hasNext()) {
- while (cmrIterator.hasNext()) {
- RelationshipDescriptor cmfDescriptor = (RelationshipDescriptor) cmrIterator.next();
- {
- // test if this bean is the source in this relationship
- RelationRoleDescriptor role = cmfDescriptor.getSource();
- if (role.getOwner().equals(descriptor) && role.getCMRField()!=null) {
- found = true;
- if (!runIndividualCmrTest(descriptor, role, c, result)) {
- oneFailed = true;
- }
- }
- }
- // we need to test for both source and sink because of self references
- {
- // test if this bean is the sink in this relationship
- RelationRoleDescriptor role = cmfDescriptor.getSink();
- if (role.getOwner().equals(descriptor) && role.getCMRField()!=null) {
- found = true;
- if (!runIndividualCmrTest(descriptor, role, c, result)) {
- oneFailed = true;
- }
- }
- }
- }
- if (oneFailed)
- result.setStatus(Result.FAILED);
- else if (found == false) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldTest.notApplicable",
- "Not Applicable : The EJB has no CMR fields declared",
- new Object[] {}));
- }
- else
- result.setStatus(Result.PASSED);
- }
- else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldTest.notApplicable",
- "Not Applicable : The EJB has no CMR fields declared",
- new Object[] {}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFields.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFields.java
deleted file mode 100644
index ee4b9bc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFields.java
+++ /dev/null
@@ -1,126 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.CMRFieldInfo;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Container managed relationship type field must be :
- * a reference to a local interface of a entity bean
- * a collection interface for oneToMany or manyToMany relationships
- *
- * @author Jerome Dochez
- * @author Sheetal Vartak
- * @version
- */
-public class CmrFields extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param info the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor descriptor, RelationRoleDescriptor role, Class c, Result result) {
-
- boolean foundIt = false;
- CMRFieldInfo info = null;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try {
- info = role.getCMRFieldInfo();
- }catch (Exception e) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No Local interfaces defined for EJB [ {0} ]",
- new Object[] {descriptor.getName()}));
- return false;
-
- }
- if (role.getPartner().getIsMany()) {
- // must be one the collection interface
- if (info.type.getName().equals("java.util.Collection") ||
- info.type.getName().equals("java.util.Set")) {
- foundIt = true;
- }
- } else {
- EjbBundleDescriptorImpl bundle = ((EjbDescriptor) descriptor).getEjbBundleDescriptor();
- if(((EjbDescriptor) descriptor).getLocalClassName() != null &&
- !"".equals(((EjbDescriptor) descriptor).getLocalClassName())) {
- if (isValidInterface(info.type, bundle.getEjbs())) {
- foundIt = true;
- }
- }
- else {
- if ((role.getRelationshipDescriptor()).getIsBidirectional()) {
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Invalid type assigned for container managed relationship [ {0} ] in bean [ {1} ]",
- new Object[] {info.name , descriptor.getName()}));
- return false;
- }
- else foundIt = true;
- }
- }
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid type assigned for container managed relationship [ {0} ] in bean [ {1} ]",
- new Object[] {info.name , descriptor.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Invalid type assigned for container managed relationship [ {0} ] in bean [ {1} ]",
- new Object[] {info.name , descriptor.getName()}));
- }
- return foundIt;
-
- }
-
- private boolean isValidInterface(Class fieldType, Set<EjbDescriptor> entities) {
- String component = "";
- if (entities==null)
- return false;
- // only local interface can be a valid interface
- Iterator<EjbDescriptor> iterator = entities.iterator();
- while (iterator.hasNext()) {
- EjbDescriptor entity = iterator.next();
- if (fieldType.getName().equals(entity.getLocalClassName()))
- return true;
- }
- return false;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldsAbstract.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldsAbstract.java
deleted file mode 100644
index 3f8e4c8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldsAbstract.java
+++ /dev/null
@@ -1,44 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-/**
- * Check that all cmr fields are virtual fields only
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmrFieldsAbstract extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param info the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor entity, RelationRoleDescriptor rrd, Class c, Result result) {
- return isFieldAbstract(rrd.getCMRField(), c, result);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldsAccessorExposition.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldsAccessorExposition.java
deleted file mode 100644
index 983475c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrFieldsAccessorExposition.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.CMRFieldInfo;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * EJB 2.0 Spec 9.4.11 CMR accessor methods for relationships
- * between entity beans should not be exposed in the remote interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmrFieldsAccessorExposition extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param info the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor descriptor, RelationRoleDescriptor rrd, Class c, Result result) {
-
- // check first if this is one-to-one or many-to-one relationship ...previous version of ejb specs
- // if ((!rrd.getIsMany() && !rrd.getPartner().getIsMany()) ||
- // (rrd.getIsMany() && !rrd.getPartner().getIsMany())) {
- // }
- // everyone falls back and should be checked
-
- boolean pass = true;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // should not have accessor methods exposed.
- if (((EjbDescriptor)descriptor).getRemoteClassName() != null &&
- !((((EjbDescriptor)descriptor).getRemoteClassName()).equals(""))) {
- String interfaceType = ((EjbDescriptor)descriptor).getRemoteClassName();
- try {
- CMRFieldInfo info = rrd.getCMRFieldInfo();
- Class remoteInterface = Class.forName(interfaceType, false, getVerifierContext().getClassLoader());
- String getMethodName = "get" + Character.toUpperCase(info.name.charAt(0)) + info.name.substring(1);
- String setMethodName = "set" + Character.toUpperCase(info.name.charAt(0)) + info.name.substring(1);
-
- Method getMethod = getMethod(remoteInterface, getMethodName, null);
- if (getMethod != null) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failed",
- "Error : CMR field {0} accessor method [ {1} ] is exposed through the component interface [ {2} ]",
- new Object[] {"get", info.name, interfaceType}));
- pass = false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.passed",
- "CMR field {0} accessor method [ {1} ] is not exposed through the component interface [ {2} ]",
- new Object[] {"get", info.name, interfaceType}));
- pass = true;
- }
-
- Class parms[] = { info.type };
- Method setMethod = getMethod(remoteInterface, setMethodName, parms );
- if (setMethod != null) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failed",
- "Error : CMR field {0} accessor method [ {1} ] is exposed through the component interface [ {2} ]",
- new Object[] {"set", info.name, interfaceType}));
-
- pass = false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.passed",
- "CMR field [{0}] accessor method [ {1} ] is not exposed through the component interface [ {2} ]",
- new Object[] {"set", info.name, interfaceType}));
- }
-
- } catch (Exception e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failedException",
- "Error: [{0}] class not found or local interface not defined",
- new Object[] {interfaceType}));
- pass = false;
-
- }
- }
- return pass;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrUseCorrectCollectionInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrUseCorrectCollectionInterface.java
deleted file mode 100644
index c554e87..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/CmrUseCorrectCollectionInterface.java
+++ /dev/null
@@ -1,76 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.CMRFieldInfo;
-import org.glassfish.ejb.deployment.descriptor.RelationRoleDescriptor;
-
-/**
- * Container managed relationship type field must use of the collection
- * interface for on-to-many or many-to-many relationships and specify it in
- * the Deployment Descriptor
- *
- * @author Jerome Dochez
- * @version
- */
-public class CmrUseCorrectCollectionInterface extends CmrFieldTest {
-
- /**
- * run an individual verifier test of a declated cmr field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param info the descriptor for the declared cmr field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmrTest(Descriptor descriptor, RelationRoleDescriptor rrd, Class c, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (rrd.getPartner().getIsMany()) {
- // must be one the collection interface
- if (rrd.getCMRFieldType()==null) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error : CMR field [ {0} ] cmr-field-type must be defined for one-to-many or many-to-many relationships and the value of the cmr-field-type element must be either: java.util.Collection or java.util.Set",
- new Object[] {rrd.getCMRField()}));
- return false;
- } else {
- CMRFieldInfo info = rrd.getCMRFieldInfo();
- if (rrd.getCMRFieldType().equals(info.type.getName())) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "CMR field [ {0} ] is the same type as declared in the deployment descriptors [ {1} ]",
- new Object[] {info.name, info.role.getCMRFieldType()}));
- return true;
- } else {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error : CMR field [ {0} ] is not the same type as declared in the deployment descriptors [ {1} ]",
- new Object[] {info.name, info.role.getCMRFieldType()}));
- return false;
- }
- }
- }
- return true;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/DependentValueClassModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/DependentValueClassModifiers.java
deleted file mode 100644
index 6d5e340..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/DependentValueClassModifiers.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-import java.util.Iterator;
-import java.util.Set;
-
-
-/**
- * Dependent value class must be public and not abstract and must be serializable
- *
- * @author Jerome Dochez
- * @version
- */
-public class DependentValueClassModifiers extends CmpFieldTest {
-
- /**
- * run an individual verifier test of a declated cmp field of the class
- *
- * @param entity the descriptor for the entity bean containing the cmp-field
- * @param f the descriptor for the declared cmp field
- * @param c the class owning the cmp field
- * @parma r the result object to use to put the test results in
- *
- * @return true if the test passed
- */
- protected boolean runIndividualCmpFieldTest(Descriptor entity, Descriptor persistentField, Class c, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String fieldName = persistentField.getName();
- String getMethodName = "get" + Character.toUpperCase(fieldName.charAt(0)) + fieldName.substring(1);
- Method getMethod = getMethod(c, getMethodName, null);
- if (getMethod != null) {
- Class returnType = getMethod.getReturnType();
- // check if this is a reference to a primitive or an array of primitive type
- if (returnType.isArray()) {
- returnType = returnType.getComponentType();
- }
- if (returnType.isPrimitive()) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.notApplicable",
- "Field [ {0} ] is not a dependent value class reference",
- new Object[] {fieldName}));
- return true;
- }
- if (returnType.isInterface()) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.notApplicable",
- "Field [ {0} ] is not a dependent value class reference",
- new Object[] {fieldName}));
- return true;
- }
- if (returnType.toString().startsWith("class java.")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.notApplicable",
- "Field [ {0} ] is not a dependent value class reference",
- new Object[] {fieldName}));
- return true;
- }
- // it must be a reference to a bean's home or remote interface
- EjbBundleDescriptorImpl bundle = ((EjbDescriptor) entity).getEjbBundleDescriptor();
- if ((isValidInterface(returnType, bundle.getEjbs(),MethodDescriptor.EJB_REMOTE)) ||
- (isValidInterface(returnType, bundle.getEjbs(),MethodDescriptor.EJB_LOCAL))) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.notApplicable",
- "Field [ {0} ] is not a dependent value class reference",
- new Object[] {fieldName}));
- return true;
- }
-
- // this is a reference to a dependent value class
- int modifiers = returnType.getModifiers();
- if (Modifier.isPublic(modifiers) &&
- Modifier.isAbstract(modifiers) == false &&
- EjbUtils.isValidSerializableType(returnType)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.passed",
- "Dependent value class [ {0} ] reference by cmp field [ {1} ] is public, not abstract and serializable",
- new Object[] {returnType.getName(), fieldName}));
- return true;
- } else {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString(
- "com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.failed",
- "Verifier cannot find out if [ {0} ] is a Dependent value class (reference by cmp field [ {1} ]) ",
- new Object[] {returnType.getName(), fieldName}));
- return false;
- }
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed2",
- "Error : Cannot find accessor [ {0} ] method for [ {1} ] field ",
- new Object[] {getMethodName, fieldName}));
- return false;
- }
- }
-
- private boolean isValidInterface(Class fieldType, Set<EjbDescriptor> entities, String interfaceType) {
-
- if (entities==null)
- return false;
-
- Iterator<EjbDescriptor> iterator = entities.iterator();
- if (interfaceType.equals(MethodDescriptor.EJB_REMOTE)) {
- while (iterator.hasNext()) {
- EjbDescriptor entity = iterator.next();
- if (fieldType.getName().equals(entity.getHomeClassName()) ||
- fieldType.getName().equals(entity.getRemoteClassName()))
- return true;
- }
- }
- if (interfaceType.equals(MethodDescriptor.EJB_LOCAL)) {
- while (iterator.hasNext()) {
- EjbDescriptor entity = iterator.next();
- if (fieldType.getName().equals(entity.getLocalHomeClassName()) ||
- fieldType.getName().equals(entity.getLocalClassName()))
- return true;
- }
- }
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodException.java
deleted file mode 100644
index 2c29669..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodException.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * All finder methods should throw the jakarta.ejb.FinderException
- *
- * @author Jerome Dochez
- * @version
- */
-public class FindMethodException extends QueryMethodTest {
-
-
- /**
- * <p>
- * Run an individual test against a finder method (single or multi)
- * </p>
- *
- * @param method is the finder method reference
- * @param descriptor is the entity bean descriptor
- * @param targetClass is the class to apply to tests to
- * @param result is where to place the result
- *
- * @return true if the test passes
- */
- protected boolean runIndividualQueryTest(Method method, EjbCMPEntityDescriptor descriptor, Class targetClass, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (methodThrowException(method, "jakarta.ejb.FinderException")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException.passed",
- "[ {0} ] throws the jakarta.ejb.FinderException",
- new Object[] {method.getName()}));
- return true;
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException.failed",
- "Error : [ {0} ] does not throw the jakarta.ejb.FinderException",
- new Object[] {method.getName()}));
- return false;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodHasDescriptors.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodHasDescriptors.java
deleted file mode 100644
index 52134cb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodHasDescriptors.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Find Methods should have deployment descriptors associated with them
- *
- * @author Jerome Dochez
- * @version
- */
-public class FindMethodHasDescriptors extends QueryMethodTest {
-
- /**
- * <p>
- * Run an individual test against a finder method (single or multi)
- * </p>
- *
- * @param method is the finder method reference
- * @param descriptor is the entity bean descriptor
- * @param targetClass is the class to apply to tests to
- * @param result is where to place the result
- *
- * @return true if the test passes
- */
- protected boolean runIndividualQueryTest(Method method, EjbCMPEntityDescriptor descriptor, Class targetClass, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (method.getName().equals("findByPrimaryKey")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.passed1",
- "Passed: Found method findByPrimaryKey",
- new Object[] {}));
- return true;
- }
-
- // We don't use getQueryFor to free ourselfves from classloader issues.
- Set set = descriptor.getPersistenceDescriptor().getQueriedMethods();
- Iterator iterator = set.iterator();
- if (iterator.hasNext()) {
- while(iterator.hasNext()) {
- MethodDescriptor queryMethod = (MethodDescriptor) iterator.next();
- if (queryMethod.getName().equals(method.getName())) {
- Class mParms[] = method.getParameterTypes();
- String queryParms[] = queryMethod.getParameterClassNames();
- int queryParamsLen;
- if(queryParms == null)
- queryParamsLen = 0;
- else
- queryParamsLen = queryParms.length;
- if (queryParamsLen == mParms.length) {
- boolean same = true;
- if(queryParamsLen > 0)
- {
- for (int i=0;i<mParms.length;i++) {
- if (!mParms[i].getName().equals(queryParms[i]))
- same=false;
- }
- }
- if (same) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.passed",
- "[ {0} ] has a query element associated with it",
- new Object[] {method}));
- return true;
- }
- }
- }
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.failed",
- "Error : [ {0} ] seems to be a finder method but has no query element associated with it",
- new Object[] {method}));
- return false;
- }
- else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.notApplicable",
- "NotApplicable : No Query methods found",
- new Object[] {}));
- return true;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodsAbstract.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodsAbstract.java
deleted file mode 100644
index 32a5678..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/FindMethodsAbstract.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-
-/**
- * Finder method implementation test
- * EJB 2.0 Spec 9.7.1 Entity bean class must not implement the ejbFind<METHOD>
- *
- * @author Jerome Dochez
- * @version
- */
-public class FindMethodsAbstract extends QueryMethodTest {
-
- /**
- * <p>
- * Run an individual test against a finder method (single or multi)
- * </p>
- *
- * @param method is the finder method reference
- * @param descriptor is the entity bean descriptor
- * @param targetClass is the class to apply to tests to
- * @param result is where to place the result
- *
- * @return true if the test passes
- */
- protected boolean runIndividualQueryTest(Method method, EjbCMPEntityDescriptor descriptor, Class targetClass, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- // single or multi finder
- String methodName = method.getName();
- String ejbMethodName = "ejb" + Character.toUpperCase(methodName.charAt(0)) + methodName.substring(1);
- Method ejbMethod = getMethod(targetClass, methodName, method.getParameterTypes());
- if (ejbMethod != null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract.failed",
- "Error : [ {0} ] is defined in bean class [ {1} ]",
- new Object[] {ejbMethodName , targetClass.getName()}));
- return false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract.passed",
- "[ {0} ] is not defined in bean class [ {1} ]",
- new Object[] {ejbMethodName , targetClass.getName()}));
- return true;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/QueryMethodTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/QueryMethodTest.java
deleted file mode 100644
index 9646040..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/QueryMethodTest.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Superclass for all finder method test
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class QueryMethodTest extends CMPTest {
- ComponentNameConstructor compName = null;
- /**
- * <p>
- * Run an individual test against a finder method (single or multi)
- * </p>
- *
- * @param method is the finder method reference
- * @param descriptor is the entity bean descriptor
- * @param targetClass is the class to apply to tests to
- * @param result is where to place the result
- *
- * @return true if the test passes
- */
- protected abstract boolean runIndividualQueryTest(Method method, EjbCMPEntityDescriptor descriptor, Class targetClass, Result result);
-
- /**
- * check if a field has been declared in a class
- *
- * @param fieldName the field name to look for declaration
- * @param c the class to look into
- * @param result where to place the test result
- */
- public Result check(EjbCMPEntityDescriptor descriptor) {
-
- boolean allIsWell = true;
- Result result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getHomeClassName() != null && !((descriptor.getHomeClassName()).equals("")) &&
- descriptor.getRemoteClassName() != null && !((descriptor.getRemoteClassName()).equals(""))) {
- allIsWell = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getRemoteClassName(),descriptor, result);
- }
- if(allIsWell == true) {
- if (descriptor.getLocalHomeClassName() != null && !((descriptor.getLocalHomeClassName()).equals("")) &&
- descriptor.getLocalClassName() != null && !((descriptor.getLocalClassName()).equals(""))) {
- allIsWell = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor.getLocalClassName(),descriptor, result);
- }
- }
-
- if (allIsWell)
- result.setStatus(Result.PASSED);
- else
- result.setStatus(Result.FAILED);
-
- return result;
- }
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param ejbHome for the Home interface of the Ejb.
- * @param result Result of the test
- * @param remote Remote/Local interface
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String ejbHome, String remote, EjbDescriptor descriptor, Result result) {
- boolean allIsWell = true;
- boolean found = false;
- String ejbClassName = descriptor.getEjbClassName();
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- try {
- Class ejbClass = Class.forName(ejbClassName, false,
- getVerifierContext().getClassLoader());
- Method[] methods = Class.forName(ejbHome, false,
- getVerifierContext().getClassLoader()).getMethods();
- for (int i=0;i<methods.length;i++) {
- String methodName = methods[i].getName();
- // get the expected return type
- String methodReturnType = methods[i].getReturnType().getName();
- if (methodName.startsWith("find")) {
- found = true;
- if (methodReturnType.equals(remote) ||
- isSubclassOf(Class.forName(methodReturnType, false,
- getVerifierContext().getClassLoader()), "java.util.Collection") ||
- isImplementorOf(Class.forName(methodReturnType, false,
- getVerifierContext().getClassLoader()), "java.util.Collection")) {
-
- if (!runIndividualQueryTest(methods[i], (EjbCMPEntityDescriptor) descriptor, ejbClass, result))
- allIsWell=false;
- }
- }
- }
- if (found == false) {
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.EjbTest.passed",
- "Not Applicable : No find methods found",
- new Object[] {}));
- }
-
- return allIsWell;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.EjbTest.failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- allIsWell= false;
- return allIsWell;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodException.java
deleted file mode 100644
index f5b6a42..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodException.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Select methods must throw the jakarta.ejb.FinderException
- *
- * @author Jerome Dochez
- * @version
- */
-public class SelectMethodException extends SelectMethodTest {
-
- /**
- * <p>
- * run an individual test against a declared ejbSelect method
- * </p>
- *
- * @param m is the ejbSelect method
- * @param descriptor is the entity declaring the ejbSelect
- * @param result is where to put the result
- *
- * @return true if the test passes
- */
- protected boolean runIndividualSelectTest(Method m, EjbCMPEntityDescriptor descriptor, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (methodThrowException(m, "jakarta.ejb.FinderException")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException.passed",
- "[ {0} ] throws the jakarta.ejb.FinderException",
- new Object[] {m.getName()}));
- return true;
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException.failed",
- "Error : [ {0} ] does not throw the jakarta.ejb.FinderException",
- new Object[] {m.getName()}));
- return false;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodExposition.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodExposition.java
deleted file mode 100644
index 7177c8f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodExposition.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Select methods must not be exposed through the bean home or remote interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class SelectMethodExposition extends SelectMethodTest {
-
- /**
- * <p>
- * run an individual test against a declared ejbSelect method
- * </p>
- *
- * @param m is the ejbSelect method
- * @param descriptor is the entity declaring the ejbSelect
- * @param result is where to put the result
- *
- * @return true if the test passes
- */
- ComponentNameConstructor compName = null;
-
- protected boolean runIndividualSelectTest(Method m, EjbCMPEntityDescriptor descriptor, Result result) {
- boolean allIsWell = true;
- compName = getVerifierContext().getComponentNameConstructor();
- // String methodReturnType = m.getReturnType().getName();
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()) &&
- descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- allIsWell = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getRemoteClassName(),descriptor, result, m);
- if(allIsWell == true) {
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()) &&
- descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- allIsWell = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor.getLocalClassName(),descriptor, result, m);
- }
- return allIsWell;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param ejbHome for the Home interface of the Ejb.
- * @param result Result of the test
- * @param remote Remote/Local interface
- * @param m Method
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home,String remote,EjbDescriptor descriptor, Result result, Method m) {
- try {
- // we must not find this method exposed in the home or remote interface
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Method m1 = getMethod(Class.forName(home, false,
- getVerifierContext().getClassLoader()),m.getName(), m.getParameterTypes());
- Method m2 = getMethod(Class.forName(remote, false,
- getVerifierContext().getClassLoader()), m.getName(), m.getParameterTypes());
- if (m1 == null && m2 == null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.passed",
- "[ {0} ] is not declared in the home or remote interface",
- new Object[] {m.getName()}));
- return true;
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.failed",
- "Error : [ {0} ] is declared in the home or remote interface",
- new Object[] {m.getName()}));
- return false;
- }
- } catch (ClassNotFoundException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.failedException",
- "Error: home or remote interface not found.",
- new Object[] {}));
- Verifier.debug(e);
- return false;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodModifiers.java
deleted file mode 100644
index 81af422..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodModifiers.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Select methods must be public and abstract
- *
- * @author Jerome Dochez
- * @version
- */
-public class SelectMethodModifiers extends SelectMethodTest {
-
- /**
- * <p>
- * run an individual test against a declared ejbSelect method
- * </p>
- *
- * @param m is the ejbSelect method
- * @param descriptor is the entity declaring the ejbSelect
- * @param result is where to put the result
- *
- * @return true if the test passes
- */
- protected boolean runIndividualSelectTest(Method m, EjbCMPEntityDescriptor descriptor, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- int modifiers = m.getModifiers();
- if (Modifier.isPublic(modifiers) && Modifier.isAbstract(modifiers) ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers.passed",
- "[ {0} ] is declared public and abstract",
- new Object[] {m.getName()}));
- return true;
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers.failed",
- "Error : [ {0} ] is not declared public and abstract",
- new Object[] {m.getName()}));
- return false;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodQL.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodQL.java
deleted file mode 100644
index 4b3199c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodQL.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.QueryDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * Select methods must be associated with an EJB QL query which includes a
- * SELECT clause
- *
- * @author Jerome Dochez
- * @version
- */
-public class SelectMethodQL extends SelectMethodTest {
-
- /**
- * <p>
- * run an individual test against a declared ejbSelect method
- * </p>
- *
- * @param m is the ejbSelect method
- * @param descriptor is the entity declaring the ejbSelect
- * @param result is where to put the result
- *
- * @return true if the test passes
- */
- protected boolean runIndividualSelectTest(Method m, EjbCMPEntityDescriptor descriptor, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- // We don't use getQueryFor to free ourselfves from classloader issues.
- Set set = descriptor.getPersistenceDescriptor().getQueriedMethods();
- Iterator iterator = set.iterator();
- while(iterator.hasNext()) {
- MethodDescriptor queryMethod = (MethodDescriptor) iterator.next();
- if (queryMethod.getName().equals(m.getName())) {
- Class mParms[] = m.getParameterTypes();
-
- String queryParms[] = queryMethod.getParameterClassNames();
-
- if (queryParms != null) {
-
- if (queryParms.length == mParms.length) {
- boolean same = true;
- for (int i=0;i<mParms.length;i++) {
- if (!mParms[i].getName().equals(queryParms[i]))
- same=false;
- }
- if (same) {
- QueryDescriptor qd = descriptor.getPersistenceDescriptor().getQueryFor(queryMethod);
- String query = qd.getQuery();
- if (query == null && qd.getSQL()==null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.failed2",
- "Error : [ {0} ] EJB-QL query and description are null",
- new Object[] {m.getName()}));
- return false;
- } else {
- if (query==null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.passed1",
- "Description for [ {0} ] is provided",
- new Object[] {m.getName()}));
- return true;
- }
- if (query.toUpperCase().indexOf("SELECT")==-1) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.failed2",
- "Error : EJB-QL query for method [ {0} is null",
- new Object[] {m.getName()}));
- return false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.passed2",
- "EJB-QL query for [ {0} ] is correct",
- new Object[] {m.getName()}));
- return true;
- }
- }
- }
- }
- }
- else if (mParms.length == 0) {
-
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.passed3",
- "No EJB-QL query found",
- new Object[] {}));
- return true;
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.failed2",
- "Error : EJB-QL query for method [ {0} is null",
- new Object[] {m.getName()}));
- return false;
- }
- }
- }
-
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.failed1",
- "Error : [ {0} ] does not have a XML query element associated",
- new Object[] {m.getName()}));
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodReturnType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodReturnType.java
deleted file mode 100644
index 006c8b8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodReturnType.java
+++ /dev/null
@@ -1,68 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Select methods must not return the entity bean class
- *
- * @author Jerome Dochez
- * @version
- */
-public class SelectMethodReturnType extends SelectMethodTest {
-
- /**
- * <p>
- * run an individual test against a declared ejbSelect method
- * </p>
- *
- * @param m is the ejbSelect method
- * @param descriptor is the entity declaring the ejbSelect
- * @param result is where to put the result
- *
- * @return true if the test passes
- */
- protected boolean runIndividualSelectTest(Method m, EjbCMPEntityDescriptor descriptor, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (m.getReturnType().getName().equals(descriptor.getEjbClassName())) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType.failed",
- "Error : [ {0} ] ejbSelect method returns the {1} class",
- new Object[] {m.getName(), "entity bean"}));
- return false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType.passed",
- "[ {0} ] ejbSelect method does not return the {1} class",
- new Object[] {m.getName(), "entity bean"}));
- return true;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodTest.java
deleted file mode 100644
index cb001f2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/cmp2/SelectMethodTest.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * SelectMethodTest.java
- *
- * Created on December 14, 2000, 4:36 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- *
- * @author dochez
- * @version
- */
-abstract public class SelectMethodTest extends CMPTest {
-
- protected abstract boolean runIndividualSelectTest(Method m, EjbCMPEntityDescriptor descriptor, Result result);
-
- /**
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbCMPEntityDescriptor descriptor) {
-
- boolean allIsWell = true;
- Result result = getInitializedResult();
- boolean found = false;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Class ejbClass = loadEjbClass(descriptor, result);
- if (ejbClass!=null) {
- Method[] methods = ejbClass.getDeclaredMethods();
- if (methods != null) {
- for (int i=0;i<methods.length;i++) {
- String methodName = methods[i].getName();
- if (methodName.startsWith("ejbSelect")) {
- found = true;
- if (!runIndividualSelectTest(methods[i], (EjbCMPEntityDescriptor) descriptor, result))
- allIsWell=false;
- }
- }
- if (found == false) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodTest.nptApplicable",
- "Not Applicable : No select methods found",
- new Object[] {}));
- }
- if (result.getStatus() != Result.NOT_APPLICABLE) {
- if (allIsWell)
- result.setStatus(Result.PASSED);
- else
- result.setStatus(Result.FAILED);
- }
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionCreate.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionCreate.java
deleted file mode 100644
index 53eac71..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionCreate.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * create<Method> method tests
- * Entity beans home interface create method throws CreateException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * The throws clause must include jakarta.ejb.CreateException.
- */
-public class HomeInterfaceCreateMethodExceptionCreate extends EjbTest implements EjbCheck {
- boolean foundAtLeastOneCreate = false;
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Entity beans home interface create method throws CreateException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * The throws clause must include jakarta.ejb.CreateException.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
-
- if (descriptor instanceof EjbEntityDescriptor) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
- }
-
- if (!foundAtLeastOneCreate) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface [ {0} ]",
- new Object[] {descriptor.getHomeClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No create method was found, test not applicable." ));
- result.setStatus(result.PASSED);
- } else {
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor) {
- boolean oneFailed = false;
-
- // RULE: Entity home interface are only allowed to have create
- // methods which must throw jakarta.ejb.CreateException
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class [] methodExceptionTypes;
- boolean throwsCreateException = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- throwsCreateException = false;
- if (methods[i].getName().startsWith("create")) {
- // set this once to indicate that test is applicable, if you didn't
- // find any create methods, that's okay too, as entity beans can
- // have zero or more create methods, & when you have zero, test
- // is N/A
- if (!foundAtLeastOneCreate) {
- foundAtLeastOneCreate = true;
- }
-
- methodExceptionTypes = methods[i].getExceptionTypes();
-
- // methods must also throw jakarta.ejb.CreateException
- for (int kk = 0; kk < methodExceptionTypes.length; ++kk) {
- if (methodExceptionTypes[kk].getName().equals("jakarta.ejb.CreateException")) {
- throwsCreateException = true;
- break;
- }
- }
-
- //report for this particular create method found in home interface
- // now display the appropriate results for this particular create
- // method
- if (throwsCreateException ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which must throw jakarta.ejb.CreateException was found."));
- } else if (!throwsCreateException) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home,methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A create method was found, but did not throw jakarta.ejb.CreateException." ));
- break;
- } // end of reporting for this particular 'create' method
- } // if the home interface found a "create" method
- } // for all the methods within the home interface class, loop
-
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionMatch.java
deleted file mode 100644
index 214e4a1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionMatch.java
+++ /dev/null
@@ -1,257 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-import java.util.logging.Level;
-
-/**
- * create<Method> method tests
- * Entity beans home interface method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines one or more create(...) methods.
- *
- * All the exceptions defined in the throws clause of an ejbCreate method of
- * the enterprise Bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *
- */
-public class HomeInterfaceCreateMethodExceptionMatch extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean foundAtLeastOneCreate = false;
- /**
- * Entity beans home interface method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines one or more create(...) methods.
- *
- * All the exceptions defined in the throws clause of an ejbCreate method of
- * the enterprise Bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- if (descriptor instanceof EjbEntityDescriptor) {
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getLocalHomeClassName(),descriptor);
- if (!foundAtLeastOneCreate) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".debug4",
- "In Home Interface ",
- new Object[] {}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No create method was found, test not applicable." ));
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param interfaceType remote/local
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String component, String local,EjbDescriptor descriptor) {
- boolean oneFailed = false;
- int ejbCreateMethodLoopCounter = 0;
- // RULE: entity home interface are only allowed to have create
- // methods which match ejbCreate, and exceptions match Bean's
- try {
- Class methodReturnType;
- Class [] methodParameterTypes;
- Class [] methodExceptionTypes;
- Class [] ejbCreateMethodExceptionTypes;
- Class [] ejbCreateMethodParameterTypes;
- boolean ejbCreateFound = false;
- boolean exceptionsMatch = false;
- Vector<Method> createMethodSuffix = new Vector<Method>();
-
- if (component != null) {
- Class home = Class.forName(component, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
-
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- foundAtLeastOneCreate = true;
- }
- }
- }
- if (local != null) {
- Class home = Class.forName(local, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
-
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- foundAtLeastOneCreate = true;
- }
- }
- }
- if (foundAtLeastOneCreate == false)
- return false;
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- do {
- Method [] methods = EJBClass.getDeclaredMethods();
- // find matching "ejbCreate" in bean class
- for (int i = 0; i < methods.length; i++) {
- ejbCreateFound = false;
- exceptionsMatch = false;
- if (methods[i].getName().startsWith("ejbCreate")) {
- String matchSuffix = methods[i].getName().substring(9);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- if (matchSuffix.equals(((Method)(createMethodSuffix.elementAt(k))).getName().substring(6))) {
- // clear these from last time thru loop
- // retrieve the EJB Class Methods
- methodParameterTypes = ((Method)(createMethodSuffix.elementAt(k))).getParameterTypes();
- ejbCreateMethodParameterTypes = methods[i].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,ejbCreateMethodParameterTypes)) {
- ejbCreateFound = true;
- methodExceptionTypes = ((Method)(createMethodSuffix.elementAt(k))).getExceptionTypes();
- ejbCreateMethodExceptionTypes = methods[i].getExceptionTypes();
- // methodExceptionTypes needs to be
- // a superset of all the possible exceptions thrown in
- // ejbCreateMethodExceptionTypes
- // All the exceptions defined in the throws clause of the
- // matching ejbCreate and ejbPostCreate methods of the
- // enterprise Bean class must be included in the throws
- // clause of the matching create method of the home interface
- // (i.e the set of exceptions defined for the create method
- // must be a superset of the union of exceptions defined for
- // the ejbCreate and ejbPostCreate methods)
- if (RmiIIOPUtils.isEjbFindMethodExceptionsSubsetOfFindMethodExceptions(ejbCreateMethodExceptionTypes,methodExceptionTypes)) {
- exceptionsMatch = true;
- // used to display output below
- ejbCreateMethodLoopCounter = k;
- break;
- }
- } // method params match
- }
- }
- //report for this particular create method found in home interface
- //if we know that ejbCreateFound got set to true in the above
- // loop, check other booleans, otherwise skip test, set status
- // to FAILED below
-
- // now display the appropriate results for this particular create
- // method
- if (ejbCreateFound && exceptionsMatch) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(ejbCreateMethodLoopCounter))).getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding [ {0} ] method with matching exceptions was found.",
- new Object[] {methods[i].getName()}));
- } else if (ejbCreateFound && !exceptionsMatch) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(ejbCreateMethodLoopCounter))).getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding ejbCreate() method was found, where the exceptions defined by method ejbCreate() are defined within matching create() method."));
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {((Method)(createMethodSuffix.elementAt(ejbCreateMethodLoopCounter))).getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug3",
- new Object[] {methods[i].getName(),((Method)(createMethodSuffix.elementAt(ejbCreateMethodLoopCounter))).getName()});
- break;
- } // end of reporting for this particular 'create' method
- }
- if (oneFailed == true)
- break;
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!(ejbCreateFound && exceptionsMatch)));
-
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home (Local/Remote) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionRemote.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionRemote.java
deleted file mode 100644
index 732c9e5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodExceptionRemote.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.logging.Level;
-
-/**
- * create<Method> method tests
- * Entity beans home interface create method throws RemoteException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * The throws clause must include java.rmi.RemoteException.
- */
-public class HomeInterfaceCreateMethodExceptionRemote extends EjbTest implements EjbCheck {
-
- /**
- * Entity beans home interface create method throws RemoteException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * The throws clause must include java.rmi.RemoteException.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- boolean foundAtLeastOneRemote = false;
- // RULE: Entity home interface are only allowed to have create
- // methods which must throw java.rmi.RemoteException
- if(descriptor.getHomeClassName() == null || "".equals(descriptor.getHomeClassName())) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "No Remote Home Interface for this ejb",
- new Object[] {}));
- return result;
- }
- try {
- Class c = Class.forName(descriptor.getHomeClassName(), false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class [] methodExceptionTypes;
- boolean throwsRemoteException = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- throwsRemoteException = false;
- if (methods[i].getName().startsWith("create")) {
- // set this once to indicate that test is applicable, if you didn't
- // find any create methods, that's okay too, as entity beans can
- // have zero or more create methods, & when you have zero, test
- // is N/A
- if (!foundAtLeastOneRemote) {
- foundAtLeastOneRemote = true;
- }
-
- methodExceptionTypes = methods[i].getExceptionTypes();
-
- // methods must also throw java.rmi.RemoteException
- if (EjbUtils.isValidRemoteException(methodExceptionTypes)) {
- throwsRemoteException = true;
- }
-
- //report for this particular create method found in home interface
- // now display the appropriate results for this particular create
- // method
- logger.log(Level.FINE, " Interface " + c.getName() + " method " + methods[i].getName());
- if (throwsRemoteException ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which must throw java.rmi.RemoteException was found."));
- } else if (!throwsRemoteException) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A create method was found, but did not throw java.rmi.RemoteException." ));
- } // end of reporting for this particular 'create' method
- } // if the home interface found a "create" method
- } // for all the methods within the home interface class, loop
-
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getHomeClassName(), descriptor.getName()}));
- }
-
- if (!foundAtLeastOneRemote) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface [ {0} ]",
- new Object[] {descriptor.getHomeClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No create method was found, test not applicable." ));
- result.setStatus(result.PASSED);
- } else {
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodMatchArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodMatchArgs.java
deleted file mode 100644
index 4028a29..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodMatchArgs.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-
-/**
- * create<Method> method tests
- * Entity beans home interface create method match bean class test.
- *
- * The following are the requirements for the Entity Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- */
-public class HomeInterfaceCreateMethodMatchArgs extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean foundAtLeastOneCreate = false;
- /**
- * Entity beans home interface create method match bean class test.
- *
- * The following are the requirements for the Entity Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
-
- // RULE: Entity home interface are only allowed to have create
- // methods which match ejbCreate,
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getLocalHomeClassName(),descriptor);
- if (!foundAtLeastOneCreate) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "In Home Interface ",
- new Object[] {}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No create method was found, test not applicable." ));
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String component, String local,EjbDescriptor descriptor) {
- boolean oneFailed = false;
- boolean found = false;
- foundAtLeastOneCreate = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class [] methodParameterTypes;
- Class [] businessMethodParameterTypes;
- boolean signaturesMatch = false;
- Vector<Method> createMethodSuffix = new Vector<Method>();
-
- if (component != null) {
- Class home = Class.forName(component, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
-
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- foundAtLeastOneCreate = true;
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- }
- }
- }
-
- if (local != null) {
- Class home = Class.forName(local, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
-
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- foundAtLeastOneCreate = true;
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- }
- }
- }
-
- if (foundAtLeastOneCreate == false)
- return false;
-
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] methods = EJBClass.getDeclaredMethods();
- // find matching "ejbCreate" in bean class
- for (int j = 0; j < methods.length; j++) {
- found = false;
- if (methods[j].getName().startsWith("ejbCreate")) {
- found = true;
- String matchSuffix = methods[j].getName().substring(9);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- signaturesMatch = false;
-
- if (matchSuffix.equals(((Method)(createMethodSuffix.elementAt(k))).getName().substring(6))) {
- methodParameterTypes = ((Method)(createMethodSuffix.elementAt(k))).getParameterTypes();
- businessMethodParameterTypes = methods[j].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,businessMethodParameterTypes)) {
- signaturesMatch = true;
- // now display the appropriate results for this particular ejbCreate
- // method
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(k))).getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding ejbCreate method with matching parameters was found."));
- break;
- }
- }
- }
- if (signaturesMatch == false) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface ",
- new Object[] {}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding ejbCreate<Method> method with matching parameters was found." ));
- break;
-
- } // for all the business methods within the bean class, loop
- }
- }
- if (oneFailed == true)
- break;
-
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!signaturesMatch));
- if (found == false && foundAtLeastOneCreate == true){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: ejbPostCreate<Method> method corresponding to the ejbCreate<Method> method does not exist!",
- new Object[] {}));
-
- }
- if (found == false && foundAtLeastOneCreate == false){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No create method was found, test not applicable." ));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface (Remote/Local) or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodReturn.java
deleted file mode 100644
index 2f0f072..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/createmethod/HomeInterfaceCreateMethodReturn.java
+++ /dev/null
@@ -1,248 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * create<Method> method tests
- * Entity beans home interface create method return type test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * The return type for a create method must be the enterprise Bean's remote
- * interface type.
- *
- */
-public class HomeInterfaceCreateMethodReturn extends EjbTest implements EjbCheck {
- boolean foundAtLeastOneCreate = false;
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean remote_exists = false;
- boolean local_exists = false;
- /**
- * Entity beans home interface create method return type test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Entity Bean's home interface defines zero or more create(...) methods.
- *
- * The return type for a create method must be the enterprise Bean's remote
- * interface type.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- String local = null;
- String localHome = null;
- String remote = null;
- String home = null;
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
-
- // RULE: Entity home interface are only allowed to have create
- // methods which returns the entity Bean's
- // remote interface.
-
- if (descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()) &&
- descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()) ) {
- remote_exists = true;
- home = descriptor.getHomeClassName();
- remote = descriptor.getRemoteClassName();
- }
- if (descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())&&
- descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName())) {
- local_exists = true;
- localHome = descriptor.getLocalHomeClassName();
- local = descriptor.getLocalClassName();
- }
- oneFailed = commonToBothInterfaces(remote,home,local,localHome,(EjbEntityDescriptor)descriptor);
-
- if (!foundAtLeastOneCreate) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "In Home Interface ",
- new Object[] {}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No create method was found, test not applicable." ));
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param remote Remote/Local interface
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String remote, String home, String local, String localHome, EjbEntityDescriptor descriptor) {
- boolean oneFailed = false;
- Class c,rc,lc,hc;
- Method localMethods[],methods[];
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- if (remote_exists) {
- c = Class.forName(home, false, getVerifierContext().getClassLoader());
- rc = Class.forName(remote, false, getVerifierContext().getClassLoader());
- methods = c.getDeclaredMethods();
- oneFailed = findReturnType(methods,home,local,remote);
- }
- if (oneFailed == false) {
- if (local_exists) {
- hc = Class.forName(localHome, false, getVerifierContext().getClassLoader());
- lc = Class.forName(local, false, getVerifierContext().getClassLoader());
- localMethods = hc.getDeclaredMethods();
- oneFailed = findReturnType(localMethods,localHome,local,remote);
- }
- }
- return oneFailed;
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] or [ {1} ]or Component interface [ {2} ] or [ {3} ] does not exist or is not loadable within bean [ {4} ]",
- new Object[] {home, localHome, remote, local, descriptor.getName()}));
- return false;
- }
- }
-
-
- private boolean findReturnType(Method[] methods, String home, String local, String remote) {
- Class methodReturnType;
- boolean validReturn, oneFailed = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- validReturn = false;
- if (methods[i].getName().startsWith("create")) {
- foundAtLeastOneCreate=true;
- // return type must be the remote interface
- methodReturnType = methods[i].getReturnType();
- if (remote_exists) {
- if (methodReturnType.getName().equals(remote)) {
- // this is the right ejbCreate method
- validReturn = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home ,methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which returns [ {0} ] interface was found.",
- new Object[] {"remote"}));
- }
- }
- if (local_exists) {
- if (methodReturnType.getName().equals(local)) {
- // this is the right ejbCreate method
- validReturn = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home ,methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which returns [ {0} ] interface was found.",
- new Object[] {"local"}));
- }
- }
-
- //report for this particular create method found in home interface
- // now display the appropriate results for this particular create
- // method
- if (!validReturn) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home,methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A Create method was found, but the return type [ {0} ] was not the Remote/Local interface" ,
- new Object[] {methodReturnType.getName()}));
- return oneFailed;
- } // end of reporting for this particular 'create' method
- } // if the home interface found a "create" method
- } // for all the methods within the home interface class, loop
-
- return oneFailed;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMatchesCreate.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMatchesCreate.java
deleted file mode 100644
index c2697ec..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMatchesCreate.java
+++ /dev/null
@@ -1,250 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-
-/**
- * Entity beans home interface create method match bean class test.
- *
- * The following are the requirements for the Entity Bean's home interface
- * signature:
- *
- * A Entity Bean's home interface defines one or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- */
-public class EjbCreateMatchesCreate extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean foundAtLeastOneCreate = false;
-
- /**
- * Entity beans home interface create method match bean class test.
- *
- * The following are the requirements for the Entity Bean's home interface
- * signature:
- *
- * A Entity Bean's home interface defines one or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- // RULE: entity home interface are only allowed to have create
- // methods which match ejbCreate,
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getLocalHomeClassName(),descriptor);
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- if(foundAtLeastOneCreate == false)
- {
- result.setStatus(Result.NOT_APPLICABLE);
- }
- else
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String remote, String local,EjbDescriptor descriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class [] methodParameterTypes;
- Class [] businessMethodParameterTypes;
- boolean signaturesMatch = false;
-
- boolean found = false;
- Vector<Method> createMethodSuffix = new Vector<Method>();
-
- if (local != null) {
- Class localhome = Class.forName(local, false, getVerifierContext().getClassLoader());
- Method [] localhomeMethods = localhome.getDeclaredMethods();
- for (int i = 0; i < localhomeMethods.length; i++) {
- // The method name must start with create.
- if (localhomeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)localhomeMethods[i]);
- foundAtLeastOneCreate = true;
-
- }
- }
- }
- if (remote != null) {
- Class home = Class.forName(remote, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- foundAtLeastOneCreate = true;
-
- }
- }
- }
- if (foundAtLeastOneCreate == false) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ]`s home/localhome does not declare any create<Method> methods.",
- new Object[] {descriptor.getEjbClassName()}));
- return false;
- }
-
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] methods = EJBClass.getMethods();
- // find matching "ejbCreate" in bean class
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- for (int j = 0; j < methods.length; j++) {
- found = false;
- if (methods[j].getName().startsWith("ejbCreate")) {
- found = true;
- String matchSuffix = methods[j].getName().substring(9);
- signaturesMatch = false;
- if (matchSuffix.equals(((Method)(createMethodSuffix.elementAt(k))).getName().substring(6))) {
- methodParameterTypes = ((Method)(createMethodSuffix.elementAt(k))).getParameterTypes();
- businessMethodParameterTypes = methods[j].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,businessMethodParameterTypes)) {
- signaturesMatch = true;
- // now display the appropriate results for this particular ejbCreate
- // method
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(k))).getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding ejbCreate method with matching parameters was found."));
- break;
- }
- }
- }
- }
- if (signaturesMatch == false) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface",
- new Object[] {}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding ejbCreate<Method> method with matching parameters was found." ));
- break;
-
- }
- }
- if (oneFailed == true)
- break;
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!signaturesMatch));
- if (found == false && foundAtLeastOneCreate == true){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: ejbCreate<Method> method corresponding to the create<Method> method does not exist!",
- new Object[] {}));
-
- }
- if (found == false && foundAtLeastOneCreate == false){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: no create<Method> method exists!",
- new Object[] {}));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home (Local/Remote) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- oneFailed = true;
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodArgs.java
deleted file mode 100755
index 8c3d714..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodArgs.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity Bean's ejbCreate(...) methods arguments test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The methods arguments must be legal types for RMI-IIOP.
- *
- */
-public class EjbCreateMethodArgs extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbCreate(...) methods arguments test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The methods arguments must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- boolean remote_exists = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- //bug fix for 4699227
- if (descriptor.getRemoteClassName() == null ||
- descriptor.getRemoteClassName().equals("")) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
-
- if (descriptor.getRemoteClassName() != null &&
- !descriptor.getRemoteClassName().equals(""))
- remote_exists = true;
-
- Class [] ejbCreateMethodParameterTypes;
- boolean ejbCreateFound = false;
- boolean isLegalRMIIIOP = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isLegalRMIIIOP = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- if (remote_exists == true) {
- // The methods arguments types must be legal types for RMI-IIOP.
- ejbCreateMethodParameterTypes = methods[i].getParameterTypes();
- if (RmiIIOPUtils.isValidRmiIIOPParameters(ejbCreateMethodParameterTypes)) {
- // these method parameters are valid, continue
- isLegalRMIIIOP = true;
- }
- } else isLegalRMIIIOP = true; //if the ejb has only a local interface
- //we donot need to check for legal rmi-iiop parameters
- // now display the appropriate results for this particular ejbCreate
- // method
-
- if (ejbCreateFound && !isLegalRMIIIOP) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] method has illegal parameter values. [ {2} ] methods arguments types must be legal types for RMI-IIOP.",
- new Object[] {methods[i].getName(),methods[i].getName(),methods[i].getName()}));
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- if (oneFailed == false && foundAtLeastOne > 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares ejbCreate<method> method with arguments that are legal types for RMI-IIOP.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodExceptions.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodExceptions.java
deleted file mode 100755
index ea15557..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodExceptions.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity Bean's ejbCreate(...) methods exceptions test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- */
-public class EjbCreateMethodExceptions extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbCreate(...) methods exceptions test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundWarning = 0;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbCreateFound = false;
- boolean throwsRemoteException = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- throwsRemoteException = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw
- // the java.rmi.RemoteException to indicate a non-application
- // exception. This practice is deprecated in EJB 1.1---an EJB 1.1
- // compliant enterprise bean should throw the jakarta.ejb.EJBException
- // or another RuntimeException to indicate non-application
- // exceptions to the Container (see Section 12.2.2).
- // Note: Treat as a warning to user in this instance.
- Class [] exceptions = methods[i].getExceptionTypes();
- for (int z = 0; z < exceptions.length; ++z) {
- if (exceptions[z].getName().equals("java.rmi.RemoteException")) {
- throwsRemoteException = true;
- break;
- }
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && (!throwsRemoteException)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares [ {1} ] method which does not throw java.rmi.RemoteException.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbCreateFound && throwsRemoteException) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Error: Compatibility Note:" +
- "\n An [ {0} ] method was found, but" +
- "\n EJB 1.0 allowed the ejbCreate method to throw the " +
- "\n java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice is deprecated in EJB 1.1" +
- "\n ---an EJB 1.1 compliant enterprise bean should" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container. ",
- new Object[] {methods[i].getName()}));
- foundWarning++;
- break;
- }
- }
- }
- if (foundWarning > 0)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else if (foundWarning > 0) {
- result.setStatus(result.WARNING);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodFinal.java
deleted file mode 100755
index edf727a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodFinal.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Entity Bean's ejbCreate(...) methods final test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as final.
- *
- */
-public class EjbCreateMethodFinal extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbCreate(...) methods final test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbCreateFound = false;
- boolean isFinal = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isFinal = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The method must not be declared as final.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isFinal(modifiers)){
- isFinal = true;
- }
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && isFinal) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.",
- new Object[] {methods[i].getName(),methods[i].getName()}));
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (oneFailed == false && foundAtLeastOne > 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] ",
- new Object[] {descriptor.getEjbClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares non-final ejbCreate<method> method.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodName.java
deleted file mode 100755
index fb55f13..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodName.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Vector;
-
-/**
- * Entity Bean's ejbCreate(...) methods name test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- */
-public class EjbCreateMethodName extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- int foundAtLeastOne = 0;
-
- /**
- * Entity Bean's ejbCreate(...) methods name test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
-
- if (descriptor instanceof EjbEntityDescriptor) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),(EjbEntityDescriptor)descriptor);
- if (oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),(EjbEntityDescriptor)descriptor);
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- private boolean commonToBothInterfaces(String component, EjbEntityDescriptor descriptor) {
-
- boolean oneFailed = false;
- boolean createExists = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- Class home = Class.forName(component, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
- Vector<String> createMethodSuffix = new Vector<String>();
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( homeMethods[i].getName().substring(6));
- createExists = true;
- }
- }
-
- // start do while loop here....
- do {
- boolean found = false;
- Method [] methods = c.getDeclaredMethods();
- for (int j = 0; j < methods.length; j++) {
- // The method name must start with ejbCreate.
- if (methods[j].getName().startsWith("ejbCreate")) {
- String matchSuffix = methods[j].getName().substring(9);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- found = false;
- if (matchSuffix.equals(createMethodSuffix.elementAt(k))) {
- found = true;
- foundAtLeastOne++;
- // now display the appropriate results for this particular ejbCreate
- // method
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[j].getName()}));
- break;
- }
- }
- if (found == false) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: no create{0}() method found corresponding to ejbCreate{1}() method ",
- new Object[] {matchSuffix, matchSuffix}));
- oneFailed = true;
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if ( createExists == false){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = false;
- }
- if (foundAtLeastOne == 0 && createExists == true){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: no ejbCreate<Method> method for corresponding create<Method> method found!",
- new Object[] {}));
- oneFailed = false;
- }
-
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- return oneFailed;
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodPublic.java
deleted file mode 100755
index 9716a41..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodPublic.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Entity Bean's ejbCreate(...) methods public test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must be declared as public.
- *
- */
-public class EjbCreateMethodPublic extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbCreate(...) methods public test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbCreateFound = false;
- boolean isPublic = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isPublic = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The method must be declared as public.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isPublic(modifiers)){
- isPublic = true;
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && !isPublic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but was not public.",
- new Object[] {methods[i].getName()}));
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (oneFailed == false && foundAtLeastOne > 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares public ejbCreate<method> method.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
-
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodReturn.java
deleted file mode 100755
index 50e065d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodReturn.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity Bean's ejbCreate(...) methods return test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The return type must be primary key type.
- *
- */
-public class EjbCreateMethodReturn extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbCreate(...) methods return test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The return type must be primary key type.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- boolean oneFailed = false;
- boolean oneWarning = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
- boolean ejbCreateFound = false;
- boolean returnsPrimaryKeyType = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- returnsPrimaryKeyType = false;
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The return type must be primary key type.
- Class rt = methods[i].getReturnType();
- if (rt.getName().equals(primaryKeyType)) {
- returnsPrimaryKeyType = true;
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && !returnsPrimaryKeyType) {
- if (primaryKeyType.equals("java.lang.Object")) {
- oneWarning = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: An [ {0} ] method was found, but [ {1} ] method has [ {2} ] return type. Deployment descriptor primary key type [ {3} ]. Definition of the primary key type is deferred to deployment time ?",
- new Object[] {methods[i].getName(),methods[i].getName(),methods[i].getReturnType().getName(),primaryKeyType}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] method has illegal return value. [ {2} ] methods must return primary key type [ {3} ].",
- new Object[] {methods[i].getName(),methods[i].getName(),methods[i].getName(),primaryKeyType}));
- break;
- }
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable0",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (oneFailed == false && foundAtLeastOne > 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares ejbCreate<method> method to return primary key type [ {1} ].",
- new Object[] {descriptor.getEjbClassName(), primaryKeyType}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- if (oneWarning) {
- result.setStatus(result.WARNING);
- } else {
-
- result.setStatus(result.PASSED);
- }
- }
-
- return result;
-
- } else { // if (CONTAINER_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodStatic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodStatic.java
deleted file mode 100755
index e1b3336..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbcreatemethod/EjbCreateMethodStatic.java
+++ /dev/null
@@ -1,176 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Entity Bean's ejbCreate(...) methods static test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as static.
- *
- */
-public class EjbCreateMethodStatic extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbCreate(...) methods static test.
- * Each entity Bean class may define zero or more ejbCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbCreateFound = false;
- boolean isStatic = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isStatic = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The method must not be declared as static.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isStatic(modifiers)){
- isStatic = true;
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && isStatic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.",
- new Object[] {methods[i].getName(),methods[i].getName()}));
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (oneFailed == false && foundAtLeastOne > 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares non-static ejbCreate<method> method.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyArgs.java
deleted file mode 100755
index b0d17bb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyArgs.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Define ejbFindByPrimaryKey method arguments test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * The methods arguments types must be legal types for RMI-IIOP.
- */
-public class EjbFindByPrimaryKeyArgs extends EjbTest implements EjbCheck {
-
-
- /**
- * Define ejbFindByPrimaryKey method arguments test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * The methods arguments types must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistentType)) {
- Class [] ejbFinderMethodParameterTypes;
- boolean ejbFindByPrimaryKeyMethodFound = false;
- boolean oneFailed = false;
- boolean isLegalRMIIIOP = false;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().equals("ejbFindByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // ejbFindByPrimaryKey method.
- ejbFindByPrimaryKeyMethodFound = true;
-
- // The methods arguments types must be legal types for RMI-IIOP.
- ejbFinderMethodParameterTypes = ejbFinderMethods[j].getParameterTypes();
- if (RmiIIOPUtils.isValidRmiIIOPParameters(ejbFinderMethodParameterTypes)) {
- // these method parameters are valid, continue
- isLegalRMIIIOP = true;
- }
-
- if (ejbFindByPrimaryKeyMethodFound && isLegalRMIIIOP) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "An [ {0} ] method with valid RMI-IIOP argument types was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindByPrimaryKeyMethodFound && (!isLegalRMIIIOP)) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}
- ));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] method has illegal parameter values. [ {2} ] methods arguments types must be legal types for RMI-IIOP.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- // found one, and there should only be one, break out
- break;
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!ejbFindByPrimaryKeyMethodFound));
-
- if (!ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No ejbFindByPrimaryKey method was found in bean class."));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- } else { //(CONTAINER_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistentType}));
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyException.java
deleted file mode 100755
index 8fc7788..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyException.java
+++ /dev/null
@@ -1,208 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Define ejbFindByPrimaryKey method exception test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise
- * bean should throw the jakarta.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to
- * the Container.
- *
- */
-public class EjbFindByPrimaryKeyException extends EjbTest implements EjbCheck {
-
-
- /**
- * Define ejbFindByPrimaryKey method exception test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise
- * bean should throw the jakarta.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to
- * the Container.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistentType)) {
- boolean ejbFindByPrimaryKeyMethodFound = false;
- boolean throwsRemoteException = false;
- boolean oneFailed = false;
- int foundWarning = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().equals("ejbFindByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // ejbFindByPrimaryKey method.
- ejbFindByPrimaryKeyMethodFound = true;
-
- // Compatibility Note: EJB 1.0 allowed the ejbFindByPrimaryKey to
- // throw the java.rmi.RemoteException to indicate a non-application
- // exception. This practice is deprecated in EJB 1.1---an EJB 1.1
- // compliant enterprise bean should throw the jakarta.ejb.EJBException
- // or another RuntimeException to indicate non-application
- // exceptions to the Container (see Section 12.2.2).
- // Note: Treat as a warning to user in this instance.
- Class [] exceptions = ejbFinderMethods[j].getExceptionTypes();
- for (int z = 0; z < exceptions.length; ++z) {
- if (exceptions[z].getName().equals("java.rmi.RemoteException")) {
- throwsRemoteException = true;
- break;
- }
- }
-
- if (ejbFindByPrimaryKeyMethodFound && (!throwsRemoteException)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method, which properly does not throw java.rmi.RemoteException",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- } else if (ejbFindByPrimaryKeyMethodFound && throwsRemoteException) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Error: Compatibility Note:" +
- "\n An [ {0} ] method was found, but" +
- "\n EJB 1.0 allowed the ejbFindByPrimaryKey method to throw " +
- "\n the java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice is deprecated in EJB 1.1" +
- "\n ---an EJB 1.1 compliant enterprise bean should" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container. ",
- new Object[] {ejbFinderMethods[j].getName()}));
- foundWarning++;
- }
- // found one, and there should only be one, break out
- break;
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!ejbFindByPrimaryKeyMethodFound));
-
- if (!ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No ejbFindByPrimaryKey method was found in bean class."));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundWarning > 0) {
- result.setStatus(result.WARNING);
- } else {
- result.setStatus(result.PASSED);
- }
-
- } else { //(CONTAINER_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistentType}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyFinal.java
deleted file mode 100755
index 70585fc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyFinal.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Define ejbFindByPrimaryKey method final test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * The method must not be declared as final.
- *
- */
-public class EjbFindByPrimaryKeyFinal extends EjbTest implements EjbCheck {
-
-
- /**
- * Define ejbFindByPrimaryKey method final test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * The method must not be declared as final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistentType)) {
- boolean ejbFindByPrimaryKeyMethodFound = false;
- boolean isFinal = false;
- boolean oneFailed = false;
- int findMethodModifiers = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().equals("ejbFindByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // ejbFindByPrimaryKey method.
- ejbFindByPrimaryKeyMethodFound = true;
-
- // The method must not be declared as final.
- findMethodModifiers = ejbFinderMethods[j].getModifiers();
- if (Modifier.isFinal(findMethodModifiers)) {
- isFinal = true;
- }
-
- if (ejbFindByPrimaryKeyMethodFound && !isFinal) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A non-final [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindByPrimaryKeyMethodFound && isFinal) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- // found one, and there should only be one, break out
- break;
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!ejbFindByPrimaryKeyMethodFound));
-
- if (!ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No ejbFindByPrimaryKey method was found in bean class."));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- } else { //(CONTAINER_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistentType}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyName.java
deleted file mode 100755
index 23377dd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyName.java
+++ /dev/null
@@ -1,164 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Define ejbFindByPrimaryKey method name test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method. The return type for this method must be the primary key type.
- * (i.e. the ejbFindByPrimaryKey method must be a single-object finder).
- *
- */
-public class EjbFindByPrimaryKeyName extends EjbTest implements EjbCheck {
-
-
- /**
- * Define ejbFindByPrimaryKey method name test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method. The return type for this method must be the primary key type.
- * (i.e. the ejbFindByPrimaryKey method must be a single-object finder).
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence = ((EjbEntityDescriptor)descriptor).getPersistenceType();
- boolean ejbFindByPrimaryKeyMethodFound = false;
- boolean oneFailed = false;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().equals("ejbFindByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // ejbFindByPrimaryKey method. The result type for this method must
- // be the primary key type (i.e. the ejbFindByPrimaryKey method
- // must be a single-object finder).
- ejbFindByPrimaryKeyMethodFound = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "An [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- break;
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!ejbFindByPrimaryKeyMethodFound));
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)&&ejbFindByPrimaryKeyMethodFound) {
- result.setStatus(result.PASSED);
- return result;
- } else {
- if(EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence) && !ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No ejbFindByPrimaryKey method was found in bean class."));
- } else if(EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence) && ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: ejbFindByPrimaryKey method was found for CMP bean class."));
- } else {//(CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyPublic.java
deleted file mode 100755
index f07a844..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyPublic.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Define ejbFindByPrimaryKey method public test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * An ejbFindByPrimaryKey method must be declared as public.
- *
- */
-public class EjbFindByPrimaryKeyPublic extends EjbTest implements EjbCheck {
-
-
- /**
- * Define ejbFindByPrimaryKey method public test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * An ejbFindByPrimaryKey method must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistentType)) {
- boolean ejbFindByPrimaryKeyMethodFound = false;
- boolean isPublic = false;
- boolean oneFailed = false;
- int findMethodModifiers = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().equals("ejbFindByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // ejbFindByPrimaryKey method.
- ejbFindByPrimaryKeyMethodFound = true;
-
- // A finder method must be declared as public. check the modifier
- findMethodModifiers = ejbFinderMethods[j].getModifiers();
- if (Modifier.isPublic(findMethodModifiers)) {
- isPublic = true;
- }
-
- if (ejbFindByPrimaryKeyMethodFound && isPublic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The public [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindByPrimaryKeyMethodFound && !isPublic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but was not public.",
- new Object[] {ejbFinderMethods[j].getName()}));
- }
- // found one, and there should only be one, break out
- break;
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!ejbFindByPrimaryKeyMethodFound));
-
- if (!ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No ejbFindByPrimaryKey method was found in bean class."));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- } else { //(CONTAINER_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistentType}));
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyReturn.java
deleted file mode 100755
index e9a2c25..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyReturn.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Define ejbFindByPrimaryKey method return test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method. The return type for this method must be the primary key type.
- * (i.e. the ejbFindByPrimaryKey method must be a single-object finder).
- *
- */
-public class EjbFindByPrimaryKeyReturn extends EjbTest implements EjbCheck {
-
-
- /**
- * Define ejbFindByPrimaryKey method return test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method. The return type for this method must be the primary key type.
- * (i.e. the ejbFindByPrimaryKey method must be a single-object finder).
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistentType)) {
- boolean ejbFindByPrimaryKeyMethodFound = false;
- boolean oneFailed = false;
- boolean oneWarning = false;
- boolean returnValueValid = false;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
- String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- Class returnByPrimaryKeyValue = ejbFinderMethods[j].getReturnType();
-
- if (ejbFinderMethods[j].getName().equals("ejbFindByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // ejbFindByPrimaryKey method. The result type for this method must
- // be the primary key type (i.e. the ejbFindByPrimaryKey method
- // must be a single-object finder).
- ejbFindByPrimaryKeyMethodFound = true;
- if (returnByPrimaryKeyValue.getName().equals(primaryKeyType)) {
- returnValueValid = true;
- }
-
- if (ejbFindByPrimaryKeyMethodFound && returnValueValid) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "An [ {0} ] method with valid return type was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindByPrimaryKeyMethodFound && (!returnValueValid)) {
- /* if primary key is java.lang.Object then ejbFindByPrimaryKey method
- must return java.lang.Object. So the following check is not correct.
-
- if (primaryKeyType.equals("java.lang.Object")) {
- oneWarning = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: An [ {0} ] method was found, but [ {1} ] method has [ {2} ] return type. Deployment descriptor primary key type is [ {3} ]. Definition of the primary key type is deferred to deployment time ?",
- new Object[] {ejbFinderMethods[j].getName(), ejbFinderMethods[j].getName(),ejbFinderMethods[j].getReturnType().getName(),primaryKeyType}));
- } else { */
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] return type must be the enterprise Bean's primary key type.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- // }
- }
- // found one, and there should only be one, break out
- break;
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!ejbFindByPrimaryKeyMethodFound));
-
- if (!ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No ejbFindByPrimaryKey method was found in bean class."));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- if (oneWarning) {
- result.setStatus(result.WARNING);
- } else {
- result.setStatus(result.PASSED);
- }
- }
- } else { //(CONTAINER_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistentType}));
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyStatic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyStatic.java
deleted file mode 100755
index 7bce2f9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindbyprimarykey/EjbFindByPrimaryKeyStatic.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Define ejbFindByPrimaryKey method static test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * The method must not be declared as static.
- *
- */
-public class EjbFindByPrimaryKeyStatic extends EjbTest implements EjbCheck {
-
-
- /**
- * Define ejbFindByPrimaryKey method static test.
- *
- * Every entity enterprise Bean class must define the ejbFindByPrimaryKey
- * method.
- *
- * The method must not be declared as static.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistentType =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistentType)) {
-
- boolean ejbFindByPrimaryKeyMethodFound = false;
- boolean isStatic = false;
- boolean oneFailed = false;
- int findMethodModifiers = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().equals("ejbFindByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // ejbFindByPrimaryKey method.
- ejbFindByPrimaryKeyMethodFound = true;
-
- // The method must not be declared as static.
- findMethodModifiers = ejbFinderMethods[j].getModifiers();
- if (Modifier.isStatic(findMethodModifiers)) {
- isStatic = true;
- }
-
- if (ejbFindByPrimaryKeyMethodFound && !isStatic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A non-static [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindByPrimaryKeyMethodFound && isStatic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- // found one, and there should only be one, break out
- break;
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!ejbFindByPrimaryKeyMethodFound));
-
- if (!ejbFindByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For EJB Class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No ejbFindByPrimaryKey method was found in bean class."));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {0} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- } else { //(CONTAINER_PERSISTENCE.equals(persistentType))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistentType}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodArgs.java
deleted file mode 100755
index 51c8a6a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodArgs.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The methods arguments types must be legal types for RMI-IIOP.
- *
- */
-public class EjbFinderMethodArgs extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The methods arguments types must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- Class [] methodParameterTypes;
- Class [] ejbFinderMethodParameterTypes;
- boolean ejbFindMethodFound = false;
- boolean isLegalRMIIIOP = false;
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- // test not applicable if the bean has only local home
- if (descriptor.getHomeClassName() == null ||
- descriptor.getHomeClassName().equals("")) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- ejbFindMethodFound = true;
- foundAtLeastOne++;
-
- // The methods arguments types must be legal types for RMI-IIOP.
- ejbFinderMethodParameterTypes = ejbFinderMethods[j].getParameterTypes();
- if (RmiIIOPUtils.isValidRmiIIOPParameters(ejbFinderMethodParameterTypes)) {
- // these method parameters are valid, continue
- isLegalRMIIIOP = true;
- }
-
- if (ejbFindMethodFound && isLegalRMIIIOP) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "An [ {0} ] method was found, with valid method arguments types for RMI-IIOP.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindMethodFound && (!isLegalRMIIIOP)) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] method has illegal parameter values. [ {2} ] methods arguments types must be legal types for RMI-IIOP.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodDescription.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodDescription.java
deleted file mode 100644
index ad53252..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodDescription.java
+++ /dev/null
@@ -1,66 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Note that the ejbFind<METHOD> names and parameter signatures do not
- * provide the container tools with sufficient information for automatically
- * generating the implementation of the finder methods for methods other than
- * ejbFindByPrimaryKey. Therefore, the bean provider is responsible for
- * providing a description of each finder method. The entity bean Deployer
- * uses container tools to generate the implementation of the finder methods
- * based in the description supplied by the bean provider. The Enterprise
- * JavaBeans architecture does not specify the format of the finder method
- * description.
- */
-public class EjbFinderMethodDescription extends EjbTest implements EjbCheck {
-
-
- /**
- * Note that the ejbFind<METHOD> names and parameter signatures do not
- * provide the container tools with sufficient information for automatically
- * generating the implementation of the finder methods for methods other than
- * ejbFindByPrimaryKey. Therefore, the bean provider is responsible for
- * providing a description of each finder method. The entity bean Deployer
- * uses container tools to generate the implementation of the finder methods
- * based in the description supplied by the bean provider. The Enterprise
- * JavaBeans architecture does not specify the format of the finder method
- * description.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
-
- // Stub test class placeholder
- // fill in guts/logic - pass/fail accordingly in future
- result.setStatus(Result.NOT_IMPLEMENTED);
- result.addNaDetails
- (smh.getLocalString
- (getClass().getName() + ".notImplemented",
- "No static testing done - yet."));
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodException.java
deleted file mode 100755
index e1a79c5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodException.java
+++ /dev/null
@@ -1,278 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise
- * bean should throw the jakarta.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to
- * the Container.
- *
- */
-public class EjbFinderMethodException extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * Compatibility Note: EJB 1.0 allowed the finder methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise
- * bean should throw the jakarta.ejb.EJBException or another
- * java.lang.RuntimeException to indicate non-application exceptions to
- * the Container.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- boolean ejbFindMethodFound = false;
- boolean throwsRemoteException = false;
- boolean throwsFinderException = false;
- boolean isValidFinderException = false;
- boolean oneFailed = false;
- int foundWarning = 0;
- int foundAtLeastOne = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- throwsRemoteException = false;
- throwsFinderException = false;
- ejbFindMethodFound = false;
-
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- ejbFindMethodFound = true;
- foundAtLeastOne++;
-
- // Compatibility Note: EJB 1.0 allowed the ejbFind<METHOD> to
- // throw the java.rmi.RemoteException to indicate a non-application
- // exception. This practice is deprecated in EJB 1.1---an EJB 1.1
- // compliant enterprise bean should throw the jakarta.ejb.EJBException
- // or another RuntimeException to indicate non-application
- // exceptions to the Container (see Section 12.2.2).
- // Note: Treat as a warning to user in this instance.
- Class [] exceptions = ejbFinderMethods[j].getExceptionTypes();
- if (EjbUtils.isValidRemoteException(exceptions)) {
- throwsRemoteException = true;
- }
-
- if (EjbUtils.isValidFinderException(exceptions)) {
- throwsFinderException = true;
- }
-
- if (ejbFindMethodFound && throwsRemoteException == false && throwsFinderException == true) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method, which properly does not throw java.rmi.RemoteException, but throws FinderException",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- } else if (ejbFindMethodFound && throwsRemoteException == true) {
- if (descriptor instanceof EjbCMPEntityDescriptor){
- if(((EjbCMPEntityDescriptor) descriptor).getCMPVersion()== EjbCMPEntityDescriptor.CMP_2_x){
-
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".error",
- "Error: Compatibility Note:" +
- "\n An [ {0} ] method was found, but" +
- "\n EJB 1.0 allowed the ejbFind<METHOD> method to throw the " +
- "\n java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice was deprecated in EJB 1.1" +
- "\n ---an EJB 2.0 compliant enterprise bean must" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container. ",
- new Object[] {ejbFinderMethods[j].getName()}));
- oneFailed = true;
- } else {
- // warning for 1.1
- foundWarning++;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),ejbFinderMethods[j].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Error: Compatibility Note:" +
- "\n An [ {0} ] method was found, but" +
- "\n EJB 1.0 allowed the ejbFind<METHOD> method to throw the " +
- "\n java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice is deprecated in EJB 1.1" +
- "\n ---an EJB 1.1 compliant enterprise bean should" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container. ",
- new Object[] {ejbFinderMethods[j].getName()}));
- }
- }else{
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } else if (ejbFindMethodFound && throwsFinderException == false) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".error1",
- "Error: ejbFind[Method] [ {0} ] does not throw FinderException",
- new Object[] {ejbFinderMethods[j].getName()}));
- oneFailed = true;
- }
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else if (foundWarning > 0) {
- result.setStatus(result.WARNING);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodFinal.java
deleted file mode 100755
index e3ad005..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodFinal.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The method must not be declared as final.
- *
- */
-public class EjbFinderMethodFinal extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The method must not be declared as final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- boolean ejbFindMethodFound = false;
- boolean isFinal = false;
- boolean oneFailed = false;
- int findMethodModifiers = 0;
- int foundAtLeastOne = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- isFinal = false;
- ejbFindMethodFound = false;
-
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- foundAtLeastOne ++;
- ejbFindMethodFound = true;
-
- // The method must not be declared as final.
- findMethodModifiers = ejbFinderMethods[j].getModifiers();
- if (Modifier.isFinal(findMethodModifiers)) {
- isFinal = true;
- }
-
- if (ejbFindMethodFound && !isFinal) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A non-final [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindMethodFound && isFinal) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodName.java
deleted file mode 100755
index 69e2200..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodName.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- */
-public class EjbFinderMethodName extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
-
- // retrieve the home interface methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
-
- // retrieve the EJB Class Methods
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- foundAtLeastOne++;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A properly named [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { // CONTAINER_PERSISTENCE.equals(persistence)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodNameCmp.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodNameCmp.java
deleted file mode 100644
index 0815648..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodNameCmp.java
+++ /dev/null
@@ -1,160 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * ejbFind<METHOD>(...) methods not defined for entity bean with container
- * managed persistence test.
- *
- * EJB class contains no ejbFind<METHOD>(...) methods declared in the bean
- * class when the bean is container managed.
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- */
-public class EjbFinderMethodNameCmp extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods not defined for entity bean with container
- * managed persistence test.
- *
- * EJB class contains no ejbFind<METHOD>(...) methods declared in the bean
- * class when the bean is container managed.
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
-
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
-
- // retrieve the home interface methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
-
- // retrieve the EJB Class Methods
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- foundAtLeastOne++;
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An improperly named [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null));
-
- if (foundAtLeastOne == 0){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { // if (BEAN_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodObjectNotFoundException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodObjectNotFoundException.java
deleted file mode 100644
index dd62ed4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodObjectNotFoundException.java
+++ /dev/null
@@ -1,221 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Single-object ejbFind<METHOD>(...) methods throws ObjectNotFoundException
- * test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The ObjectNotFoundException is a subclass of FinderException. It is
- * thrown by the ejbFind<METHOD>(...) methods to indicate that the
- * requested entity object does not exist.
- *
- * Only single-object finders (see Subsection 9.1.8) may throw this
- * exception. Multi-object finders must not throw this exception.
- *
- */
-public class EjbFinderMethodObjectNotFoundException extends EjbTest implements EjbCheck {
-
-
- /**
- * Single-object ejbFind<METHOD>(...) methods throws ObjectNotFoundException
- * test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The ObjectNotFoundException is a subclass of FinderException. It is
- * thrown by the ejbFind<METHOD>(...) methods to indicate that the
- * requested entity object does not exist.
- *
- * Only single-object finders (see Subsection 9.1.8) may throw this
- * exception. Multi-object finders must not throw this exception.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- boolean okayToThrowObjectNotFoundException = false;
- boolean throwsObjectNotFoundException = false;
- boolean oneFailed = false;
- int findMethodModifiers = 0;
- int foundAtLeastOne = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
- String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- okayToThrowObjectNotFoundException = false;
- throwsObjectNotFoundException = false;
- Class returnByPrimaryKeyValue = ejbFinderMethods[j].getReturnType();
- foundAtLeastOne++;
- // Only single-object finders (see Subsection 9.1.8) may throw this
- // exception. Multi-object finders must not throw this exception.
- if (returnByPrimaryKeyValue.getName().equals(primaryKeyType)) {
- okayToThrowObjectNotFoundException = true;
- } else if ((returnByPrimaryKeyValue.getName().equals("java.util.Collection")) ||
- (returnByPrimaryKeyValue.getName().equals("java.util.Enumeration"))) {
- okayToThrowObjectNotFoundException = false;
- }
-
- // now check exceptions, if it's not okay to throw
- // ObjectNotFoundException, then flag this as an error, otherwise
- // test passes or is not applicable
- if (!okayToThrowObjectNotFoundException) {
- // get the exceptions and see if this method throw
- // ObjectNotFoundException when it was not allowed to
- Class [] exceptions = ejbFinderMethods[j].getExceptionTypes();
- if (EjbUtils.isValidObjectNotFoundExceptionException(exceptions)) {
- throwsObjectNotFoundException = true;
- }
- }
-
-
- if ((okayToThrowObjectNotFoundException) || ((!okayToThrowObjectNotFoundException) && (!throwsObjectNotFoundException))) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "An [ {0} ] method was found with valid exception types declared in throws clause.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if ((!okayToThrowObjectNotFoundException) && throwsObjectNotFoundException) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] throws ObjectNotFoundException. Multi-object finder methods must not throw this exception.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodPublic.java
deleted file mode 100755
index 38d102c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodPublic.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * A finder method must be declared as public.
- *
- */
-public class EjbFinderMethodPublic extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * A finder method must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- boolean ejbFindMethodFound = false;
- boolean isPublic = false;
- boolean oneFailed = false;
- int findMethodModifiers = 0;
- int foundAtLeastOne = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- isPublic = false;
- ejbFindMethodFound = false;
-
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- ejbFindMethodFound = true;
- foundAtLeastOne++;
-
- // A finder method must be declared as public. check the modifier
- findMethodModifiers = ejbFinderMethods[j].getModifiers();
- if (Modifier.isPublic(findMethodModifiers)) {
- isPublic = true;
- }
-
- if (ejbFindMethodFound && isPublic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A public [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindMethodFound && !isPublic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but was not public.",
- new Object[] {ejbFinderMethods[j].getName()}));
- }
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No ejbFind<METHOD> method was found in [ {0} ] class.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { // if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodReturn.java
deleted file mode 100755
index dfa3f97..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodReturn.java
+++ /dev/null
@@ -1,217 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The return type of a finder method must be the enterprise Bean's primary
- * key type, or an EJB primary key collection
- *
- */
-public class EjbFinderMethodReturn extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The return type of a finder method must be the enterprise Bean's primary
- * key type, or an EJB primary key collection
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- boolean ejbFindMethodFound = false;
- boolean returnValueValid = false;
- boolean oneFailed = false;
- boolean oneWarning = false;
- int findMethodModifiers = 0;
- int foundAtLeastOne = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
- String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- returnValueValid = false;
-
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- Class returnByPrimaryKeyValue = ejbFinderMethods[j].getReturnType();
- ejbFindMethodFound = true;
- foundAtLeastOne++;
- // The return type of a finder method must be the enterprise
- // Bean's primary key type, or an EJB primary key collection
- // (see Section Subsection 9.1.8).
- if ((returnByPrimaryKeyValue.getName().equals(primaryKeyType)) ||
- (returnByPrimaryKeyValue.getName().equals("java.util.Collection")) || (returnByPrimaryKeyValue.getName().equals("java.util.Enumeration"))) {
- returnValueValid = true;
- }
-
- if (ejbFindMethodFound && returnValueValid) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "An [ {0} ] method was found with valid return type.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindMethodFound && (!returnValueValid)) {
- if (primaryKeyType.equals("java.lang.Object")) {
- oneWarning = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: An [ {0} ] method was found, but [ {1} ] method has [ {2} ] return type. Deployment descriptor primary key type is [ {3} ]. Definition of the primary key type is deferred to deployment time ?",
- new Object[] {ejbFinderMethods[j].getName(), ejbFinderMethods[j].getName(),ejbFinderMethods[j].getReturnType().getName(),primaryKeyType}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] return type must be the enterprise Bean's primary key type, or an EJB primary key collection .",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- }
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- if (oneWarning) {
- result.setStatus(result.WARNING);
- } else {
- result.setStatus(result.PASSED);
- }
- }
-
- return result;
-
- } else { // if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodStatic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodStatic.java
deleted file mode 100755
index 91385d0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbfindermethod/EjbFinderMethodStatic.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The method must not be declared as static.
- *
- */
-public class EjbFinderMethodStatic extends EjbTest implements EjbCheck {
-
-
- /**
- * ejbFind<METHOD>(...) methods test.
- *
- * EJB class contains all ejbFind<METHOD>(...) methods declared in the bean
- * class.
- *
- * The signatures of the finder methods must follow the following rules:
- *
- * A finder method name must start with the prefix ``ejbFind''
- * (e.g. ejbFindByPrimaryKey, ejbFindLargeAccounts, ejbFindLateShipments).
- *
- * The method must not be declared as static.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
-
- boolean ejbFindMethodFound = false;
- boolean isStatic = false;
- boolean oneFailed = false;
- int findMethodModifiers = 0;
- int foundAtLeastOne = 0;
- try {
- // retrieve the EJB Class Methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- isStatic = false;
- ejbFindMethodFound = false;
-
- if (ejbFinderMethods[j].getName().startsWith("ejbFind")) {
- ejbFindMethodFound = true;
- foundAtLeastOne++;
-
- // The method must not be declared as static.
- findMethodModifiers = ejbFinderMethods[j].getModifiers();
- if (Modifier.isStatic(findMethodModifiers)) {
- isStatic = true;
- }
-
- if (ejbFindMethodFound && !isStatic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A non-static [ {0} ] method was found.",
- new Object[] {ejbFinderMethods[j].getName()}));
- } else if (ejbFindMethodFound && isStatic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] Finder Method [ {1} ]",
- new Object[] {EJBClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.",
- new Object[] {ejbFinderMethods[j].getName(),ejbFinderMethods[j].getName()}));
- }
- }
- }
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbFind<METHOD>(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else { // if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodArgs.java
deleted file mode 100755
index cd1dabb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodArgs.java
+++ /dev/null
@@ -1,203 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-
-/**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The methods arguments must be the same as the arguments of the
- * matching ejbCreate(...) method.
- *
- */
-public class EjbPostCreateMethodArgs extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The methods arguments must be the same as the arguments of the
- * matching ejbCreate(...) method.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- Class [] ejbPostCreateMethodParameterTypes;
- Class [] ejbCreateMethodParameterTypes;
- boolean signaturesMatch = false;
- boolean ejbCreateExists = false;
-
- Method [] methods = c.getDeclaredMethods();
- Vector<Method> createMethodSuffix = new Vector<Method>();
- for (int i = 0; i < methods.length; i++) {
- // The method name must start with create.
- if (methods[i].getName().startsWith("ejbCreate")) {
- createMethodSuffix.addElement((Method)methods[i]);
- ejbCreateExists = true;
- }
- }
-
- // start do while loop here....
- do {
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- signaturesMatch = false;
-
- // The method name must be ejbPostCreate.
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- foundAtLeastOne++;
-
- String matchSuffix = methods[i].getName().substring(13);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- if (matchSuffix.equals(((Method)createMethodSuffix.elementAt(k)).getName().substring(9))) {
- ejbCreateMethodParameterTypes = ((Method)createMethodSuffix.elementAt(k)).getParameterTypes();
- ejbPostCreateMethodParameterTypes = methods[i].getParameterTypes();
- if (Arrays.equals(ejbCreateMethodParameterTypes,ejbPostCreateMethodParameterTypes)) {
- signaturesMatch = true;
- break;
- }
- }
- }
- if (signaturesMatch) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method with parameters that match corresponding [ {2} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName(), "ejbCreate<method>"}));
- } else if (!signaturesMatch) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] method parameters did not match any corresponding [ {2} ] method parameters.",
- new Object[] {methods[i].getName(),methods[i].getName(),"ejbCreate<method>"}));
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (ejbCreateExists == false) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbPostCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (foundAtLeastOne == 0 && ejbCreateExists == true){
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: ejbPostCreate<Method> method corresponding to the ejbCreate<Method> method does not exist!",
- new Object[] {}));
-
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodException.java
deleted file mode 100755
index db2804d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodException.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- */
-public class EjbPostCreateMethodException extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundWarning = 0;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbPostCreateFound = false;
- boolean throwsRemoteException = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbPostCreateFound = false;
- throwsRemoteException = false;
-
- // The method name must be ejbPostCreate.
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- foundAtLeastOne++;
- ejbPostCreateFound = true;
-
- // Compatibility Note: EJB 1.0 allowed the ejbPostCreate method to throw
- // the java.rmi.RemoteException to indicate a non-application
- // exception. This practice is deprecated in EJB 1.1---an EJB 1.1
- // compliant enterprise bean should throw the jakarta.ejb.EJBException
- // or another RuntimeException to indicate non-application
- // exceptions to the Container (see Section 12.2.2).
- // Note: Treat as a warning to user in this instance.
- Class [] exceptions = methods[i].getExceptionTypes();
- if (EjbUtils.isValidRemoteException(exceptions)) {
- throwsRemoteException = true;
- }
-
- // now display the appropriate results for this particular
- // ejbPostCreate method
- if (ejbPostCreateFound && (!throwsRemoteException)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method which properly does not throw java.rmi.RemoteException.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbPostCreateFound && throwsRemoteException) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Error: Compatibility Note:" +
- "\n An [ {0} ] method was found, but" +
- "\n EJB 1.0 allowed the ejbPostCreate method to throw the " +
- "\n java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice is deprecated in EJB 1.1" +
- "\n ---an EJB 1.1 compliant enterprise bean should" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container. ",
- new Object[] {methods[i].getName()}));
- foundWarning++;
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbPostCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else if (foundWarning > 0) {
- result.setStatus(result.WARNING);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodFinal.java
deleted file mode 100755
index 0b0a3df..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodFinal.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The method must not be declared as final.
- *
- */
-public class EjbPostCreateMethodFinal extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The method must not be declared as final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbPostCreateFound = false;
- boolean isFinal = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbPostCreateFound = false;
- isFinal = false;
-
- // The method name must be ejbPostCreate.
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- foundAtLeastOne++;
- ejbPostCreateFound = true;
-
- // The method must not be declared as final.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isFinal(modifiers)){
- isFinal = true;
- }
-
- // now display the appropriate results for this particular
- // ejbPostCreate method
- if (ejbPostCreateFound && (!isFinal)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares non-final [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbPostCreateFound && isFinal) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] ejbPostCreate(...) Method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.",
- new Object[] {methods[i].getName(),methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbPostCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodName.java
deleted file mode 100755
index b3d2012..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodName.java
+++ /dev/null
@@ -1,182 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Vector;
-
-/**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- */
-public class EjbPostCreateMethodName extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean ejbCreateExists = false;
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- boolean found = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- Method [] methods = c.getDeclaredMethods();
- Vector<Method> createMethodSuffix = new Vector<Method>();
- for (int i = 0; i < methods.length; i++) {
- // The method name must start with create.
- if (methods[i].getName().startsWith("ejbCreate")) {
- createMethodSuffix.addElement((Method)methods[i]);
- ejbCreateExists = true;
- }
- }
-
- // start do while loop here....
- do {
- for (int i = 0; i < methods.length; i++) {
- found = false;
-
- // The method name must be ejbPostCreate.
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- found = true;
- String matchSuffix = methods[i].getName().substring(13);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- if (matchSuffix.equals(((Method)createMethodSuffix.elementAt(k)).getName().substring(9))) {
- foundAtLeastOne++;
-
- // now display the appropriate results for this particular
- // ejbPostCreate method
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- }
- }
- if (found == true && foundAtLeastOne == 0) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- break;
- }
- }
- }
- if (oneFailed == false)
- break;
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (ejbCreateExists == false){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbPostCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- if (foundAtLeastOne == 0 && ejbCreateExists == true){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: ejbPostCreate<Method> method corresponding to the ejbCreate<Method> method does not exist!",
- new Object[] {}));
-
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodPublic.java
deleted file mode 100755
index fe59ae7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodPublic.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The method must be declared as public.
- *
- */
-public class EjbPostCreateMethodPublic extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The method must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbPostCreateFound = false;
- boolean isPublic = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbPostCreateFound = false;
- isPublic = false;
-
- // The method name must be ejbPostCreate.
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- foundAtLeastOne++;
- ejbPostCreateFound = true;
-
- // The method must be declared as public.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isPublic(modifiers)){
- isPublic = true;
- }
- // now display the appropriate results for this particular
- // ejbPostCreate method
- if (ejbPostCreateFound && isPublic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares public [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbPostCreateFound && !isPublic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but was not public.",
- new Object[] {methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbPostCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodReturn.java
deleted file mode 100755
index 814d9db..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodReturn.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The return type must be void.
- *
- */
-public class EjbPostCreateMethodReturn extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The return type must be void.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbPostCreateFound = false;
- boolean returnsVoid = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbPostCreateFound = false;
- returnsVoid = false;
-
- // The method name must be ejbPostCreate.
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- foundAtLeastOne++;
- ejbPostCreateFound = true;
-
- // The return type must be void.
- Class rt = methods[i].getReturnType();
- if (rt.getName().equals("void")) {
- returnsVoid = true;
- }
-
- // now display the appropriate results for this particular
- // ejbPostCreate method
- if (ejbPostCreateFound && returnsVoid) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares [ {1} ] method which returns void.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbPostCreateFound && (!returnsVoid)) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- " For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] method has illegal return value. [ {2} ] methods must return 'void' type.",
- new Object[] {methods[i].getName(),methods[i].getName(),methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbPostCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodStatic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodStatic.java
deleted file mode 100755
index e34d71c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbpostcreatemethod/EjbPostCreateMethodStatic.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The method must not be declared as static.
- *
- */
-public class EjbPostCreateMethodStatic extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity Bean's ejbPostCreate(...) methods test.
- * Each entity Bean class may define zero or more ejbPostCreate(...) methods.
- * The number and signatures of a entity Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbPostCreate.
- *
- * The method must not be declared as static.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean ejbPostCreateFound = false;
- boolean isStatic = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbPostCreateFound = false;
- isStatic = false;
-
- // The method name must be ejbPostCreate.
- if (methods[i].getName().startsWith("ejbPostCreate")) {
- foundAtLeastOne++;
- ejbPostCreateFound = true;
-
- // The method must not be declared as final or static.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isStatic(modifiers)){
- isStatic = true;
- }
-
- // now display the appropriate results for this particular
- // ejbPostCreate method
- if (ejbPostCreateFound && (!isStatic)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares non-static [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbPostCreateFound && isStatic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] ejbPostCreate(...) Method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.",
- new Object[] {methods[i].getName(),methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] does not declare any ejbPostCreate(...) methods.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbql/EjbQLChecker.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbql/EjbQLChecker.java
deleted file mode 100644
index b061a78..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbql/EjbQLChecker.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLC;
-import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLException;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor;
-import org.glassfish.ejb.deployment.descriptor.QueryDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Iterator;
-
-
-/**
- * This class contains tests for EJB QLs that are shared
- * by tests for entity beans and for depenent objects.
- *
- * @author Qingqing Ouyang
- * @version
- */
-public class EjbQLChecker {
-
- /**
- * <p>
- * helper property to get to the localized strings
- * </p>
- */
- protected static final LocalStringManagerImpl smh =
- StringManagerHelper.getLocalStringsManager();
-
- /**
- * Check the syntax and semantics of the targetted
- * queries.
- *
- * @param desc An PersistenceDescriptor object.
- * @param ejbqlDriver An EjbQlDriver created using the
- * targetted ejb bundle.
- * @param result The test results.
- * @param ownerClassName Name of the class initiated the test.
- * @return whether any error has occurred.
- */
- public static boolean checkSyntax (EjbDescriptor ejbDesc,
- EJBQLC ejbqlDriver, Result result, String ownerClassName) {
-
- boolean hasError = false;
- String query = null;
- PersistenceDescriptor desc = ((EjbCMPEntityDescriptor)ejbDesc).getPersistenceDescriptor();
-
- for (Iterator it = desc.getQueriedMethods().iterator(); it.hasNext();) {
- MethodDescriptor method = (MethodDescriptor) it.next();
- try {
- QueryDescriptor qDesc = desc.getQueryFor(method);
- query = qDesc.getQuery();
-
- if (qDesc.getIsEjbQl()) {
- Method m = method.getMethod(ejbDesc);
-
- int retypeMapping = mapRetType(qDesc.getReturnTypeMapping());
-
- boolean finder = false;
-
- if ((method.getName()).startsWith("find")) {
- finder = true;
- retypeMapping = 2; /*QueryDescriptor.NO_RETURN_TYPE_MAPPING;*/
- }
-
- ejbqlDriver.compile(query, m, retypeMapping, finder, ejbDesc.getName());
- }
- } catch (EJBQLException ex) {
- ex.printStackTrace();
- if (!hasError) {
- hasError = true;
- }
-
- result.addErrorDetails
- (smh.getLocalString(ownerClassName + ".parseError",
- "Error: [ {0} ] has parsing error(s)",
- new Object[] {query}));
- result.addErrorDetails
- (smh.getLocalString(ownerClassName + ".SAXParseException",
- "Exception occured : [{0}]",
- new Object[] {ex.toString()}));
- }
-
- }
- if (hasError == false) {
- result.addGoodDetails
- (smh.getLocalString(ownerClassName + ".passed",
- " Syntax and Semantics of the Queries are correct",
- new Object[] {}));
- }
- return hasError;
- }
-
- private static int mapRetType(int rettype) {
-
- switch(rettype) {
-
- case 0 : return 2;
- case 1 : return 0;
- case 2 : return 1;
- default: return 2;
-
- }
-
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbql/EjbQLFromCmpEntityDescriptor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbql/EjbQLFromCmpEntityDescriptor.java
deleted file mode 100644
index 0002915..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/ejbql/EjbQLFromCmpEntityDescriptor.java
+++ /dev/null
@@ -1,140 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.jdo.spi.persistence.support.ejb.ejbc.JDOCodeGenerator;
-import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLException;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-
-
-/**
- * This test verifies whether EJB QLs specified under <entity>
- * element have any syntax or semantic errors.
- *
- * @author Qingqing Ouyang
- * @version
- */
-public class EjbQLFromCmpEntityDescriptor extends EjbTest implements EjbCheck {
-
- /**
- * Implements the check on EJB QL's syntax and semantics.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- try {
-
- if (descriptor instanceof IASEjbCMPEntityDescriptor) {
- Collection col = null;
- if(getVerifierContext().getJDOException()!=null){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed (smh.getLocalString(getClass().getName() + ".failed1",
- "Error: Exception [ {0} ] while initialising JDO code generator.",
- new Object[] {getVerifierContext().getJDOException().getMessage()}));
-
- return result;
- }else{
- try{
- JDOCodeGenerator jdc= getVerifierContext().getJDOCodeGenerator();
- col = jdc.validate((IASEjbCMPEntityDescriptor)descriptor);
- }catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed (smh.getLocalString(getClass().getName() + ".failed",
- "Error: Exception [ {0} ] when calling JDOCodeGenerator.validate().",
- new Object[] {ex.getMessage()}));
- return result;
- }
- }
- if (col.isEmpty()){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Syntax and Semantics of EJBQL Queries (if any) are correct."));
-
- }else{
- // collect all the EJBQL errors
- String allErrors = null;
- Iterator it = col.iterator();
- while (it.hasNext()) {
- Exception e = (Exception)it.next();
- if (e instanceof EJBQLException) {
- allErrors = e.getMessage() + "\n\n";
- }
- }
-
- if (allErrors != null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".parseError",
- "Error: Entity bean [ {0} ] has the following EJBQL error(s) [ {1} ]."
- , new Object[] {descriptor.getEjbClassName(), "\n" + allErrors} ));
-
- }
- else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Syntax and Semantics of EJBQL Queries (if any) are correct."));
- }
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(
- smh.getLocalString(getClass().getName() + ".notApplicable",
- "Not applicable: Test only applies to container managed EJBs"));
- }
- } catch(Exception e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed (smh.getLocalString(getClass().getName() + ".failed",
- "Error: Exception [ {0} ] when calling JDOCodeGenerator.validate().",
- new Object[] {e.getMessage()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyArg.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyArg.java
deleted file mode 100644
index 1116e0f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyArg.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Define findByPrimaryKey method parameter test.
- *
- * Every entity enterprise home interface must define the findByPrimaryKey
- * method. The method must declare the primary key class as the method
- * argument.
- *
- */
-public class HomeInterfaceFindByPrimaryKeyArg extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Define findByPrimaryKey method parameter test.
- *
- * Every entity enterprise home interface must define the findByPrimaryKey
- * method. The method must declare the primary key class as the method
- * argument.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- if (descriptor instanceof EjbEntityDescriptor) {
-
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor) {
- Class [] ejbFinderMethodParameterTypes;
- boolean findByPrimaryKeyMethodFound = false;
- boolean foundOne = false;
- boolean oneFailed = false;
- boolean paramValid = false;
- boolean onlyOneParam = false;
- try {
- // retrieve the home interface methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class homeInterfaceClass = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method [] ejbFinderMethods = homeInterfaceClass.getDeclaredMethods();
-
- String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- // reset all booleans for next method within the loop
- paramValid = false;
- onlyOneParam = false;
- findByPrimaryKeyMethodFound = false;
-
- if (ejbFinderMethods[j].getName().equals("findByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // findByPrimaryKey method. The result type for this method must
- // be the primary key type (i.e. the findByPrimaryKey method
- // must be a single-object finder).
- findByPrimaryKeyMethodFound = true;
-
- ejbFinderMethodParameterTypes = ejbFinderMethods[j].getParameterTypes();
- if (ejbFinderMethodParameterTypes.length == 1) {
- onlyOneParam = true;
- for (int k = 0; k < ejbFinderMethodParameterTypes.length; ++k) {
- if (ejbFinderMethodParameterTypes[k].getName().equals(primaryKeyType)) {
- paramValid = true;
- break;
- }
- }
- } else {
- // should already be set...
- onlyOneParam = false;
- paramValid = false;
- }
-
- // report for this particular findByPrimaryKey(...)
- if (findByPrimaryKeyMethodFound && paramValid) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home interface [ {0} ] Finder Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A findByPrimaryKey method with valid parameter type was found."));
- foundOne = true;
- break;
- } else if (findByPrimaryKeyMethodFound && onlyOneParam && !paramValid) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For home interface [ {0} ] Finder Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),ejbFinderMethods[j].getName()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "A findByPrimaryKey method was found, but with non-PrimaryKeyClass arg parameter type."));
- } else if (findByPrimaryKeyMethodFound && !onlyOneParam) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For home interface [ {0} ] Finder Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),ejbFinderMethods[j].getName()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "A findByPrimaryKey method was found, but with non-single arg parameters."));
- }
- }
- }
- if (!foundOne) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For home interface [ {0} ]",
- new Object[] {homeInterfaceClass.getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No single arg findByPrimaryKey(PrimaryKeyClass) method was found in home interface class [ {0} ].",
- new Object[] {homeInterfaceClass.getName()}));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable.",
- new Object[] {home}));
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyName.java
deleted file mode 100644
index e82af8d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyName.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Define findByPrimaryKey method test.
- *
- * Every entity enterprise Bean class must define the findByPrimaryKey
- * method.
- *
- */
-public class HomeInterfaceFindByPrimaryKeyName extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Define findByPrimaryKey method test.
- *
- * Every entity enterprise Bean class must define the findByPrimaryKey
- * method.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- boolean oneFailed = false;
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
-
- if(oneFailed == false) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor) {
- boolean findByPrimaryKeyMethodFound = false;
- boolean oneFailed = false;
- try {
- // retrieve the home interface methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class homeInterfaceClass = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method [] ejbFinderMethods = homeInterfaceClass.getDeclaredMethods();
- for (int j = 0; j < ejbFinderMethods.length; j++) {
- if (ejbFinderMethods[j].getName().equals("findByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // findByPrimaryKey method.
-
- findByPrimaryKeyMethodFound = true;
-
- // report for this particular findByPrimaryKey(...)
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home interface [ {0} ] Finder Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A findByPrimaryKey method was found."));
- return oneFailed;
- }
- }
- if (!findByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home interface [ {0} ] ",
- new Object[] {homeInterfaceClass.getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No findByPrimaryKey method was found in home interface class [ {0} ].",
- new Object[] {homeInterfaceClass.getName()}));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable.",
- new Object[] {home}));
- oneFailed = true;
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyReturn.java
deleted file mode 100644
index 3c20a21..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findbyprimarykey/HomeInterfaceFindByPrimaryKeyReturn.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Define findByPrimaryKey method which returns the primary key type test.
- *
- * Every entity enterprise Bean class must define the findByPrimaryKey
- * method. The return type for this method must be the primary key type.
- * (i.e. the findByPrimaryKey method must be a single-object finder).
- *
- */
-public class HomeInterfaceFindByPrimaryKeyReturn extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Define findByPrimaryKey method test.
- *
- * Every entity enterprise Bean class must define the findByPrimaryKey
- * method. The return type for this method must be the primary key type.
- * (i.e. the findByPrimaryKey method must be a single-object finder).
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- if (descriptor instanceof EjbEntityDescriptor) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())&&
- descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(), descriptor.getRemoteClassName(),descriptor);
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())&&
- descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor.getLocalClassName(),descriptor);
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param remote for Remote/Local interface
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String home, String remote, EjbDescriptor descriptor) {
- boolean findByPrimaryKeyMethodFound = false;
- boolean oneFailed = false;
- boolean returnValueValid = false;
- try {
- // retrieve the home interface methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class homeInterfaceClass = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method [] ejbFinderMethods = homeInterfaceClass.getDeclaredMethods();
- Class rc = Class.forName(remote, false, getVerifierContext().getClassLoader());
-
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- // reset all booleans for next method within the loop
- returnValueValid = false;
-
- if (ejbFinderMethods[j].getName().equals("findByPrimaryKey")) {
- // Every entity enterprise Bean class must define the
- // findByPrimaryKey method. The return type for this method must
- // be the primary key type (i.e. the findByPrimaryKey method
- // must be a single-object finder).
- if (!findByPrimaryKeyMethodFound) {
- findByPrimaryKeyMethodFound = true;
- }
- Class returnByPrimaryKeyValue = ejbFinderMethods[j].getReturnType();
- // as long as this returns a single object finder, then return type
- // is valid
- if (((returnByPrimaryKeyValue.getName().equals(rc.getName())) &&
- (!((returnByPrimaryKeyValue.getName().equals("java.util.Collection")) ||
- (returnByPrimaryKeyValue.getName().equals("java.util.Enumeration")))))) {
- returnValueValid = true;
- }
-
-
- // report for this particular findByPrimaryKey(...)
- if (findByPrimaryKeyMethodFound && returnValueValid) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home interface [ {0} ] Finder Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),ejbFinderMethods[j].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A findByPrimaryKey method was found with valid return type."));
- } else if (findByPrimaryKeyMethodFound && !returnValueValid) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home interface [ {0} ] Finder Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),ejbFinderMethods[j].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A findByPrimaryKey method was found, but with invalid return type."));
- }
- // found findByPrimaryKey, so break out of loop
- break;
- }
- }
- if (!findByPrimaryKeyMethodFound) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home interface [ {0} ] ",
- new Object[] {homeInterfaceClass.getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No findByPrimaryKey method was found in home interface class [ {0} ].",
- new Object[] {homeInterfaceClass.getName()}));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable.",
- new Object[] {home}));
- oneFailed = true;
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionFinder.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionFinder.java
deleted file mode 100644
index 4d83719..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionFinder.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity beans home interface find<METHOD> method throws
- * jakarta.ejb.FinderException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> signature:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * The throws clause must include jakarta.ejb.FinderException.
- */
-public class HomeInterfaceFindMethodExceptionFinder extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Entity beans home interface find<METHOD> method throws
- * jakarta.ejb.FinderException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> signature:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * The throws clause must include jakarta.ejb.FinderException.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- }
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
- }
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
-
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor) {
- boolean oneFailed = false;
- // RULE: Entity home interface are only allowed to have find<METHOD>
- // methods which must throw jakarta.ejb.FinderException
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class [] methodExceptionTypes;
- boolean throwsFinderException = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- throwsFinderException = false;
- if (methods[i].getName().startsWith("find")) {
- // reset from last time thru loop
- throwsFinderException = false;
- methodExceptionTypes = methods[i].getExceptionTypes();
-
- // methods must throw jakarta.ejb.FinderException
- if (EjbUtils.isValidFinderException(methodExceptionTypes)) {
- throwsFinderException = true;
- }
-
- // report for this particular find<METHOD> method found in home
- // interface , now display the appropriate results for this
- // particular find<METHOD> method
- if (throwsFinderException ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The [ {0} ] method which must throw jakarta.ejb.FinderException was found.",
- new Object[] {methods[i].getName()}));
- } else if (!throwsFinderException) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A [ {0} ] method was found, but did not throw jakarta.ejb.FinderException.",
- new Object[] {methods[i].getName()}));
- } // end of reporting for this particular 'find' method
- } // if the home interface found a "find" method
- } // for all the methods within the home interface class, loop
- return oneFailed;
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionMatch.java
deleted file mode 100644
index cd5817c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionMatch.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.logging.Level;
-
-/**
- * Entity beans home interface find<METHOD> method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> method signature:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * All the exceptions defined in the throws clause of an ejbFind<METHOD>(...)
- * method of the enterprise Bean class must be defined in the throws clause of
- * the matching find<METHOD>(...) method of the home interface.
- *
- */
-public class HomeInterfaceFindMethodExceptionMatch extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Entity beans home interface find<METHOD> method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> method signature:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * All the exceptions defined in the throws clause of an ejbFind<METHOD>(...)
- * method of the enterprise Bean class must be defined in the throws clause of
- * the matching find<METHOD>(...) method of the home interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- }
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
- }
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param interfaceType determines the type of interface (remote/local)
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor) {
- boolean oneFailed = false;
- int ejbFinderMethodLoopCounter = 0;
- // RULE: entity home interface are only allowed to have find<METHOD>
- // methods which match ejbfind<METHOD>, and exceptions match Bean's
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class methodReturnType;
- Class [] methodParameterTypes;
- Class [] methodExceptionTypes;
- Class [] ejbFinderMethodExceptionTypes;
- Class [] ejbFinderMethodParameterTypes;
- boolean ejbFinderFound = false;
- boolean signaturesMatch = false;
- boolean exceptionsMatch = false;
-
-
- for (int i=0; i< methods.length; i++) {
- if (methods[i].getName().startsWith("find")) {
- // clear these from last time thru loop
- ejbFinderFound = false;
- signaturesMatch = false;
- exceptionsMatch = false;
- // retrieve the EJB Class Methods
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] ejbFinderMethods = EJBClass.getDeclaredMethods();
- // find matching "ejbFind<METHOD>" in bean class
- for (int z=0; z< ejbFinderMethods.length; z++) {
- if (ejbFinderMethods[z].getName().startsWith("ejbFind")) {
- // check rest of string to see if findAccount matches
- // ejbFindAccount
- if (methods[i].getName().toUpperCase().equals
- (ejbFinderMethods[z].getName().toUpperCase().substring(3))) {
- // found one, see if it matches same number and types
- // of arguments, exceptions too,
-
- ejbFinderFound = true;
- methodParameterTypes = methods[i].getParameterTypes();
- ejbFinderMethodParameterTypes = ejbFinderMethods[z].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,ejbFinderMethodParameterTypes)) {
- signaturesMatch = true;
-
- methodExceptionTypes = methods[i].getExceptionTypes();
- ejbFinderMethodExceptionTypes = ejbFinderMethods[z].getExceptionTypes();
-
- // All the exceptions defined in the throws clause of the
- // matching ejbFind method of the
- // enterprise Bean class must be included in the throws
- // clause of the matching find method of the home interface
- // including findByPrimaryKey, this home interface
- // find method must define a superset of all the
- // exceptions thrown in the ejbFind method of the bean class
- // so there may not be a 1-1 mapping of exceptions
- // also, for all ejbFind/find combo's any unchecked
- // exceptions thrown by the ejbFind<METHOD> in the bean
- // class doesn't need to be thrown in the corresponding
- // find<METHOD> of the home interface , these unchecked
- // exceptions "subclass of RuntimeException" i.e
- // out of memory exception are handled by the container,
- // who throws a Runtime exception to the appropriate
- // instance/object
-
- if (RmiIIOPUtils.isEjbFindMethodExceptionsSubsetOfFindMethodExceptions(ejbFinderMethodExceptionTypes,methodExceptionTypes)) {
- exceptionsMatch = true;
- // used to display output below
- ejbFinderMethodLoopCounter = z;
- break;
- }
- } // method params match
- } // check rest of string to see if findAccount
- // matches ejbFindAccount
- } // found ejbFind<METHOD>
- } // for all the business methods within the bean class, loop
-
- //report for this particular find method found in home interface
- //if we know that ejbFinderFound got set to true in the above
- // loop, check other booleans, otherwise skip test, set status
- // to FAILED below
-
- // now display the appropriate results for this particular find
- // method
- if (ejbFinderFound && signaturesMatch && exceptionsMatch) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding [ {0} ] method with matching exceptions was found.",
- new Object[] {ejbFinderMethods[ejbFinderMethodLoopCounter].getName()}));
- } else if (ejbFinderFound && signaturesMatch && !exceptionsMatch) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {c.getName(),methods[i].getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug3",
- new Object[] {"ejb"+methods[i].getName().toUpperCase().substring(0,1)+methods[i].getName().substring(1)});
- logger.log(Level.FINE, getClass().getName() + ".debug2");
-
- } else if (ejbFinderFound && !signaturesMatch) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {c.getName(),methods[i].getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug4",
- new Object[] {"ejb"+methods[i].getName().toUpperCase().substring(0,1)+methods[i].getName().substring(1)});
- logger.log(Level.FINE, getClass().getName() + ".debug2");
-
- }
-
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!(ejbFinderFound && signaturesMatch && exceptionsMatch)));
-
-
- if (!ejbFinderFound && !signaturesMatch && !exceptionsMatch) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding [ {0} ] method with matching signatures was found." ,
- new Object[] {"ejb"+methods[i].getName().toUpperCase().substring(0,1)+methods[i].getName().substring(1)}));
- } // end of reporting for this particular 'find' method
- } // if the home interface found a "find" method
- } // for all the methods within the home interface class, loop
- return oneFailed;
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] or EJB class [ {1} ] does not exist or is not loadable within bean [ {2} ]",
- new Object[] {home, descriptor.getEjbClassName(),descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionRemote.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionRemote.java
deleted file mode 100644
index a8e5f86..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodExceptionRemote.java
+++ /dev/null
@@ -1,181 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity beans home interface find<METHOD> method throws
- * java.rmi.RemoteException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> signature:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * The throws clause must include java.rmi.RemoteException.
- */
-public class HomeInterfaceFindMethodExceptionRemote extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity beans home interface find<METHOD> method throws
- * java.rmi.RemoteException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> signature:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * The throws clause must include java.rmi.RemoteException.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- boolean oneFailed = false;
- // RULE: Entity home interface are only allowed to have find<METHOD>
- // methods which must throw java.rmi.RemoteException
- if(descriptor.getHomeClassName() == null || "".equals(descriptor.getHomeClassName())) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No Remote Interface for this Ejb",
- new Object[] {}));
- return result;
- }
-
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getHomeClassName(), false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class [] methodExceptionTypes;
- boolean throwsRemoteException = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- throwsRemoteException = false;
- if (methods[i].getName().startsWith("find")) {
- methodExceptionTypes = methods[i].getExceptionTypes();
-
- // methods must throw java.rmi.RemoteException
- if (EjbUtils.isValidRemoteException(methodExceptionTypes)) {
- throwsRemoteException = true;
- break;
- }
-
- // report for this particular find<METHOD> method found in home
- // interface , now display the appropriate results for this
- // particular find<METHOD> method
- if (throwsRemoteException ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The find<METHOD> method which must throw java.rmi.RemoteException was found."));
- } else if (!throwsRemoteException) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A find<METHOD> method was found, but did not throw java.rmi.RemoteException." ));
- } // end of reporting for this particular 'find' method
- } // if the home interface found a "find" method
- } // for all the methods within the home interface class, loop
-
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getHomeClassName(), descriptor.getName()}));
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2} bean",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodHasQuery.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodHasQuery.java
deleted file mode 100644
index 6af1679..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodHasQuery.java
+++ /dev/null
@@ -1,200 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.PersistenceDescriptor;
-import org.glassfish.ejb.deployment.descriptor.QueryDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity beans home interface find<METHOD> method throws
- * jakarta.ejb.FinderException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> signature:
- *
- * The find<METHOD> must have a query associated with it (except findByPrimaryKey).
- */
-public class HomeInterfaceFindMethodHasQuery extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- private final static String FINDBYPRIMARYKEY = "findByPrimaryKey";
-
-
- /**
- * Entity beans home interface find<METHOD> method throws
- * jakarta.ejb.FinderException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * find<METHOD> signature:
- *
- *The find<METHOD> must have a query associated with it (except findByPrimaryKey).
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- if (((EjbCMPEntityDescriptor) descriptor).getCMPVersion()==EjbCMPEntityDescriptor.CMP_2_x) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor, MethodDescriptor.EJB_HOME);
- }
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor, MethodDescriptor.EJB_LOCALHOME);
- }
- }
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
- }
- }
- //if (Bean_PERSISTENCE.equals(persistence)) or wrong version
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} {1} ] managed persistence, but [ {2} ] bean has [ {3} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE, new Integer(EjbCMPEntityDescriptor.CMP_2_x), descriptor.getName(),persistence}));
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param methodIntf is the interface type
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, EjbDescriptor descriptor, String methodIntf) {
- boolean oneFailed = false;
- // RULE: Entity home interface are only allowed to have find<METHOD>
- // methods which must throw jakarta.ejb.FinderException
- try {
- PersistenceDescriptor pers = ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor();
-
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
-
- for (int i=0; i< methods.length; i++) {
- if (methods[i].getName().startsWith("find") && !(methods[i].getName()).equals(FINDBYPRIMARYKEY)) {
- QueryDescriptor query = pers.getQueryFor(new MethodDescriptor(methods[i], methodIntf));
- if (query != null) {
- if (query.getQuery() != null && !"".equals(query.getQuery())) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The [ {0} ] method has a query assigned to it",
- new Object[] {methods[i].getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A [ {0} ] method was found, but did not have a query element assigned",
- new Object[] {methods[i].getName()}));
- } // end of reporting for this particular 'find' method
- }
- else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A [ {0} ] method was found, but did not have a query element assigned",
- new Object[] {methods[i].getName()}));
-
- }
- } // if the home interface found a "find" method
-
- } // for all the methods within the home interface class, loop
- return oneFailed;
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodMatch.java
deleted file mode 100644
index ba53dd7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodMatch.java
+++ /dev/null
@@ -1,219 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-
-/**
- * find<METHOD>(...) methods test.
- *
- * Home interface contains all find<METHOD>(...) methods declared in the home
- * interface.
- *
- * Each finder method must be named ``find<METHOD>'' (e.g. findLargeAccounts),
- * and it must match one of the ejbFind<METHOD> methods defined in the
- * enterprise Bean class (e.g. ejbFindLargeAccounts). The matching
- * ejbFind<METHOD> method must have the same number and types of arguments.
- * (Note that the return type may be different.)
- *
- */
-public class HomeInterfaceFindMethodMatch extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * find<METHOD>(...) methods test.
- *
- * Home interface contains all find<METHOD>(...) methods declared in the home
- * interface.
- *
- * Each finder method must be named ``find<METHOD>'' (e.g. findLargeAccounts),
- * and it must match one of the ejbFind<METHOD> methods defined in the
- * enterprise Bean class (e.g. ejbFindLargeAccounts). The matching
- * ejbFind<METHOD> method must have the same number and types of arguments.
- * (Note that the return type may be different.)
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- if (descriptor instanceof EjbEntityDescriptor &&
- ((EjbEntityDescriptor)descriptor).getPersistenceType().equals(EjbEntityDescriptor.BEAN_PERSISTENCE)) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- commonToBothInterfaces(descriptor.getHomeClassName(), descriptor.getRemoteClassName(), descriptor);
-
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- commonToBothInterfaces(descriptor.getLocalHomeClassName(), descriptor.getLocalClassName(), descriptor);
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable("This test is only applicable entity beans with bean managed persistence.");
- }
-
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- */
-
- private void commonToBothInterfaces(String home, String remote, EjbDescriptor descriptor) {
- Class [] methodParameterTypes;
- Class [] ejbFinderMethodParameterTypes;
- int ejbFinderMethodLoopCounter = 0;
- try {
- // retrieve the home interface methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class homeInterfaceClass = Class.forName(home, false, getVerifierContext().getClassLoader());
- Class remoteInterfaceClass = Class.forName(remote, false, getVerifierContext().getClassLoader());
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- Method [] homeInterfaceMethods = homeInterfaceClass.getMethods();
- Method [] ejbFinderMethods = EJBClass.getMethods();
- int z;
- // Note: this test will be done in the testing on the
- // Home Interface class. i.e.
- // also need to check that matching signatures and exceptions exist
- // between home interface and EJB Class,
- // i.e.
- // Each finder method must be named ``find<METHOD>''
- // (e.g. findLargeAccounts), and it must match one of the
- // ejbFind<METHOD> methods defined in the enterprise Bean
- // class (e.g. ejbFindLargeAccounts). The matching ejbFind<METHOD>
- // method must have the same number and types of arguments.
- // (Note that the return type may be different.)
-
- for (int i=0; i< homeInterfaceMethods.length; i++) {
- if (homeInterfaceMethods[i].getName().startsWith("find")) {
- // clear these from last time thru loop
- // find matching "ejbFind<METHOD>(...)" in bean class
- for (z=0; z< ejbFinderMethods.length; z++) {
- if (ejbFinderMethods[z].getName().startsWith("ejbFind")) {
- // check rest of string to see if findAccount matches
- // ejbFindAccount
- if (homeInterfaceMethods[i].getName().toUpperCase().equals
- (ejbFinderMethods[z].getName().toUpperCase().substring(3))) {
- // found one, see if it matches same number and types
- // of arguments,
- methodParameterTypes = homeInterfaceMethods[i].getParameterTypes();
- ejbFinderMethodParameterTypes = ejbFinderMethods[z].getParameterTypes();
-
- boolean returnTypeMatch = checkReturnType(homeInterfaceMethods[i], ejbFinderMethods[z],
- remoteInterfaceClass, descriptor);
-
- if (!returnTypeMatch) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failReturnType",
- "For Home Interface [ {0} ] Method [ {1} ] return type [ {2} ] ",
- new Object[] {homeInterfaceClass.getName(), homeInterfaceMethods[i].getName(), homeInterfaceMethods[i].getReturnType().getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failReturnType1",
- "Error: does not match with return type [ {0} ] of corresponding ejbFind<METHOD>(...).",
- new Object[] {ejbFinderMethods[z].getReturnType().getName()}));
-
- }
- if (!Arrays.equals(methodParameterTypes,ejbFinderMethodParameterTypes)) {
-
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),homeInterfaceMethods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A corresponding [ {0} ] method was found, but the parameters did not match.",
- new Object[] {"ejb"+homeInterfaceMethods[i].getName().toUpperCase().substring(0,1)+homeInterfaceMethods[i].getName().substring(1)}));
- }
-
- // used to display output below
- ejbFinderMethodLoopCounter = z;
- break;
- }// if check to see if findAccount matches ejbFindAccount
- } // if check to see if startsWith("ejbFind")
- }// for all the business methods within the bean class, loop
-
- if (z==ejbFinderMethods.length) {
- // set status to FAILED, 'cause there is not even an
- // find method to begin with, regardless of its parameters
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),homeInterfaceMethods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No corresponding ejbFind<METHOD>(...) method was found." ));
- }
-
- if(result.getStatus()!=Result.FAILED){
- addGoodDetails(result, compName);
- //result.passed()
- result.passed(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {homeInterfaceClass.getName(),homeInterfaceMethods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding [ {0} ] method with matching parameters was found.",
- new Object[] {ejbFinderMethods[ejbFinderMethodLoopCounter].getName()}));
-
- }
-
- } // if the home interface found a "find" method
- }// for all the methods within the home interface class, loop
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] or EJB Class [ {1} ] does not exist or is not loadable.",
- new Object[] {descriptor.getHomeClassName(),descriptor.getEjbClassName()}));
-// return false;
- }
- }
-
- private boolean checkReturnType(Method homeFinderMethod, Method beanFinderMethod, Class remote, EjbDescriptor descriptor){
- Class homeMethodtype = homeFinderMethod.getReturnType();
- Class beanMethodType = beanFinderMethod.getReturnType();
-
- if (homeMethodtype.getName().equals(remote.getName())) {
- return beanMethodType.getName().equals(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName());
- } else return homeMethodtype.getName().equals(beanMethodType.getName());
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodReturn.java
deleted file mode 100644
index bb35edb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/findermethod/HomeInterfaceFindMethodReturn.java
+++ /dev/null
@@ -1,199 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity beans home interface find<METHOD> method return type test.
- *
- * The following are the requirements for the signatures of the finder methods
- * defined in Bean's home interface:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * The return type for a find<METHOD>(...) method must be the enterprise
- * Bean's remote interface type or a collection thereof.
- *
- */
-public class HomeInterfaceFindMethodReturn extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Entity beans home interface find<METHOD> method return type test.
- *
- * The following are the requirements for the signatures of the finder methods
- * defined in Bean's home interface:
- *
- * An Entity Bean's home interface defines one or more find<METHOD>(...)
- * methods.
- *
- * The return type for a find<METHOD>(...) method must be the enterprise
- * Bean's remote interface type or a collection thereof.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- boolean oneFailed = false;
- // RULE: Entity home interface are allowed to have find<METHOD>
- // methods which returns the entity Bean's remote interface
- // or a collection thereof.
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()) &&
- descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getRemoteClassName(),descriptor);
- }
- if(oneFailed == false) {
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()) &&
- descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor.getLocalClassName(),descriptor);
- }
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
- } else { //if (CONTAINER_PERSISTENCE.equals(persistence))
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param remote for Remote/Local interface
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, String remote, EjbDescriptor descriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Class rc = Class.forName(remote, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class methodReturnType;
- boolean validReturn = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- validReturn = false;
- if (methods[i].getName().startsWith("find")) {
- // return type must be the remote interface
- // or collection thereof
- methodReturnType = methods[i].getReturnType();
- if ((methodReturnType.getName().equals(rc.getName())) ||
- (methodReturnType.getName().equals("java.util.Collection")) ||
- (methodReturnType.getName().equals("java.util.Enumeration"))) {
- // this is the right return type for find method
- validReturn = true;
- } else {
- validReturn = false;
- } // return valid
-
- //report for this particular find method found in home interface
- // now display the appropriate results for this particular find
- // method
- if (validReturn) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The find<METHOD> which returns remote interface or a collection there of was found."));
- } else if (!validReturn) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A find<METHOD> was found, but the return type [ {0} ] was not the Remote interface [ {1} ] or a collection there of." ,
- new Object[] {methodReturnType.getName(),rc.getName()}));
- } // end of reporting for this particular 'find' method
- } // if the home interface found a "find" method
- } // for all the methods within the home interface class, loop
- return oneFailed;
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] or Remote interface [ {1} ] does not exist or is not loadable within bean [ {2} ]",
- new Object[] {home,remote, descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassConstructor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassConstructor.java
deleted file mode 100644
index 7501a64..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassConstructor.java
+++ /dev/null
@@ -1,165 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
-
-/**
- * Enterprise Java Bean primary key class constuctor test.
- * The primary key class must have a public constructor that takes no
- * parameters.
- */
-public class PrimaryKeyClassConstructor extends EjbTest implements EjbCheck {
-
-
- /**
- * Enterprise Java Bean primary key class constuctor test.
- * The primary key class must have a public constructor that takes no
- * parameters.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- // do we have primekey that maps to single or multiple fields in entity // bean class? if primekey-field exist, then primekey maps to single
- // field in entity bean class and this test in notApplicable
- try {
- FieldDescriptor fd = ((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc();
- if (fd != null) {
- String pkf = fd.getName();
- if (pkf.length() > 0) {
- // N/A case
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity Bean [ {0} ] with primekey-field non-blank, test not applicable.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } else {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
-
- boolean foundOne = false;
- Constructor [] constructors = c.getConstructors();
- for (int i = 0; i < constructors.length; i++) {
- int modifiers = constructors[i].getModifiers();
- if (Modifier.isPublic(modifiers)) {
- Class [] constructorParameterTypes;
- constructorParameterTypes = constructors[i].getParameterTypes();
- if (constructorParameterTypes.length > 0) {
- continue;
- } else {
- foundOne = true;
- break;
- }
- }
- }
-
- if (foundOne) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This primary key class [ {0} ] has a public constructor method with no parameters.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A public constructor method with no parameters was not found in the primary key class [ {0} ].",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- }
- } catch (NullPointerException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Primkey field not defined within [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- return result;
-
- } else { //if (BEAN_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2}.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsCmp.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsCmp.java
deleted file mode 100644
index 910e40d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsCmp.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Set;
-
-/**
- * Enterprise Java Bean primary key class fields subset of the names of
- * the container-managed fields test.
- *
- * The names of the fields in the primary key class must be a subset of the
- * names of the container-managed fields. (This allows the container to
- * extract the primary key fields from an instance's container-managed fields,
- * and vice versa.)
- */
-public class PrimaryKeyClassFieldsCmp extends EjbTest implements EjbCheck {
-
-
- /**
- * Enterprise Java Bean primary key class fields subset of the names of
- * the container-managed fields test.
- *
- * The names of the fields in the primary key class must be a subset of the
- * names of the container-managed fields. (This allows the container to
- * extract the primary key fields from an instance's container-managed fields,
- * and vice versa.)
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
-
- // do we have primekey that maps to single or multiple fields in entity // bean class? if primekey-field exist, then primekey maps to single
- // field in entity bean class and this test in notApplicable
- try {
- FieldDescriptor fd = ((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc();
- if (fd != null) {
- String pkf = fd.getName();
- if (pkf.length() > 0) {
- // N/A case
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity Bean [ {0} ] with primekey-field non-blank, test not applicable.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } else {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
-
- boolean oneFailed = false;
- boolean badField = false;
- Field [] fields = c.getDeclaredFields();
- Set persistentFields =
- ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields();
- for (int i = 0; i < fields.length; i++) {
- badField = false;
- if (EjbUtils.isFieldSubsetOfCMP(fields[i],persistentFields)) {
- continue;
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- badField = true;
- }
-
- if (badField) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Field [ {0} ] defined within primary key class [ {1} ] is not defined within container managed fields.",
- new Object[] {fields[i].getName(),((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This primary key class [ {0} ] has defined all fields which are defined within container managed fields.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- } catch (Throwable t) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warningException",
- "Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].",
- new Object[] {(descriptor).getEjbClassName(),t.toString(), t.getMessage(),descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri()}));
- }
- }
- } catch (NullPointerException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Primkey field not defined within [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- return result;
-
- } else { // if (BEAN_PERSISTENCE.equals(persistence)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2}.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsMatchBeanFields.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsMatchBeanFields.java
deleted file mode 100644
index dccf7f4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsMatchBeanFields.java
+++ /dev/null
@@ -1,196 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Vector;
-
-/**
- * Enterprise Java Bean primary key maps to multiple fields in the Entity bean
- * class test.
- *
- * The primkey-field element is not used if the primary key maps to multiple
- * container-managed fields (i.e. the key is a compound key). In this case, the
- * fields of the primary key class must be public, and their names must
- * correspond to the field names of the entity bean class that comprise the key.
- */
-public class PrimaryKeyClassFieldsMatchBeanFields extends EjbTest implements EjbCheck {
-
-
- /**
- * Enterprise Java Bean primary key maps to multiple fields in the Entity bean
- * class test.
- *
- * The primkey-field element is not used if the primary key maps to multiple
- * container-managed fields (i.e. the key is a compound key). In this case, the
- * fields of the primary key class must be public, and their names must
- * correspond to the field names of the entity bean class that comprise the key.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // fields of the primary key class names must correspond to the
- // field names of the entity bean class that comprise the key.
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
-
- // do we have primekey that maps to single or multiple fields in entity
- // bean class? if primekey-field exist, then primekey maps to single
- // field in entity bean class and this test in notApplicable
- try {
- FieldDescriptor fd = ((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc();
- if (fd != null) {
- String pkf = fd.getName();
- if (pkf.length() > 0) {
- // N/A case
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity Bean [ {0} ] with primekey-field non-blank, test not applicable.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } else {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
- Field [] fields = c.getDeclaredFields();
-
- Vector beanFields = ((EjbDescriptor)descriptor).getFieldDescriptors();
-
- boolean oneFailed = false;
- boolean badField = false;
- for (int i = 0; i < fields.length; i++) {
- badField = false;
- if (EjbUtils.isPKFieldMatchingBeanFields(fields[i],beanFields)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed1",
- "Valid: Field [ {0} ] defined within primary key class [ {1} ] does correspond to the field names of the entity bean class [ {2} ] that comprise the key.",
- new Object[] {fields[i].getName(),((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(),descriptor.getEjbClassName()}));
- continue;
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- badField = true;
- }
-
- if (badField == true) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Field [ {0} ] defined within primary key class [ {1} ] does not correspond to the field names of the entity bean class [ {2} ] that comprise the key.",
- new Object[] {fields[i].getName(),((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(),descriptor.getEjbClassName()}));
- }
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This primary key class [ {0} ] has defined all fields which correspond to the field names of the entity bean class [ {1} ] that comprise the key.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(),descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class or [ {1} ] class not found.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(),((EjbEntityDescriptor)descriptor).getEjbClassName()}));
- } catch (Throwable t) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warningException",
- "Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].",
- new Object[] {(descriptor).getEjbClassName(),t.toString(), t.getMessage(), descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri()}));
- }
- }
- } catch (NullPointerException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Primkey field not defined within [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- return result;
-
- } else { //if (BEAN_PERSISTENCE.equals(persistence)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2}.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsPublic.java
deleted file mode 100644
index 092a618..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassFieldsPublic.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
-/**
- * Enterprise Java Bean primary key class public fields test.
- * The primary key class must declare all fields within the class as public.
- */
-public class PrimaryKeyClassFieldsPublic extends EjbTest implements EjbCheck {
-
-
- /**
- * Enterprise Java Bean primary key class public fields test.
- * The primary key class must declare all fields within the class as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- // do we have primekey that maps to single or multiple fields in entity // bean class? if primekey-field exist, then primekey maps to single
- // field in entity bean class and this test in notApplicable
- try {
- FieldDescriptor fd = ((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc();
- if (fd != null) {
- String pkf = fd.getName();
- if (pkf.length() > 0) {
- // N/A case
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity Bean [ {0} ] with primekey-field non-blank, test not applicable.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } else {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
-
- boolean oneFailed = false;
- boolean badField = false;
- Field [] fields = c.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- badField = false;
- int modifiers = fields[i].getModifiers();
- if (Modifier.isPublic(modifiers)) {
- continue;
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- badField = true;
- }
-
- if (badField) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Field [ {0} ] defined within primary key class [ {1} ] is not defined as public.",
- new Object[] {fields[i].getName(),((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- }
- if (!oneFailed) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This primary key class [ {0} ] has defined all fields as public.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- } catch (Throwable t) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warningException",
- "Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].",
- new Object[] {(descriptor).getEjbClassName(),t.toString(), t.getMessage(), descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri()}));
- }
- }
- } catch (NullPointerException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Primkey field not defined within [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- return result;
-
- } else { //if (BEAN_PERSISTENCE.equals(persistence)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2}.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassModifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassModifier.java
deleted file mode 100644
index c815818..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pkmultiplefield/PrimaryKeyClassModifier.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Modifier;
-
-/**
- * Enterprise Java Bean primary key class modifier test.
- * The class must be defined as public
- */
-public class PrimaryKeyClassModifier extends EjbTest implements EjbCheck {
-
-
- /**
- * Enterprise Java Bean primary key class modifier test.
- * The class must be defined as public
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- // do we have primekey that maps to single or multiple fields in entity // bean class? if primekey-field exist, then primekey maps to single
- // field in entity bean class and this test in notApplicable
- try {
- FieldDescriptor fd = ((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc();
- if (fd != null) {
- String pkf = fd.getName();
- if (pkf.length() > 0) {
- // N/A case
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity Bean [ {0} ] with primekey-field non-blank, test not applicable.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } else {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
-
- boolean isPublic = false;
- int modifiers = c.getModifiers();
- if (Modifier.isPublic(modifiers)) {
- isPublic = true;
- }
-
- if (isPublic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares public class modifier.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- } else if (!isPublic) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Ejb primary key class [ {0} ] was found, but was not declared as public. The primary key class [ {1} ] must be defined as public.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(),((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- }
- }
- } catch (NullPointerException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Primkey field not defined within [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- return result;
-
- } else { // if (BEAN_PERSISTENCE.equals(persistence)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2}.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pksinglefield/PrimekeyFieldPersistentFields.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pksinglefield/PrimekeyFieldPersistentFields.java
deleted file mode 100644
index 87a9c8c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pksinglefield/PrimekeyFieldPersistentFields.java
+++ /dev/null
@@ -1,205 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.FieldDescriptor;
-
-import java.lang.reflect.Field;
-import java.util.Iterator;
-import java.util.Set;
-
-/**
- * The primkey-field must be one of the fields declared in the cmp-field
- * elements.
- */
-public class PrimekeyFieldPersistentFields extends EjbTest implements EjbCheck {
-
-
- /**
- * The primkey-field must be one of the fields declared in the cmp-field
- * elements.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // The primkey-field must be one of the fields declared in the
- // cmp-field elements
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
-
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- try {
- // do i need to use this to help determine single vs. multiple
- // object finders, etc.
- String primkey =
- ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
- if (primkey.equals("java.lang.String")) {
- try {
-
- FieldDescriptor primField =
- ((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc();
-
- // primField must exist in order to be valid & pass test
- Descriptor persistentField;
- Field field;
- Set persistentFields =
- ((EjbCMPEntityDescriptor)descriptor).getPersistenceDescriptor().getCMPFields();
- Iterator iterator = persistentFields.iterator();
- boolean foundMatch = false;
- while (iterator.hasNext()) {
- persistentField = (Descriptor)iterator.next();
- if (primField != null) {
- if (primField.getName().equals(persistentField.getName())) {
- foundMatch = true;
- break;
- } else {
- continue;
- }
- } else {
- // should already be set, can't ever be in cmp
- // fields if primField doesn't exist
- foundMatch = false;
- break;
- }
- }
- if (foundMatch) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Primary key field [ {0} ] is defined within set of container managed fields for bean [ {1} ]",
- new Object[] {primField.getName(),descriptor.getName()}));
- } else {
- if (primField != null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Primary key field [ {0} ] is not defined within set of container managed fields for bean [ {1} ]",
- new Object[] {primField.getName(),descriptor.getName()}));
- } else {
- // unless special case, where primary key class
- // is java.lang.Object, then test should be N/A
- // not failed
- try {
- if (((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName().equals("java.lang.Object")) {
-
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Primkey field not defined for [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
-
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Primary key field is not defined within set of container managed fields for bean [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- } catch (NullPointerException e) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Primkey field not defined for [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- }
- }
- } catch (NullPointerException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: Primary Key Field must be defined for bean [ {0} ] with primary key class set to [ {1} ]",
- new Object[] {descriptor.getName(),primkey}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable3",
- "primkey [ {0} ] is not java.lang.String for bean [ {1} ]",
- new Object[] {primkey,descriptor.getName()}));
- }
- } catch (NullPointerException e) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Primkey field not defined for [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected \n {1} bean, but called with {2} bean",
- new Object[] {getClass(),"Entity","Session"}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pksinglefield/PrimekeyFieldPrimaryKeyType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pksinglefield/PrimekeyFieldPrimaryKeyType.java
deleted file mode 100644
index 485efca..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/pksinglefield/PrimekeyFieldPrimaryKeyType.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Field;
-
-/**
- * The type of the primkey-field must be the same as the primary key type.
- */
-public class PrimekeyFieldPrimaryKeyType extends EjbTest implements EjbCheck {
-
-
- /**
- * The type of the primkey-field must be the same as the primary key type.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // The type of the primkey-field must be the same as the primary key type.
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
-
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- try {
- if (((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc() != null) {
- Field pkf = c.getDeclaredField(((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc().getName());
- Class pkfType = pkf.getType();
- try {
- String primkey =
- ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- boolean foundMatch = false;
- if (primkey.equals(pkfType.getName())) {
- foundMatch = true;
- } else {
- foundMatch = false;
- }
-
- if (foundMatch) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The type of the primkey-field [ {0} ] is the same as the primary key type [ {1} ] for bean [ {2} ]",
- new Object[] {((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc().getName(),primkey,descriptor.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The type of the primkey-field [ {0} ] is not the same as the primary key type [ {1} ] for bean [ {2} ]",
- new Object[] {((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc().getName(),primkey,descriptor.getName()}));
- }
- } catch (NullPointerException e) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Primkey field not defined for [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Primkey field not defined for [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- }
- } catch (NullPointerException e) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable3",
- "Primkey field not defined within [ {0} ] bean.",
- new Object[] {descriptor.getName()}));
- } catch (NoSuchFieldException e) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Primkey field [ {0} ] not defined within [ {1} ] bean.",
- new Object[] {((EjbCMPEntityDescriptor)descriptor).getPrimaryKeyFieldDesc().getName(),descriptor.getName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: EJB class [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Expected persistence type [ {0} ], but bean [ {1} ] has persistence type [ {2} ]",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected \n {1} bean, but called with {2} bean",
- new Object[] {getClass(),"Entity","Session"}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/EjbPrimaryKeyClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/EjbPrimaryKeyClass.java
deleted file mode 100644
index 37f593e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/EjbPrimaryKeyClass.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * Define primary key class test.
- *
- * Enterprise Bean's primary key class
- * The Bean provider must specify a primary key class in the deployment
- * descriptor.
- *
- */
-public class EjbPrimaryKeyClass extends EjbTest implements EjbCheck {
-
-
- /**
- * Define primary key class test.
- *
- * Enterprise Bean's primary key class
- * The Bean provider must specify a primary key class in the deployment
- * descriptor.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean oneFailed = false;
-
- // retrieve the EJB primary key class
- String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- if (!primaryKeyType.equals("")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {primaryKeyType}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A primary key class was defined in the deployment descriptor."));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {primaryKeyType}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A primary key class was not defined in the deployment descriptor."));
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/EjbPrimaryKeyClassRmiIIOP.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/EjbPrimaryKeyClassRmiIIOP.java
deleted file mode 100644
index 1505b7b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/EjbPrimaryKeyClassRmiIIOP.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * Define primary key class which must be legal Value Type in RMI-IIOP test.
- *
- * Enterprise Bean's primary key class
- * The Bean provider must specify a primary key class in the deployment
- * descriptor. The primary key class must be a legal Value Type in RMI-IIOP.
- *
- */
-public class EjbPrimaryKeyClassRmiIIOP extends EjbTest implements EjbCheck {
-
-
- /**
- * Define primary key class which must be legal Value Type in RMI-IIOP test.
- *
- * Enterprise Bean's primary key class
- * The Bean provider must specify a primary key class in the deployment
- * descriptor. The primary key class must be a legal Value Type in RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- boolean isLegalRMIIIOPValueType = false;
- boolean oneFailed = false;
-
- // retrieve the EJB primary key class
- String primaryKeyType = ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- if (!primaryKeyType.equals("")) {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
- if (RmiIIOPUtils.isValidRmiIIOPValueType(c)) {
- // this is the right primary key class
- isLegalRMIIIOPValueType = true;
- } // return valid
-
- if (isLegalRMIIIOPValueType) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {primaryKeyType}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "A primary key class which must be legal Value Type in RMI-IIOP was defined in the deployment descriptor."));
- } else if (!isLegalRMIIIOPValueType) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {primaryKeyType}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A primary key class which must be legal Value Type in RMI-IIOP was not defined in the deployment descriptor."));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {primaryKeyType}));
- oneFailed = true;
- }
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {primaryKeyType}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: A primary key class was not defined in the deployment descriptor."));
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassElement.java
deleted file mode 100644
index 624ec32..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassElement.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Entity bean's Primary Key Class test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "primary-class" element. The Bean provider 'must' specify the primary key
- * class for an Entity with bean managed persistence, and 'may' (but is not
- * required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- */
-public class PrimaryKeyClassElement extends EjbTest implements EjbCheck {
-
- /**
- * Entity bean's Primary Key Class test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "primary-class" element. The Bean provider 'must' specify the primary key
- * class for an Entity with bean managed persistence, and 'may' (but is not
- * required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {descriptor.getName(), "bean"});
- String primkey =
- ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- if (!primkey.equals("java.lang.String")) {
- try {
- Class c = Class.forName(primkey, false, getVerifierContext().getClassLoader());
-
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Primary Key Class [ {0} ] exist and is loadable",
- new Object[] {primkey}));
- } catch (Exception e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Loading Primary Key Class [ {0} ]",
- new Object[] {primkey}));
- return result;
- }
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "Primary Key Class is [ {0} ]",
- new Object[] {primkey}));
- }
-
- return result;
-
- } else if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Entity Bean [ {0} ] with [ {1} ] managed persistence, primkey optional.",
- new Object[] {descriptor.getName(),persistence}));
- return result;
- }
- else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.BEAN_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassMethodEqual.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassMethodEqual.java
deleted file mode 100644
index 9809341..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassMethodEqual.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Primary key class provide implementation of and equals() methods test.
- *
- * Enterprise Bean's primary key class
- * The class must provide suitable implementation of the equals(Object other)
- * methods to simplify the management of the primary keys by client code.
- *
- */
-public class PrimaryKeyClassMethodEqual extends EjbTest implements EjbCheck {
-
-
- /**
- * Primary key class provide implementation of equals() methods test.
- *
- * Enterprise Bean's primary key class
- * The class must provide suitable implementation of the equals(Object other)
- * methods to simplify the management of the primary keys by client code.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String transactionType = descriptor.getTransactionType();
- if (EjbDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType)) {
- boolean hasDefinedEqaulsMethod = false;
- boolean oneFailed = false;
- int lc = 0;
-
- // RULE: Primary key class must defined equals(Object other) method
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- // retrieve the EJB primary key class
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- for (int i=0; i< methods.length; i++) {
- if (methods[i].getName().equals("equals")){
- // this is the right primary key class method equals()
- hasDefinedEqaulsMethod = true;
- // used in output below
- lc = i;
- break;
- }
- }
-
- if (hasDefinedEqaulsMethod) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Primary key class method [ {0} ] was defined in the primary key class.",
- new Object[] {methods[lc].getName()}));
- } else if (!hasDefinedEqaulsMethod) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Primary key class method equal() was not defined in the primary key class."));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Primary Key Class [ {0} ] not found within bean [ {1} ]",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), descriptor.getName()})
- );
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- } else {
- // not container managed, but is a entity bean
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.",
- new Object[] {descriptor.getName(),EjbDescriptor.CONTAINER_TRANSACTION_TYPE,transactionType}));
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassMethodHashCode.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassMethodHashCode.java
deleted file mode 100644
index 7156fa4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassMethodHashCode.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Primary key class provide implementation of hashCode() methods test.
- *
- * Enterprise Bean's primary key class
- * The class must provide suitable implementation of the hashCode()
- * method to simplify the management of the primary keys by client code.
- *
- */
-public class PrimaryKeyClassMethodHashCode extends EjbTest implements EjbCheck {
-
-
- /**
- * Primary key class provide implementation of hashCode() methods test.
- *
- * Enterprise Bean's primary key class
- * The class must provide suitable implementation of the hashCode()
- * method to simplify the management of the primary keys by client code.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String transactionType = descriptor.getTransactionType();
- if (EjbDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType))
- {
-
- boolean hasDefinedHashCodeMethod = false;
- boolean oneFailed = false;
- int lc = 0;
-
- // RULE: Primary key class must defined HashCode() method
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- // retrieve the EJB primary key class
- Class c = Class.forName(((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- for (int i=0; i< methods.length; i++)
- {
- if (methods[i].getName().equals("hashCode")){
- // this is the right primary key class method hashCode()
- hasDefinedHashCodeMethod = true;
- // used in output below
- lc = i;
- break;
- }
- }
-
- if (hasDefinedHashCodeMethod)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Primary key class method [ {0} ] was defined in the primary key class.",
- new Object[] {methods[lc].getName()}));
- } else if (!hasDefinedHashCodeMethod) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB primary key class [ {0} ]",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Primary key class method hashCode() was not defined in the primary key class."));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Class [ {0} ] not found within bean [ {1} ]",
- new Object[] {((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName(), descriptor.getName()})
- );
- }
-
- if (oneFailed)
- result.setStatus(result.FAILED);
- else
- result.setStatus(result.PASSED);
-
- } else {
- // not container managed, but is a entity bean
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Bean [ {0} ] is not {1} managed, it is [ {2} ] managed.",
- new Object[] {descriptor.getName(),EjbDescriptor.CONTAINER_TRANSACTION_TYPE,transactionType}));
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOpt.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOpt.java
deleted file mode 100644
index 2c84329..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOpt.java
+++ /dev/null
@@ -1,234 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity bean's Primary Key Class test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "<prim-key-class>" element. The Bean provider 'must' specify the primary key
- * class for an Entity with bean managed persistence, and 'may' (but is not
- * required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- *
- * Special case: Unknown primary key class
- * In special situations, the Bean Provider may choose not to specify the
- * primary key class for an entity bean with container-managed persistence. This
- * case happens if the Bean Provider wants to allow the Deployer to select the
- * primary key fields at deployment time. The Deployer uses instructions
- * supplied by the Bean Provider (these instructions are beyond the scope of
- * the EJB spec.) to define a suitable primary key class.
- *
- * In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate()
- * must be declared as java.lang.Object. The Bean Provider must specify the
- * primary key class in the deployment descriptor as the type
- * java.lang.Object.
- *
- * The primary key class is specified at deployment time when the Bean Provider
- * develops enterprise beans that is intended to be used with multiple back-ends
- * that provide persistence, and when these multiple back-ends require different
- * primary key structures.
- */
-public class PrimaryKeyClassOpt extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Entity bean's Primary Key Class test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "<prim-key-class>" element. The Bean provider 'must' specify the primary
- * key class for an Entity with bean managed persistence, and 'may' (but is
- * not required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- *
- * Special case: Unknown primary key class
- * In special situations, the Bean Provider may choose not to specify the
- * primary key class for an entity bean with container-managed persistence. This
- * case happens if the Bean Provider wants to allow the Deployer to select the
- * primary key fields at deployment time. The Deployer uses instructions
- * supplied by the Bean Provider (these instructions are beyond the scope of
- * the EJB spec.) to define a suitable primary key class.
- *
- * In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate()
- * must be declared as java.lang.Object. The Bean Provider must specify the
- * primary key class in the deployment descriptor as of the type
- * java.lang.Object.
- *
- * The primary key class is specified at deployment time when the Bean Provider
- * develops enterprise beans that is intended to be used with multiple back-ends
- * that provide persistence, and when these multiple back-ends require different
- * primary key structures.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- String primkey =
- ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- // primkey can be not set, via setting xml element
- // <prim-key-class> to "java.lang.Object"
- if (primkey.equals("java.lang.Object")) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(), descriptor);
- }
- if(oneFailed == false) {
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) {
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(), descriptor);
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Primary Key Class is [ {0} ]",
- new Object[] {primkey}));
- }
-
- return result;
-
- } else if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity Bean with [ {0} ] managed persistence, primkey mandatory.",
- new Object[] {persistence}));
- return result;
- }
- else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable3",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String home,EjbDescriptor descriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method [] ejbFinderMethods = c.getDeclaredMethods();
- boolean paramValid = false;
- for (int j = 0; j < ejbFinderMethods.length; ++j) {
- // reset all booleans for next method within the loop
- if (ejbFinderMethods[j].getName().equals("findByPrimaryKey")) {
- Class [] ejbFinderMethodParameterTypes;
- ejbFinderMethodParameterTypes = ejbFinderMethods[j].getParameterTypes();
- for (int k = 0; k < ejbFinderMethodParameterTypes.length; ++k) {
- if (ejbFinderMethodParameterTypes[k].getName().equals("java.lang.Object")) {
- paramValid = true;
- break;
- }
- }
- }
- }
-
- if (paramValid) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "findByPrimaryKey method properly defines method parameter [ {0} ]",
- new Object[] {"java.lang.Object"}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: findByPrimaryKey method does not properly define method parameter [ {0} ]",
- new Object[] {"java.lang.Object"}));
- }
- return oneFailed;
- } catch (Exception e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Loading Home interface class [ {0} ]",
- new Object[] {home}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOptReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOptReturn.java
deleted file mode 100644
index d97c536..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOptReturn.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Entity bean's Primary Key Class return test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "primary-class" element. The Bean provider 'must' specify the primary key
- * class for an Entity with bean managed persistence, and 'may' (but is not
- * required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- *
- * Special case: Unknown primary key class
- * In special situations, the Bean Provider may choose not to specify the
- * primary key class for an entity bean with container-managed persistence. This
- * case happens if the Bean Provider wants to allow the Deployer to select the
- * primary key fields at deployment time. The Deployer uses instructions
- * supplied by the Bean Provider (these instructions are beyond the scope of
- * the EJB spec.) to define a suitable primary key class.
- *
- * In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate()
- * must be declared as java.lang.Object. The Bean Provider must specify the
- * primary key class in the deployment descriptor as of the type
- * java.lang.Object.
- *
- * The primary key class is specified at deployment time when the Bean Provider
- * develops enterprise beans that is intended to be used with multiple back-ends
- * that provide persistence, and when these multiple back-ends require different
- * primary key structures.
- */
-public class PrimaryKeyClassOptReturn extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity bean's Primary Key Class return test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "primary-class" element. The Bean provider 'must' specify the primary key
- * class for an Entity with bean managed persistence, and 'may' (but is not
- * required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- *
- * Special case: Unknown primary key class
- * In special situations, the Bean Provider may choose not to specify the
- * primary key class for an entity bean with container-managed persistence. This
- * case happens if the Bean Provider wants to allow the Deployer to select the
- * primary key fields at deployment time. The Deployer uses instructions
- * supplied by the Bean Provider (these instructions are beyond the scope of
- * the EJB spec.) to define a suitable primary key class.
- *
- * In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate()
- * must be declared as java.lang.Object. The Bean Provider must specify the
- * primary key class in the deployment descriptor as of the type
- * java.lang.Object.
- *
- * The primary key class is specified at deployment time when the Bean Provider
- * develops enterprise beans that is intended to be used with multiple back-ends
- * that provide persistence, and when these multiple back-ends require different
- * primary key structures.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- String primkey =
- ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- // primkey can be not set, via setting xml element
- // <prim-key-class> to "java.lang.Object"
- if (primkey.equals("java.lang.Object")) {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- boolean returnsJLO = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- returnsJLO = false;
- for (int j = 0; j < methods.length; ++j) {
- if (methods[j].getName().equals("ejbCreate")) {
- // The return type must be java.lang.Object.
- Class rt = methods[j].getReturnType();
- if (rt.getName().equals("java.lang.Object")) {
- returnsJLO = true;
- break;
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (!returnsJLO));
-
- if (returnsJLO) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "ejbCreate() method properly defines method return type [ {0} ]",
- new Object[] {"java.lang.Object"}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "ejbCreate() method does not properly define method return type [ {0} ]",
- new Object[] {"java.lang.Object"}));
- }
- } catch (Exception e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Loading bean class [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Primary Key Class is [ {0} ]",
- new Object[] {primkey}));
- }
-
- return result;
-
- } else if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity bean with [ {0} ] managed persistence, primkey mandatory.",
- new Object[] {persistence}));
- return result;
- }
- else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable3",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOptType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOptType.java
deleted file mode 100644
index c1a8d57..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/entity/primarykeyclass/PrimaryKeyClassOptType.java
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * Entity bean's Primary Key Class type test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "primary-class" element. The Bean provider 'must' specify the primary key
- * class for an Entity with bean managed persistence, and 'may' (but is not
- * required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- *
- * Special case: Unknown primary key class
- * In special situations, the Bean Provider may choose not to specify the
- * primary key class for an entity bean with container-managed persistence. This
- * case happens if the Bean Provider wants to allow the Deployer to select the
- * primary key fields at deployment time. The Deployer uses instructions
- * supplied by the Bean Provider (these instructions are beyond the scope of
- * the EJB spec.) to define a suitable primary key class.
- *
- * In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate()
- * must be declared as java.lang.Object. The Bean Provider must specify the
- * primary key class in the deployment descriptor as of the type
- * java.lang.Object.
- *
- * The primary key class is specified at deployment time when the Bean Provider
- * develops enterprise beans that is intended to be used with multiple back-ends
- * that provide persistence, and when these multiple back-ends require different
- * primary key structures.
- */
-public class PrimaryKeyClassOptType extends EjbTest implements EjbCheck {
-
-
- /**
- * Entity bean's Primary Key Class type test.
- * If the enterprise bean is a Entity Bean, the Bean provider specifies
- * the fully qualified name of the Entity bean's primary key class in the
- * "primary-class" element. The Bean provider 'must' specify the primary key
- * class for an Entity with bean managed persistence, and 'may' (but is not
- * required to) specify the primary key class for an Entity with
- * Container-managed persistence.
- *
- * Special case: Unknown primary key class
- * In special situations, the Bean Provider may choose not to specify the
- * primary key class for an entity bean with container-managed persistence. This
- * case happens if the Bean Provider wants to allow the Deployer to select the
- * primary key fields at deployment time. The Deployer uses instructions
- * supplied by the Bean Provider (these instructions are beyond the scope of
- * the EJB spec.) to define a suitable primary key class.
- *
- * In this special case, the type of the argument of the findByPrimaryKey method
- * must be declared as java.lang.Object, and the return value of ejbCreate()
- * must be declared as java.lang.Object. The Bean Provider must specify the
- * primary key class in the deployment descriptor as of the type
- * java.lang.Object.
- *
- * The primary key class is specified at deployment time when the Bean Provider
- * develops enterprise beans that is intended to be used with multiple back-ends
- * that provide persistence, and when these multiple back-ends require different
- * primary key structures.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbEntityDescriptor) {
- String persistence =
- ((EjbEntityDescriptor)descriptor).getPersistenceType();
- if (EjbEntityDescriptor.CONTAINER_PERSISTENCE.equals(persistence)) {
- String primkey =
- ((EjbEntityDescriptor)descriptor).getPrimaryKeyClassName();
-
- // primkey can be not set, via setting xml element
- // <prim-key-class> to "java.lang.Object"
- if (primkey.equals("java.lang.Object")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Properly defined primary key class type [ {0} ]",
- new Object[] {"java.lang.Object"}));
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Primary Key Class is [ {0} ]",
- new Object[] {primkey}));
- }
-
- return result;
-
- } else if (EjbEntityDescriptor.BEAN_PERSISTENCE.equals(persistence)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Entity Bean with [ {0} ] managed persistence, primkey mandatory.",
- new Object[] {persistence}));
- return result;
- }
- else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable3",
- "Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.",
- new Object[] {EjbEntityDescriptor.CONTAINER_PERSISTENCE,descriptor.getName(),persistence}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Entity","Session"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfaceClassExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfaceClassExist.java
deleted file mode 100644
index fd06e1a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfaceClassExist.java
+++ /dev/null
@@ -1,118 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * Home Interface test.
- * Verify that the bean home interface class exist and is loadable.
- * @author Sheetal Vartak
- */
-abstract public class HomeInterfaceClassExist extends EjbTest {
-
- /** Method tells the name of the home interface class that called this test
- */
- abstract protected String getHomeInterfaceName(EjbDescriptor descriptor);
-
- /**
- * Home Interface test.
- * Verify that the bean home interface class exist and is loadable.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
-
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
-
- if(getHomeInterfaceName(descriptor) == null || "".equals(getHomeInterfaceName(descriptor))){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
-
- // verify that the home interface class exist and is loadable
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(getClassName(descriptor), false, jcl);
- if (c != null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Home interface [ {0} ] exist and is loadable.",
- new Object[] {getClassName(descriptor)}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Home interface [ {0} ] does not exist or is not loadable.",
- new Object[] {getClassName(descriptor)}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Home interface [ {0} ] does not exist or is not loadable.",
- new Object[] {getClassName(descriptor)}));
- }
- return result;
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getHomeInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfaceExtendsRightInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfaceExtendsRightInterface.java
deleted file mode 100644
index a321368..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfaceExtendsRightInterface.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-/**
- * Extends the EJBHome Interface test.
- * All enterprise beans home interface's must extend the EJBHome interface.
- */
-abstract public class HomeInterfaceExtendsRightInterface extends EjbTest implements EjbCheck {
-
- /** Method tells the name of the home interface class that called this test
- */
- abstract protected String getHomeInterfaceName(EjbDescriptor descriptor);
- abstract protected String getSuperInterface();
-
- /**
- * Extends the EJBHome Interface test.
- * All enterprise beans home interface's must extend the EJBHome interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
-
-
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String str = null;
-
- if(getHomeInterfaceName(descriptor) == null || "".equals(getHomeInterfaceName(descriptor))){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(getClassName(descriptor), false, jcl);
- str = getSuperInterface();
- if (isImplementorOf(c, str)) {
- // it extends the proper EJBHome
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly extends the " + str + "interface.",
- new Object[] {getClassName(descriptor)}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly extend the " + str +
- " interface. All enterprise beans home interfaces must extend the " + str +
- " interface. [ {1} ] is not a valid home interface.",
- new Object[] {getClassName(descriptor),getClassName(descriptor)}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {getClassName(descriptor)}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean or {2} bean, but called with {3}.",
- new Object[] {getClass(),"Session","Entity",descriptor.getName()}));
- return result;
- }
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getHomeInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfacePublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfacePublic.java
deleted file mode 100644
index 6c3e88a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeInterfacePublic.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Modifier;
-
-/**
- * All enterprise beans home interface's must be declared as public.
- */
-abstract public class HomeInterfacePublic extends EjbTest implements EjbCheck {
-
- /** Method tells the name of the home interface class that called this test
- */
- abstract protected String getHomeInterfaceName(EjbDescriptor descriptor);
-
- /**
- * All enterprise beans home interface's must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
-
-
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if(getHomeInterfaceName(descriptor) == null || "".equals(getHomeInterfaceName(descriptor))){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
-
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(getClassName(descriptor), false, jcl);
-
- // remote interface must be defined as public
- boolean isPublic = false;
- int modifiers = c.getModifiers();
- if (Modifier.isPublic(modifiers)) {
- isPublic = true;
- }
-
- // it extends the proper EJBHome, but is it's modifier public
- if (!isPublic){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not defined as public. All enterprise beans home interfaces must be defined as public. [ {1} ] is not a valid home interface.",
- new Object[] {getClassName(descriptor),getClassName(descriptor)}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares the home interface as public.",
- new Object[] {getClassName(descriptor)}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {getClassName(descriptor)}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean or {2} bean, but called with {3}.",
- new Object[] {getClass(),"Session","Entity",descriptor.getName()}));
- return result;
- }
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getHomeInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodException.java
deleted file mode 100644
index fad2fd6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodException.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise Bean's ejbHome methods exceptions test.
- * Each enterprise Bean class may define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * Compatibility Note: EJB 1.0 allowed the ejbHome methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- */
-public class HomeMethodException extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Enterprise Bean's ejbHome methods exceptions test.
- * Each enterprise Bean class may define zero or more business(...) methods.
- * The method signatures must follow these rules:
- *
- * Compatibility Note: EJB 1.0 allowed the ejbHome methods to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) {
- commonToBothInterfaces(descriptor.getHomeClassName(),descriptor);
- }
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) {
- commonToBothInterfaces(descriptor.getLocalHomeClassName(),descriptor);
- }
-
- }
- if(result.getStatus()!=Result.FAILED &&
- result.getStatus() != Result.WARNING) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid Home method(s)."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for
- * both local and remote home interfaces.
- *
- * @param home for the Home Interface of the Ejb
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * This parameter may be optional depending on the test
- */
-
-
- private void commonToBothInterfaces(String home,EjbDescriptor descriptor) {
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class rc = Class.forName(home, false, jcl);
-
- for (Method homeMethod : rc.getMethods()) {
-
- if (homeMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBHome")||
- homeMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBLocalHome"))
- continue;
- if (homeMethod.getName().startsWith("create") ||
- homeMethod.getName().startsWith("find") ||
- homeMethod.getName().startsWith("remove"))
- continue;
-
- Class beanClass = Class.forName(descriptor.getEjbClassName(), false, jcl);
-
- for (Method method : beanClass.getMethods()) {
-
- String methodName = "ejbHome" +
- Character.toUpperCase(homeMethod.getName().charAt(0)) +
- homeMethod.getName().substring(1);
-
- if (method.getName().equals(methodName)) {
-
- // Compatibility Note: EJB 1.0 allowed the business methods to throw
- // the java.rmi.RemoteException to indicate a non-application
- // exception. This practice is deprecated in EJB 1.1---an EJB 1.1
- // compliant enterprise bean should throw the jakarta.ejb.EJBException
- // or another RuntimeException to indicate non-application
- // exceptions to the Container (see Section 12.2.2).
- // Note: Treat as a warning to user in this instance
- Class [] exceptions = method.getExceptionTypes();
- if(EjbUtils.isValidRemoteException(exceptions)) {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "Error: Compatibility Note:" +
- "\n A public Home method [ {0} ] was found, but" +
- "\n EJB 1.0 allowed the 'ejbHome' methods to throw the " +
- "\n java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice is deprecated in EJB 1.1" +
- "\n ---an EJB 1.1 compliant enterprise bean should" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container. ",
- new Object[] {method.getName()}));
- }
-
- }
- }
-
- }
-
- } catch (Exception e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] does " +
- "not exist or is not loadable within bean [ {2} ].",
- new Object[] {home,descriptor.getEjbClassName(),descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodModifiers.java
deleted file mode 100644
index 3f59f06..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodModifiers.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Home methods must be public and not static
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class HomeMethodModifiers extends HomeMethodTest {
-
- /**
- * <p>
- * run an individual home method test
- * </p>
- *
- * @param method the home method to test
- * @param descriptor the deployment descriptor for the entity bean
- * @param result the result object
- */
-
- protected void runIndividualHomeMethodTest(Method method, EjbDescriptor descriptor, Result result) {
-
- Method m;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try {
- // retrieve the remote interface methods
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class ejbClass = Class.forName(descriptor.getEjbClassName(), false, jcl);
-
- // Bug: 4952890. first character of this name should be converted to UpperCase.
- String methodName = method.getName().replaceFirst(method.getName().substring(0,1),
- method.getName().substring(0,1).toUpperCase());
- String expectedMethodName = "ejbHome" + methodName;
- do {
- // retrieve the EJB Class Methods
- m = getMethod(ejbClass, expectedMethodName, method.getParameterTypes());
- } while (((ejbClass = ejbClass.getSuperclass()) != null) && (m==null));
-
- if (m != null) {
- int modifiers = m.getModifiers();
- if (Modifier.isPublic(modifiers) && !Modifier.isStatic(modifiers)) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "For method [ {1} ] in Home Interface [ {0} ], ejbHome method is public and not static",
- new Object[] {method.getDeclaringClass().getName(), method.getName()}));
- result.setStatus(Result.PASSED);
- //return true;
- } else {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "Error : For method [ {1} ] defined in Home Interface [ {0} ], the ejbHome method is either static or not public",
- new Object[] {method.getDeclaringClass().getName(), method.getName()}));
- result.setStatus(Result.FAILED);
- // return false;
- }
- } else {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error : For method [ {1} ] defined in Home Interface [ {0} ], no ejbHome name matching method was found" ,
- new Object[] {method.getDeclaringClass().getName(), method.getName()}));
- result.setStatus(Result.FAILED);
- //return true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(
- getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {getClassName(descriptor),descriptor.getName()}));
- //return false;
- result.setStatus(Result.FAILED);
- }
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getHomeInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodNameMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodNameMatch.java
deleted file mode 100644
index 2d55f4a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodNameMatch.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * For each method defined in the home interface, there must be a matching
- * method in the enterprise Bean's class prefixed with ejbHome.
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class HomeMethodNameMatch extends HomeMethodTest {
-
- /**
- * <p>
- * run an individual home method test
- * </p>
- *
- * @param method the home method to test
- * @param descriptor the deployment descriptor for the entity bean
- * @param result the result object
- */
-
- protected void runIndividualHomeMethodTest(Method method, EjbDescriptor descriptor, Result result) {
-
- Method m;
- ComponentNameConstructor compName = null;
- try {
- compName = getVerifierContext().getComponentNameConstructor();
- // retrieve the remote interface methods
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class ejbClass = Class.forName(descriptor.getEjbClassName(), false, jcl);
- // Bug: 4952890. first character of this name should be converted to UpperCase.
- String methodName = method.getName().replaceFirst(method.getName().substring(0,1),
- method.getName().substring(0,1).toUpperCase());
- String expectedMethodName = "ejbHome" + methodName;
- do {
- // retrieve the EJB Class Methods
- m = getMethod(ejbClass, expectedMethodName, method.getParameterTypes());
- } while (((ejbClass = ejbClass.getSuperclass()) != null) && (m==null));
-
- if (m != null) {
- // now display the appropriate results for this particular business
- // method
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "For method [ {1} ] in Home Interface [ {0} ], a ejbHome<METHOD> name matching method was found",
- new Object[] {method.getDeclaringClass().getName(), method.getName()}));
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error : For method [ {1} ] defined in Home Interface [ {0} ], no ejbHome<METHOD> name matching method was found" ,
- new Object[] {method.getDeclaringClass().getName(), method.getName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(
- getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {getClassName(descriptor),descriptor.getName()}));
- }
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getHomeInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodRmiIIOPArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodRmiIIOPArgs.java
deleted file mode 100644
index ee9c9ae..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodRmiIIOPArgs.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise Bean's ejbHome methods argument RMI IIOP test.
- * Each enterprise Bean class may define zero or more ejbHome methods.
- * The method signatures must follow these rules:
- *
- * The methods arguments must be legal types for RMI-IIOP.
- */
-public class HomeMethodRmiIIOPArgs extends EjbTest implements EjbCheck {
-
-
-
- /**
- * Enterprise Bean's ejbHome methods argument RMI IIOP test.
- * Each enterprise Bean class may define zero or more ejbHome methods.
- * The method signatures must follow these rules:
- *
- * The methods arguments must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- if(descriptor.getHomeClassName() == null || "".equals(descriptor.getHomeClassName())) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- " [ {0} ] does not have a remote home interface. ",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
-
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class rc = Class.forName(descriptor.getHomeClassName(), false, jcl);
-
- Class [] homeMethodParameterTypes;
- boolean homeMethodFound = false;
- boolean isLegalRMIIIOP = false;
-
- for (Method remoteMethod : rc.getMethods()) {
-
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBHome"))
- continue;
- if (remoteMethod.getName().startsWith("create") ||
- remoteMethod.getName().startsWith("find") ||
- remoteMethod.getName().startsWith("remove"))
- continue;
-
- // reset flags from last time thru loop
- Class c = Class.forName(descriptor.getEjbClassName(), false, jcl);
- // start do while loop here....
- do {
-
- for (Method method : c.getDeclaredMethods()) {
- isLegalRMIIIOP = false;
- homeMethodFound = false;
-
- String methodName = "ejbHome" + Character.toUpperCase(remoteMethod.getName().charAt(0)) + remoteMethod.getName().substring(1);
-
- if (method.getName().equals(methodName)) {
- foundAtLeastOne++;
- homeMethodFound = true;
-
- // The methods arguments types must be legal types for RMI-IIOP.
- homeMethodParameterTypes = method.getParameterTypes();
- if (RmiIIOPUtils.isValidRmiIIOPParameters(homeMethodParameterTypes)) {
- // these method parameters are valid, continue
- isLegalRMIIIOP = true;
- }
-
- // now display the appropriate results for this particular ejbHome<Method>
- // method
- if (homeMethodFound && isLegalRMIIIOP ) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares ejbHome<Method> method " +
- "[ {1} ] with valid RMI-IIOP parameter types.",
- new Object[] {descriptor.getEjbClassName(),method.getName()}));
- } else if (homeMethodFound && !isLegalRMIIIOP) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: ejbHome<Method> method [ {0} ] was found, " +
- "but ejbHome<Method> method has illegal parameter " +
- "values. ejbHome<Method> methods arguments types " +
- "must be legal types for RMI-IIOP.",
- new Object[] {method.getName()}));
- break;
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (!homeMethodFound));
- }
- if (foundAtLeastOne == 0) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- " [ {0} ] does not declare any ejbHome<Method> methods. ",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] does not " +
- "exist or is not loadable within bean [ {2} ].",
- new Object[] {descriptor.getRemoteClassName(),descriptor.getEjbClassName(),descriptor.getName()}));
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- return result;
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean or {2} bean, but called with {3}.",
- new Object[] {getClass(),"Session","Entity",descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodRmiIIOPReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodRmiIIOPReturn.java
deleted file mode 100644
index ff86504..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodRmiIIOPReturn.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise Bean's home methods argument RMI IIOP test.
- * Each enterprise Bean class must define zero or more home methods.
- * The method signatures must follow these rules:
- *
- * The methods return value must be legal types for RMI-IIOP.
- */
-public class HomeMethodRmiIIOPReturn extends EjbTest implements EjbCheck {
-
-
-
- /**
- * Enterprise Bean's home methods argument RMI IIOP test.
- * Each enterprise Bean class must define zero or more home methods.
- * The method signatures must follow these rules:
- *
- * The methods return value must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
- boolean oneFailed = false;
- int foundAtLeastOne = 0;
- try {
- if(descriptor.getHomeClassName() == null || "".equals(descriptor.getHomeClassName())) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- " [ {0} ] does not have a remote home interface. ",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class rc = Class.forName(descriptor.getHomeClassName(), false, jcl);
-
- Class methodReturnType;
- boolean homeMethodFound = false;
- boolean isLegalRMIIIOPReturn = false;
- for (Method remoteMethod : rc.getMethods()) {
-
- // we don't test the EJB methods
- if (remoteMethod.getDeclaringClass().getName().equals("jakarta.ejb.EJBHome"))
- continue;
- if (remoteMethod.getName().startsWith("create") ||
- remoteMethod.getName().startsWith("find") ||
- remoteMethod.getName().startsWith("remove"))
- continue;
-
- // reset flags from last time thru loop
- Class c = Class.forName(descriptor.getEjbClassName(), false, jcl);
- // start do while loop here....
- do {
-
- for (Method method : c.getDeclaredMethods()) {
-
- // reset flags from last time thru loop
- homeMethodFound = false;
- isLegalRMIIIOPReturn = false;
- String methodName = "ejbHome" + Character.toUpperCase(remoteMethod.getName().charAt(0)) + remoteMethod.getName().substring(1);
- if (method.getName().equals(methodName)) {
- foundAtLeastOne++;
- homeMethodFound = true;
- // The methods arguments types must be legal types for
- // RMI-IIOP. This means that their return values must
- // be of valid types for RMI-IIOP,
- methodReturnType = method.getReturnType();
- if (RmiIIOPUtils.isValidRmiIIOPReturnType(methodReturnType)) {
- // this is the right return type for method
- isLegalRMIIIOPReturn = true;
- } // return valid
-
- // now display the appropriate results for this particular business
- // method
- if (homeMethodFound && isLegalRMIIIOPReturn ) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares ejbHome<METHOD> method [ {1} ] with valid RMI-IIOP return type.",
- new Object[] {descriptor.getEjbClassName(),method.getName()}));
- } else if (homeMethodFound && !isLegalRMIIIOPReturn) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: ejbHome<METHOD> method [ {0} ] was found, but ejbHome<METHOD> method has illegal return value. ejbHome<METHOD> methods return type must be legal types for RMI-IIOP.",
- new Object[] {method.getName()}));
- }
- }
- }
- if (oneFailed == true)
- break;
- } while (((c = c.getSuperclass()) != null) && (!homeMethodFound));
- }
- if (foundAtLeastOne == 0) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- " [ {0} ] does not declare any ejbHome<METHOD> methods. ",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].",
- new Object[] {descriptor.getRemoteClassName(),descriptor.getEjbClassName(),descriptor.getName()}));
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (foundAtLeastOne == 0) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- return result;
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean or {2} bean, but called with {3}.",
- new Object[] {getClass(),"Session","Entity",descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodTest.java
deleted file mode 100644
index 32b60be..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/HomeMethodTest.java
+++ /dev/null
@@ -1,151 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Iterator;
-import java.util.Vector;
-
-/**
- * Superclass for all Home methods tests.
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class HomeMethodTest extends EjbTest {
-
- /** Method tells the name of the home interface class that called this test
- */
- abstract protected String getHomeInterfaceName(EjbDescriptor descriptor);
- abstract protected String getSuperInterface();
-
- /** <p>
- * run an individual home method test
- * </p>
- * @param descriptor the deployment descriptor for the entity bean
- * @param result the result object
- * @param m the mehtod to test
- */
-
- abstract protected void runIndividualHomeMethodTest( Method m,EjbDescriptor descriptor, Result result);
-
- /**
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if(getHomeInterfaceName(descriptor) == null || "".equals(getHomeInterfaceName(descriptor))){
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
- boolean homeMethodFound = false;
-
- try {
- // retrieve the remote interface methods
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class homeInterfaceClass = Class.forName(getClassName(descriptor), false, jcl);
-
- Vector<Method> v = new Vector<Method>();
-
- while (homeInterfaceClass != null &&
- !homeInterfaceClass.getName().equals(getSuperInterface()) &&
- !homeInterfaceClass.getName().equals("java.lang.Object")) {
- Method [] homeInterfaceMethods = homeInterfaceClass.getDeclaredMethods();
- for (int i=0;i<homeInterfaceMethods.length;i++) {
- v.add(homeInterfaceMethods[i]);
- }
- homeInterfaceClass = homeInterfaceClass.getSuperclass();
- }
-
-
- Iterator iterator = v.iterator();
- while (iterator.hasNext()) {
- Method method = (Method) iterator.next();
- String methodName = method.getName();
- if (methodName.startsWith("create") || methodName.startsWith("find") ||
- methodName.startsWith("remove"))
- continue;
-
- Method m = getMethod(jakarta.ejb.EJBHome.class, methodName,
- method.getParameterTypes());
- if (m!=null) {
- // this is an EJBHome method...
- continue;
- }
-
- homeMethodFound = true;
-
- // if (!runIndividualHomeMethodTest( method,descriptor, result))
- // oneFailed = true;
- runIndividualHomeMethodTest( method,descriptor, result);
- if (result.getStatus() == Result.FAILED)
- break;
-
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {getClassName(descriptor),descriptor.getName()}));
- }
-
- if (!homeMethodFound) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable2",
- "Home interface [ {0} ] does not define any home methods",
- new Object[] {getClassName(descriptor)}));
- } //else {
- // result.setStatus(oneFailed?result.FAILED:Result.PASSED);
- // }
- return result;
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getHomeInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfaceClassExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfaceClassExist.java
deleted file mode 100644
index 5d0b2a6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfaceClassExist.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeInterfaceClassExist;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Home Interface test.
- * Verify that the bean home interface class exist and is loadable.
- * @author Sheetal Vartak
- */
-public class LocalHomeInterfaceClassExist extends HomeInterfaceClassExist {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalHomeClassName();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfaceExtendsEJBLocalHome.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfaceExtendsEJBLocalHome.java
deleted file mode 100644
index e60c051..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfaceExtendsEJBLocalHome.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeInterfaceExtendsRightInterface;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Extends the EJBHome Interface test.
- * All enterprise beans home interface's must extend the EJBHome interface.
- * @author Sheetal Vartak
- */
-public class LocalHomeInterfaceExtendsEJBLocalHome extends HomeInterfaceExtendsRightInterface {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalHomeClassName();
- }
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBLocalHome";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfacePublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfacePublic.java
deleted file mode 100644
index aef38ca..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeInterfacePublic.java
+++ /dev/null
@@ -1,32 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeInterfacePublic;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * All enterprise beans home interface's must be declared as public.
- * @author Sheetal Vartak
- */
-public class LocalHomeInterfacePublic extends HomeInterfacePublic {
-
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalHomeClassName();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeMethodModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeMethodModifiers.java
deleted file mode 100644
index c7301ab..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeMethodModifiers.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodModifiers;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Home methods must be public and not static
- *
- * @author Sheetal Vartak
- * @version
- */
-public class LocalHomeMethodModifiers extends HomeMethodModifiers {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalHomeClassName();
- }
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBLocalHome";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeMethodNameMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeMethodNameMatch.java
deleted file mode 100644
index eea8269..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/localhomeintf/LocalHomeMethodNameMatch.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodNameMatch;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * For each method defined in the home interface, there must be a matching
- * method in the enterprise Bean's class prefixed with ejbHome.
- *
- * @author Sheetal Vartak
- * @version
- */
-public class LocalHomeMethodNameMatch extends HomeMethodNameMatch {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalHomeClassName();
- }
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBLocalHome";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceClassExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceClassExist.java
deleted file mode 100644
index cb15fd5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceClassExist.java
+++ /dev/null
@@ -1,34 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeInterfaceClassExist;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-
-/**
- * Home Interface test.
- * Verify that the bean home interface class exist and is loadable.
- * @author Sheetal Vartak
- */
-public class RemoteHomeInterfaceClassExist extends HomeInterfaceClassExist {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getHomeClassName();
- }
-
- }
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceExtendsEJBHome.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceExtendsEJBHome.java
deleted file mode 100644
index 73e2b75..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceExtendsEJBHome.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeInterfaceExtendsRightInterface;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Extends the EJBHome Interface test.
- * All enterprise beans home interface's must extend the EJBHome interface.
- * @author Sheetal Vartak
- */
-public class RemoteHomeInterfaceExtendsEJBHome extends HomeInterfaceExtendsRightInterface {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getHomeClassName();
- }
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBHome";
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfacePublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfacePublic.java
deleted file mode 100644
index 3ae1259..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfacePublic.java
+++ /dev/null
@@ -1,31 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeInterfacePublic;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * All enterprise beans home interface's must be declared as public.
- * @author Sheetal Vartak
- */
-public class RemoteHomeInterfacePublic extends HomeInterfacePublic {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getHomeClassName();
- }
- }
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOP.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOP.java
deleted file mode 100644
index 2095ddb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOP.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-/**
- * Home Interface follows the standard rules for RMI-IIOP remote interfaces
- * test.
- *
- * All enterprise beans home interface's must follow the standard rules
- * for RMI-IIOP remote interfaces.
- */
-public class RemoteHomeInterfaceRmiIIOP extends EjbTest implements EjbCheck {
-
-
- /**
- * Home Interface follows the standard rules for RMI-IIOP remote interfaces
- * test.
- *
- * All enterprise beans home interface's must follow the standard rules
- * for RMI-IIOP remote interfaces.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if(descriptor.getHomeClassName() == null || "".equals(descriptor.getHomeClassName())) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class c = Class.forName(descriptor.getHomeClassName(), false, jcl);
-
- // remote interface must be defined as valid Rmi-IIOP remote interface
- boolean isValidRmiIIOPInterface = false;
- if (RmiIIOPUtils.isValidRmiIIOPInterface(c) && RmiIIOPUtils.isValidRmiIIOPInterfaceMethods(c)) {
- isValidRmiIIOPInterface = true;
- }
-
- // remote interface must be defined as valid Rmi-IIOP remote interface
- if (!isValidRmiIIOPInterface){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not defined as valid RMI-IIOP remote interface. All enterprise beans home interfaces must be defined as valid RMI-IIOP remote interface. [ {1} ] is not a valid remote home interface.",
- new Object[] {descriptor.getHomeClassName(),descriptor.getHomeClassName()}));
- } else {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares the home interface as valid RMI-IIOP remote interface.",
- new Object[] {descriptor.getHomeClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getHomeClassName()}));
- }
- return result;
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean or {2} bean, but called with {3}.",
- new Object[] {getClass(),"Session","Entity",descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPArgs.java
deleted file mode 100644
index a84591b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPArgs.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise beans home interface test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their arguments must be of valid types for RMI-IIOP
- *
- */
-public class RemoteHomeInterfaceRmiIIOPArgs extends HomeMethodTest {
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * local interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- */
- protected void runIndividualHomeMethodTest(Method method,EjbDescriptor descriptor, Result result) {
-
- Class[] methodParameterTypes = method.getParameterTypes();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- // The methods arguments types must be legal types for
- // RMI-IIOP. This means that their arguments
- // must be of valid types for RMI-IIOP,
- if (RmiIIOPUtils.isValidRmiIIOPParameters(methodParameterTypes)) {
- // these method parameters are valid, continue
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares method with valid RMI-IIOP parameter.",
- new Object[] {method.getDeclaringClass().getName()}));
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] method was found, but does not have valid RMI-IIOP " +
- "method parameters.",
- new Object[] {method.getName()}));
- }
- }
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return "remote";
- }
-
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBHome";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPException.java
deleted file mode 100644
index 8b810bd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPException.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise beans home interface methods exceptions RMI-IIOP test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their throws clause must include the
- * java.rmi.RemoteException.
- *
- */
-public class RemoteHomeInterfaceRmiIIOPException extends HomeMethodTest {
-
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * remote interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- */
- protected void runIndividualHomeMethodTest( Method method,EjbDescriptor descriptor, Result result) {
-
- Class[] methodExceptionTypes = method.getExceptionTypes();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // The methods arguments types must be legal types for
- // RMI-IIOP. This means that their exception values must
- // throw java.rmi.RemoteException
- // methods must also throw java.rmi.RemoteException
- if (RmiIIOPUtils.isValidRmiIIOPException(methodExceptionTypes)) {
- // this is the right exception for method, throws RemoteException
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] method properly throws java.rmi.RemoteException.",
- new Object[] {method.getName()}));
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] method was found, but does not properly throw " +
- "java.rmi.RemoteException.",
- new Object[] {method.getName()}));
- }
- }
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return "remote";
- }
-
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBHome";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPReturn.java
deleted file mode 100644
index ebaa5cf..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceRmiIIOPReturn.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Enterprise beans home interface methods return type RMI-IIOP test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their return values must be of valid types for RMI-IIOP.
- *
- */
-public class RemoteHomeInterfaceRmiIIOPReturn extends HomeMethodTest {
-
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * remote interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- */
- protected void runIndividualHomeMethodTest( Method method,EjbDescriptor descriptor, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Class methodReturnType = method.getReturnType();
-
- // The methods arguments types must be legal types for
- // RMI-IIOP. This means that their return values must
- // be of valid types for RMI-IIOP,
- if (RmiIIOPUtils.isValidRmiIIOPReturnType(methodReturnType)) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares method with valid RMI-IIOP return type.",
- new Object[] {method.getDeclaringClass().getName()}));
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] method was found, but does not have valid " +
- "RMI-IIOP return type.",
- new Object[] {method.getName()}));
- }
- }
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return "remote";
- }
-
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBHome";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceSuperInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceSuperInterface.java
deleted file mode 100644
index 03ffcf8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeInterfaceSuperInterface.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Enterprise beans home interface test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote
- * interfaces.
- */
-public class RemoteHomeInterfaceSuperInterface extends EjbTest implements EjbCheck {
-
- /**
- * Enterprise beans home interface test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * The home interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote
- * interfaces.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if(descriptor.getHomeClassName() == null || "".equals(descriptor.getHomeClassName())){
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
-
- if ((descriptor instanceof EjbSessionDescriptor) ||
- (descriptor instanceof EjbEntityDescriptor)) {
-
- boolean oneFailed = false;
- boolean ok = false;
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class c = Class.forName(descriptor.getHomeClassName(), false, jcl);
- Class remote = c;
- boolean validHomeInterface = false;
- // walk up the class tree
- do {
- Class[] interfaces = c.getInterfaces();
- if ( interfaces.length == 0 ) {
- ok = true;
- }
- for (Class intf: interfaces) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {intf.getName()});
-
- // check to see that interface is a valid RMI-IIOP interface
- // requirement is met if one superinterface complies.
- if (!ok) {
- ok = RmiIIOPUtils.isValidRmiIIOPInterface(intf);
- }
-
- if (RmiIIOPUtils.isValidRmiIIOPInterfaceMethods(intf)) {
- // this interface is valid, continue
- if (intf.getName().equals("jakarta.ejb.EJBHome")) {
- validHomeInterface = true;
- break;
- }
- } else {
- // before you determine if this is EJBHome interface, and break
- // out of loop, report status of SuperInterface
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly conform to " +
- "rules of RMI-IIOP for superinterfaces. All " +
- "enterprise beans home interfaces are allowed " +
- "to have superinterfaces that conform to the " +
- "rules of RMI-IIOP for superinterfaces . [ {1} ] " +
- "is not a valid home interface.",
- new Object[] {intf.getName(),descriptor.getHomeClassName()}));
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validHomeInterface)));
- // check that superinterface check was a success
- if ( !ok ) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly conform to rules of " +
- "RMI-IIOP for superinterfaces. All enterprise beans " +
- "home interfaces are allowed to have superinterfaces " +
- "that conform to the rules of RMI-IIOP for superinterfaces . " +
- " [{1} ] is not a valid home interface.",
- new Object[] {remote.getName(),descriptor.getHomeClassName()}));
- }
-
-
- //
- if (validHomeInterface) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly conforms to rules of RMI-IIOP for superinterfaces.",
- new Object[] {descriptor.getHomeClassName()}));
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not " +
- "loadable within bean [ {1} ]",
- new Object[] {descriptor.getHomeClassName(), descriptor.getName()}));
- oneFailed = true;
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean or {2} bean, but called with {3}.",
- new Object[] {getClass(),"Session","Entity",descriptor.getName()}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeMethodModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeMethodModifiers.java
deleted file mode 100644
index 1bd763e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeMethodModifiers.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodModifiers;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Home methods must be public and not static
- *
- * @author Jerome Dochez
- * @version
- */
-public class RemoteHomeMethodModifiers extends HomeMethodModifiers {
-
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getHomeClassName();
- }
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBHome";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeMethodNameMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeMethodNameMatch.java
deleted file mode 100644
index 9f39652..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/homeintf/remotehomeintf/RemoteHomeMethodNameMatch.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodNameMatch;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * For each method defined in the home interface, there must be a matching
- * method in the enterprise Bean's class prefixed with ejbHome.
- *
- * @author Jerome Dochez
- * @version
- */
-public class RemoteHomeMethodNameMatch extends HomeMethodNameMatch {
- protected String getHomeInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getHomeClassName();
- }
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBHome";
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/ExtendsRightInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/ExtendsRightInterface.java
deleted file mode 100644
index e781620..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/ExtendsRightInterface.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-/**
- * Remote interfaces extend the EJBObject interface test. Local interfaces extend
- * the EJBLocalObject interface test.
- * All enterprise beans remote interfaces must extend the EJBObject interface
- * and/or local interfaces must extend the EJBLocalObject interface.
- *
- * @author Sheetal Vartak
- */
-abstract public class ExtendsRightInterface extends EjbTest implements EjbCheck {
- /**
- * Following 3 methods are used to determine whether this method is being called by
- * local/remote interface.
- */
- abstract protected String getInterfaceName(EjbDescriptor descriptor);
- abstract protected String getSuperInterface();
- abstract protected String getInterfaceType();
-
- /**
- * local interfaces extend the EJBLocalObject interface and remote interfaces
- * extend the EJBObject interface test.
- * All enterprise beans remote interfaces must extend the EJBObject interface
- * and/or local interfaces must extend the EJBLocalObject interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String str = null;
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
-
- if(getInterfaceName(descriptor) == null || "".equals(getInterfaceName(descriptor))) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceTest.notApplicable",
- "Not Applicable because, EJB [ {0} ] does not have {1} Interface.",
- new Object[] {descriptor.getEjbClassName(), getInterfaceType()}));
- return result;
- }
-
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class c = Class.forName(getClassName(descriptor), false, jcl);
- str = getSuperInterface();
-
- if (isImplementorOf(c, str)) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] " + getInterfaceType() +" interface properly extends the" + str + " interface.",
- new Object[] {getClassName(descriptor)}));
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly extend the EJBObject interface. "+
- " All enterprise bean" + getInterfaceType() + " interfaces must extend the" + str + " interface."+
- " [ {1} ] is not a valid "+ getInterfaceType() + "interface within bean [ {2} ]",
- new Object[] {getClassName(descriptor),getClassName(descriptor),descriptor.getName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {getClassName(descriptor)}));
- }
- return result;
- }
- //get the interface class name
- private String getClassName(EjbDescriptor descriptor) {
- return getInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceClassExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceClassExist.java
deleted file mode 100644
index 3c90b70..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceClassExist.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-/**
- * Interface test.
- * Verify that the bean local or remote interface class exist and is loadable.
- */
-abstract public class InterfaceClassExist extends EjbTest implements EjbCheck {
-
-
- /**
- * Following 2 methods are used to determine whether this method is being called by
- * local/remote interface.
- */
- abstract protected String getInterfaceName(EjbDescriptor descriptor);
- abstract protected String getInterfaceType();
-
- /**
- * Local Interface test.
- * Verify that the bean remote or local interface class exist and is loadable.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
-
- if(getInterfaceName(descriptor) == null || "".equals(getInterfaceName(descriptor))){
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist.notApplicable2",
- "Not Applicable because, EJB [ {0} ] does not have {1} Interface.",
- new Object[] {descriptor.getEjbClassName(), getInterfaceType()}));
- return result;
- }
-
- // verify that the local or remote interface class exist and is loadable
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class c = Class.forName(getClassName(descriptor), false, jcl);
- if(!c.isInterface()) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist.failed",
- "[ {0} ] is defined as a class. It should be an interface.",
- new Object[] {getClassName(descriptor)}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: "+ getInterfaceType() +" interface [ {0} ] does not exist or is not loadable.",
- new Object[] {getClassName(descriptor)}));
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- getInterfaceType() + " interface [ {0} ] exist and is loadable.",
- new Object[] {getClassName(descriptor)}));
- }
- return result;
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodArgs.java
deleted file mode 100644
index a3fd641..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodArgs.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.logging.Level;
-
-/**
- * Local or remote interface/business matching methods return type test.
- * Verify the following:
- *
- * For each method defined in the local or remote interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . The same number and types of arguments
- */
-abstract public class InterfaceMatchMethodArgs extends InterfaceMethodTest {
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * local interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- * @return true if the test passes
- */
- protected boolean runIndividualMethodTest(EjbDescriptor descriptor,
- Method method,
- Result result) {
-
- boolean businessMethodFound, signaturesMatch;
- ComponentNameConstructor compName = null;
-
- try {
- compName = getVerifierContext().getComponentNameConstructor();
- // retrieve the EJB Class Methods
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, jcl);
- Class[] methodParameterTypes = method.getParameterTypes();
-
- // start do while loop here....
- do {
- // try and find the business method in the EJB Class Methods
- businessMethodFound = false;
- signaturesMatch = false;
- for (Method businessMethod : EJBClass.getDeclaredMethods()) {
- if (method.getName().equals(businessMethod.getName())) {
- businessMethodFound = true;
- // check the rest of the signature
- Class[] businessMethodParameterTypes = businessMethod.getParameterTypes();
- if (Arrays.equals(methodParameterTypes,businessMethodParameterTypes)) {
- signaturesMatch = true;
- break;
- } // if the bean & local/remote interface method param values match
- } else {
- continue;
-
- } // if the bean & local/remote interface method match
- } // for all the bean class business methods
-
- // now display the appropriate results for this particular business
- // method
- if (businessMethodFound && signaturesMatch) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding business method with a matching " +
- "parameters was found."));
- return true;
- } else if (businessMethodFound && !signaturesMatch) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {method.getDeclaringClass().getName(),method.getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug3",
- new Object[] {method.getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug2");
- }
-
- } while (((EJBClass = EJBClass.getSuperclass()) != null) &&
- (!(businessMethodFound && signaturesMatch)));
-
-
- if (!signaturesMatch) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding business method with matching " +
- "arguments was found for method [ {0} ].",
- new Object[] {method.getName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: "+getInterfaceType()+" interface [ {0} ] does not " +
- "exist or is not loadable within bean [ {1} ]",
- new Object[] {getClassName(descriptor),descriptor.getName()}));
- }
- return false;
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodException.java
deleted file mode 100644
index 1d28b69..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodException.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.logging.Level;
-
-/**
- * Local/remote interface/business matching methods exceptions test.
- * Verify the following:
- *
- * For each method defined in the local/remote interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . All the exceptions defined in the throws clause of the matching method
- * of the enterprise Bean class must be defined in the throws clause of
- * the method of the local/remote interface.
- */
-abstract public class InterfaceMatchMethodException extends InterfaceMethodTest {
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * local/remote interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- * @return true if the test passes
- */
-
- protected boolean runIndividualMethodTest(EjbDescriptor descriptor, Method method, Result result) {
-
- boolean businessMethodFound, exceptionsMatch;
- ComponentNameConstructor compName = null;
-
- try {
- compName = getVerifierContext().getComponentNameConstructor();
- // retrieve the EJB Class Methods
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, jcl);
- Class[] methodExceptionTypes = method.getExceptionTypes();
-
- // start do while loop here....
- do {
- Method [] businessMethods = EJBClass.getDeclaredMethods();
-
- // try and find the business method in the EJB Class Methods
- businessMethodFound = false;
- exceptionsMatch = false;
- for (Method businessMethod : businessMethods) {
- if (method.getName().equals(businessMethod.getName())) {
- businessMethodFound = true;
- // check the rest of the exceptions
- Class[] businessMethodExceptionTypes = businessMethod.getExceptionTypes();
- if (RmiIIOPUtils.isEjbFindMethodExceptionsSubsetOfFindMethodExceptions(businessMethodExceptionTypes,methodExceptionTypes)) {
- exceptionsMatch = true;
- break;
- } // if the bean & local interface method exceptions match
- } else {
- continue;
- }
- } // for all the bean class business methods
-
- // now display the appropriate results for this particular business
- // method
- if (businessMethodFound && exceptionsMatch) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding business method with matching " +
- "exceptions was found."));
- return true;
- } else if (businessMethodFound && !exceptionsMatch) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {method.getDeclaringClass().getName(),method.getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug3",
- new Object[] {method.getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug2");
- }
-
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!(businessMethodFound && exceptionsMatch)));
-
-
- if (!exceptionsMatch) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding business method with matching exceptions was found for method [ {0} ].",
- new Object[] {method.getName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: "+ getInterfaceType() +"interface [ {0} ] does not " +
- "exist or is not loadable within bean [ {1} ]",
- new Object[] {getClassName(descriptor),descriptor.getName()}));
- }
- return false;
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodReturn.java
deleted file mode 100644
index a1fffd7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMatchMethodReturn.java
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.logging.Level;
-
-/**
- * Local or remote interface/business matching methods return type test.
- * Verify the following:
- *
- * For each method defined in the local or remote interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . The same return type.
- */
-abstract public class InterfaceMatchMethodReturn extends InterfaceMethodTest {
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * local/remote interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- * @return true if the test passes
- */
- protected boolean runIndividualMethodTest(EjbDescriptor descriptor, Method method, Result result) {
-
- boolean businessMethodFound, returnMatch;
- ComponentNameConstructor compName = null;
-
- try {
- compName = getVerifierContext().getComponentNameConstructor();
- Class methodReturnType = method.getReturnType();
- // retrieve the EJB Class Methods
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, jcl);
-
- // start do while loop here....
- do {
- Method [] businessMethods = EJBClass.getDeclaredMethods();
-
- // try and find the business method in the EJB Class Methods
- businessMethodFound = false;
- returnMatch = false;
- for (Method businessMethod : businessMethods) {
- if (method.getName().equals(businessMethod.getName())) {
- businessMethodFound = true;
- Class businessMethodReturnType = businessMethod.getReturnType();
- if (methodReturnType.equals(businessMethodReturnType)) {
- returnMatch = true;
- break;
- } // if the bean & local/remote interface method return value matches
- } else {
- continue;
-
- } // if the bean & local/remote interface method match
- } // for all the bean class business methods
-
- // now display the appropriate results for this particular business
- // method
- if (businessMethodFound && returnMatch) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding business method with a matching " +
- "return type was found."));
- return true;
- } else if(businessMethodFound && !returnMatch) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {method.getDeclaringClass().getName(),method.getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug3",
- new Object[] {method.getName()});
- logger.log(Level.FINE, getClass().getName() + ".debug2");
- }
-
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!(businessMethodFound && returnMatch)));
-
-
- if (!returnMatch) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding business method with matching " +
- "return type was found for method [ {0} ].",
- new Object[] {method.getName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: "+ getInterfaceType() +"interface [ {0} ] does not " +
- "exist or is not loadable within bean [ {1} ]",
- new Object[] {getClassName(descriptor),descriptor.getName()}));
- }
-
- return false;
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getInterfaceName(descriptor);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMethodTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMethodTest.java
deleted file mode 100644
index 3a4957d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfaceMethodTest.java
+++ /dev/null
@@ -1,157 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-
-/**
- * Superclass for all local/remote interfaces method testing.
- *
- */
-abstract public class InterfaceMethodTest extends EjbTest {
-
- static String[] EJBObjectMethods =
- { "getEJBHome", "getHandle", "getPrimaryKey",
- "isIdentical", "remove", "getEJBLocalHome",
- };
-
- /**
- * Methods to get the type of interface: local/remote and the name of the class
- */
-
- abstract protected String getInterfaceName(EjbDescriptor descriptor);
- abstract protected String getInterfaceType();
-
-
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * local or remote interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- * @return true if the test passes
- */
-
- abstract protected boolean runIndividualMethodTest(EjbDescriptor descriptor, Method method, Result result);
-
- /**
- * Run the verifier test against the local or remote interface, get all methods
- * and delegate actual testing for individual methods to the
- * runIndividualMethodTest
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
-
- if(getInterfaceName(descriptor) == null || "".equals(getInterfaceName(descriptor))){
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceTest.notApplicable",
- "Not Applicable because, EJB [ {0} ] does not have {1} Interface.",
- new Object[] {descriptor.getEjbClassName(), getInterfaceType()}));
- return result;
- }
-
- try {
-
- Arrays.sort(EJBObjectMethods);
-
- // retrieve the local/remote interface methods
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class interfaceClass = Class.forName(getClassName(descriptor), false, jcl);
-
- if (studyInterface(descriptor, interfaceClass, result)) {
- result.setStatus(Result.PASSED);
- } else {
- result.setStatus(Result.FAILED);
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: "+ getInterfaceType()+"interface [ {0} ] does not " +
- "exist or is not loadable within bean [ {1} ]",
- new Object[] {getClassName(descriptor),descriptor.getName()}));
- }
-
- return result;
- }
-
- /**
- * <p>
- * study an interface by running an individual test on each method of the
- * inteface then recursively study all the interfaces this interface extends
- * </p>
- *
- * @param descriptor the bean deployment descriptor
- * @param clazz the interface to study
- * @param result to place the results of the tests in
- * @return true if all tests passed
- */
- private boolean studyInterface(EjbDescriptor descriptor, Class clazz, Result result) {
-
- boolean allGood = true;
- Method [] interfaceMethods = clazz.getDeclaredMethods();
-
- for (Method interfaceMethod : interfaceMethods) {
- if (Arrays.binarySearch(EJBObjectMethods, interfaceMethod.getName()) < 0) {
-
- if (!runIndividualMethodTest(descriptor, interfaceMethod,result))
- allGood = false;
-
- } // if you found a business method
- } // for all local or remote interface methods for the current class
-
- // now all superinterfaces....
- for (Class intf : clazz.getInterfaces()) {
- if (!studyInterface(descriptor, intf, result))
- allGood = false;
- }
- return allGood;
- }
-
- private String getClassName(EjbDescriptor descriptor) {
- return getInterfaceName(descriptor);
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfacePublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfacePublic.java
deleted file mode 100644
index ec62bf5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/InterfacePublic.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Modifier;
-import java.util.Set;
-import java.util.logging.Level;
-
-/**
- * Declare local and remote interfaces as public interfaces test.
- * All enterprise bean local and/or remote interfaces must be declared as public.
- */
-abstract public class InterfacePublic extends EjbTest implements EjbCheck {
-
- /**
- * Methods to get the type of interface: local/remote and the name of the class
- */
-
- abstract protected Set<String> getInterfaceNames(EjbDescriptor descriptor);
-
- /**
- * Declare local and remote interfaces as public interfaces test.
- * All enterprise bean local and/or interfaces must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
- String assertionClass = "com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfacePublic";
-
- for (String intfName : getInterfaceNames(descriptor)) {
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class c = Class.forName(intfName, false, jcl);
-
- // local and remote interface must be defined as public
- if (!Modifier.isPublic(c.getModifiers())) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (assertionClass + ".failed",
- "Error: [ {0} ] is not defined as a public interface.",
- new Object[] {intfName}));
- }
- } catch (ClassNotFoundException e) {
- // ignore as it will be caught in EjbArchiveClassesLoadable
- logger.log(Level.FINER,e.getMessage(),e);
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (assertionClass + ".passed",
- "Valid public interface(s)."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/EjbLocalInterfaceExtendsEJBLocalObject.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/EjbLocalInterfaceExtendsEJBLocalObject.java
deleted file mode 100644
index 7bbb68f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/EjbLocalInterfaceExtendsEJBLocalObject.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.ExtendsRightInterface;
-import com.sun.enterprise.deployment.MethodDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Local interfaces extend the EJBLocalObject interface test.
- * All enterprise beans remote interfaces must extend the EJBObject interface and/or local interfaces must extend
- * the EJBLocalObject interface.
- * @author Sheetal Vartak
- */
-public class EjbLocalInterfaceExtendsEJBLocalObject extends ExtendsRightInterface {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalClassName();
- }
-
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBLocalObject";
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_LOCAL;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/EjbLocalInterfacePublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/EjbLocalInterfacePublic.java
deleted file mode 100644
index 746c33b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/EjbLocalInterfacePublic.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfacePublic;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Set;
-
-/**
- * Declare local interface as public interface test.
- * All enterprise bean local interfaces must be declared as public.
- * @author Sheetal Vartak
- */
-public class EjbLocalInterfacePublic extends InterfacePublic {
-
- protected Set<String> getInterfaceNames(EjbDescriptor descriptor) {
- Set<String> intfs = descriptor.getLocalBusinessClassNames();
- if(descriptor.getLocalClassName() != null)
- intfs.add(descriptor.getLocalClassName());
- return intfs;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceClassExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceClassExist.java
deleted file mode 100644
index 4718d80..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceClassExist.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Local Interface test.
- * Verify that the bean local interface class exist and is loadable.
- * @author Sheetal Vartak
- */
-public class LocalInterfaceClassExist extends InterfaceClassExist {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_LOCAL;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodArgs.java
deleted file mode 100644
index 2c9dfe8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodArgs.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceMatchMethodArgs;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Local interface/business matching methods return type test.
- * Verify the following:
- *
- * For each method defined in the local interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . The same number and types of arguments
- * @author Sheetal Vartak
- */
-public class LocalInterfaceMatchMethodArgs extends InterfaceMatchMethodArgs {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_LOCAL;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodException.java
deleted file mode 100644
index 4632a2d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceMatchMethodException;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Local interface/business matching methods exceptions test.
- * Verify the following:
- *
- * For each method defined in the local interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . All the exceptions defined in the throws clause of the matching method
- * of the enterprise Bean class must be defined in the throws clause of
- * the method of the local interface.
- * @author Sheetal Vartak
- */
-public class LocalInterfaceMatchMethodException extends InterfaceMatchMethodException {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_LOCAL;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodReturn.java
deleted file mode 100644
index 0302f98..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceMatchMethodReturn.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceMatchMethodReturn;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Remote interface/business matching methods return type test.
- * Verify the following:
- *
- * For each method defined in the local interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . The same return type.
- * @author Sheetal Vartak
- */
-public class LocalInterfaceMatchMethodReturn extends InterfaceMatchMethodReturn {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getLocalClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_LOCAL;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceRemoteException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceRemoteException.java
deleted file mode 100644
index b8377a9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/localintf/LocalInterfaceRemoteException.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * The throws clause of a home method on the local home interface may include
- * additional application-level exceptions. It must not include the
- * java.rmi.RemoteException.
- *
- * @author Vikas Awasthi
- */
-public class LocalInterfaceRemoteException extends EjbTest {
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- ClassLoader cl = getVerifierContext().getClassLoader();
- String localClassName = descriptor.getLocalHomeClassName();
- if (localClassName!=null) {
- try {
- Class localHome = Class.forName(localClassName, false, cl);
- Method[] methods = localHome.getMethods();
- for (int i = 0; i < methods.length; i++) {
- if(containsRemote(methods[i].getExceptionTypes())) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed",
- "Method [ {0} ] throws a RemoteException.",
- new Object[]{methods[i]}));
- }
-
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed1",
- "LocalHome class [ {0} ] not found.",
- new Object[]{localClassName}));
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid LocalInterface."));
- }
- return result;
- }
-
- /** returns true if one of the exceptions is RemoteException*/
- private boolean containsRemote(Class[] exceptions) {
- for (int i = 0; i < exceptions.length; i++)
- if(exceptions[i].getName().equals("java.rmi.RemoteException"))
- return true;
-
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/EjbRemoteInterfaceExtendsEJBObject.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/EjbRemoteInterfaceExtendsEJBObject.java
deleted file mode 100644
index ea444ea..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/EjbRemoteInterfaceExtendsEJBObject.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.ExtendsRightInterface;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Remote interface extends the EJBObject interface test.
- * All enterprise beans remote interfaces must extend the EJBObject interface.
- * @author Sheetal Vartak
- */
-public class EjbRemoteInterfaceExtendsEJBObject extends ExtendsRightInterface {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getSuperInterface() {
- return "jakarta.ejb.EJBObject";
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_REMOTE;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/EjbRemoteInterfacePublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/EjbRemoteInterfacePublic.java
deleted file mode 100644
index 087fe26..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/EjbRemoteInterfacePublic.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfacePublic;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Set;
-
-/**
- * Declare remote interface as public interface test.
- * All enterprise bean remote interfaces must be declared as public.
- * @author Sheetal Vartak
- */
-public class EjbRemoteInterfacePublic extends InterfacePublic {
-
- protected Set<String> getInterfaceNames(EjbDescriptor descriptor) {
- Set<String> intfs = descriptor.getRemoteBusinessClassNames();
- if(descriptor.getRemoteClassName() != null)
- intfs.add(descriptor.getRemoteClassName());
- return intfs;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceClassExist.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceClassExist.java
deleted file mode 100644
index bcef204..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceClassExist.java
+++ /dev/null
@@ -1,37 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Remote Interface test.
- * Verify that the bean remote interface class exist and is loadable.
- * @author Sheetal Vartak
- */
-public class RemoteInterfaceClassExist extends InterfaceClassExist {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_REMOTE;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodArgs.java
deleted file mode 100644
index b985b12..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodArgs.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceMatchMethodArgs;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Remote interface/business matching methods return type test.
- * Verify the following:
- *
- * For each method defined in the remote interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . The same number and types of arguments
- * @author Sheetal Vartak
- */
-public class RemoteInterfaceMatchMethodArgs extends InterfaceMatchMethodArgs {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_REMOTE;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodException.java
deleted file mode 100644
index 1b4b58d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodException.java
+++ /dev/null
@@ -1,43 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceMatchMethodException;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Remote interface/business matching methods exceptions test.
- * Verify the following:
- *
- * For each method defined in the remote interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . All the exceptions defined in the throws clause of the matching method
- * of the enterprise Bean class must be defined in the throws clause of
- * the method of the remote interface.
- * @author Sheetal Vartak
- */
-public class RemoteInterfaceMatchMethodException extends InterfaceMatchMethodException {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_REMOTE;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodReturn.java
deleted file mode 100644
index 21513d6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceMatchMethodReturn.java
+++ /dev/null
@@ -1,41 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceMatchMethodReturn;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Remote interface/business matching methods return type test.
- * Verify the following:
- *
- * For each method defined in the remote interface, there must be a matching
- * method in the enterprise Bean's class. The matching method must have:
- * . The same return type.
- * @author Sheetal Vartak
- */
-public class RemoteInterfaceMatchMethodReturn extends InterfaceMatchMethodReturn {
-
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_REMOTE;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceRmiIIOPException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceRmiIIOPException.java
deleted file mode 100644
index 341a5f4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceRmiIIOPException.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceMethodTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Remote interface business method throws clause must include the
- * java.rmi.RemoteException test.
- * Verify the following:
- *
- * The methods defined in this interface must follow the rules for RMI-IIOP.
- * This means that their throws clause must include the
- * java.rmi.RemoteException.
- *
- */
-public class RemoteInterfaceRmiIIOPException extends InterfaceMethodTest {
-
- /**
- * <p>
- * run an individual verifier test against a declared method of the
- * remote interface.
- * </p>
- *
- * @param descriptor the deployment descriptor for the bean
- * @param method the method to run the test on
- * @return true if the test passes
- */
- protected boolean runIndividualMethodTest(EjbDescriptor descriptor, Method method, Result result) {
-
- Class[] methodExceptionTypes = method.getExceptionTypes();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- // The methods arguments types must be legal types for
- // RMI-IIOP. This means that their exception values must
- // throw java.rmi.RemoteException
- // methods must also throw java.rmi.RemoteException
- if (RmiIIOPUtils.isValidRmiIIOPException(methodExceptionTypes)) {
- // this is the right exception for method, throws RemoteException
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] method properly throws java.rmi.RemoteException.",
- new Object[] {method.getName()}));
- return true;
- } else {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] method was found, but does not properly " +
- "throw java.rmi.RemoteException.",
- new Object[] {method.getName()}));
- return false;
- }
- }
- protected String getInterfaceName(EjbDescriptor descriptor) {
- return descriptor.getRemoteClassName();
- }
-
- protected String getInterfaceType() {
- return MethodDescriptor.EJB_REMOTE;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceSuperInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceSuperInterface.java
deleted file mode 100644
index 6590fd2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/intf/remoteintf/RemoteInterfaceSuperInterface.java
+++ /dev/null
@@ -1,166 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Remote interface/business methods test.
- * Verify the following:
- *
- * The remote interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote
- * interfaces.
- *
- */
-public class RemoteInterfaceSuperInterface extends EjbTest implements EjbCheck {
-
- /**
- * Remote interface/business methods test.
- * Verify the following:
- *
- * The remote interface is allowed to have superinterfaces. Use of interface
- * inheritance is subject to the RMI-IIOP rules for the definition of remote
- * interfaces.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!(descriptor instanceof EjbSessionDescriptor) &&
- !(descriptor instanceof EjbEntityDescriptor)) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1",
- "Test apply only to session or entity beans."));
- return result;
- }
-
- if(descriptor.getRemoteClassName() == null || "".equals(descriptor.getRemoteClassName())){
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceTest.notApplicable",
- "Not Applicable because, EJB [ {0} ] does not have {1} Interface.",
- new Object[] {descriptor.getEjbClassName(), "Remote"}));
-
- return result;
- }
-
-
- boolean oneFailed = false;
- try {
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class c = Class.forName(descriptor.getRemoteClassName(), false, jcl);
- Class remote = c;
- boolean validRemoteInterface = false;
- boolean ok = false;
- // walk up the class tree
- do {
- Class[] interfaces = c.getInterfaces();
- if ( interfaces.length == 0 ) {
- ok = true;
- }
- for (Class intf : interfaces) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {intf.getName()});
-
- // The remote interface is allowed to have superinterfaces. Use
- // of interface inheritance is subject to the RMI-IIOP rules for
- // the definition of remote interfaces.
- // requirement is met if one superinterface complies.
- if (!ok) {
- ok = RmiIIOPUtils.isValidRmiIIOPInterface(intf);
- }
-
- // check the methods now.
- if (RmiIIOPUtils.isValidRmiIIOPInterfaceMethods(intf)) {
- // this interface is valid, continue
- if (intf.getName().equals("jakarta.ejb.EJBObject")) {
- validRemoteInterface = true;
- break;
- }
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly conform to " +
- "rules of RMI-IIOP for superinterfaces. All " +
- "enterprise beans remote interfaces are allowed " +
- "to have superinterfaces that conform to the " +
- "rules of RMI-IIOP for superinterfaces . [ {1} ]" +
- " is not a valid remote interface.",
- new Object[] {intf.getName(),descriptor.getRemoteClassName()}));
- }
-
- }
-
- } while ((((c=c.getSuperclass()) != null) && (!validRemoteInterface)));
-
- if (!ok) { // check that one superinterface met rmiiiop requirement
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly conform to rules of " +
- "RMI-IIOP for superinterfaces. All enterprise beans " +
- "remote interfaces are allowed to have superinterfaces " +
- "that conform to the rules of RMI-IIOP for superinterfaces. " +
- " [ {1} ] is not a valid remote interface.",
- new Object[] {remote.getName(),descriptor.getRemoteClassName()}));
- }
-
- if (validRemoteInterface){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly conforms to rules of RMI-IIOP for superinterfaces.",
- new Object[] {descriptor.getRemoteClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addGoodDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Remote interface [ {0} ] does not exist or is not " +
- "loadable within bean [ {1} ]",
- new Object[] {descriptor.getRemoteClassName(),descriptor.getName()}));
- oneFailed = true;
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateExists.java
deleted file mode 100644
index 8510050..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateExists.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.lang.reflect.Method;
-
-
-/**
- * Verify that message beans implement the ejbCreate method with a void return
- * type
- *
- * @author Jerome Dochez
- * @version
- */
-public class EjbCreateExists extends MessageBeanTest {
-
- /**
- * <p>
- * @return the name of the method on the message bean this test applies to
- * </p>
- */
- protected String getMethodName() {
- return "ejbCreate";
- }
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Class mbc = loadMessageBeanClass(descriptor, result);
- if (mbc!=null) {
- Method m = getMethod(mbc, getMethodName(),null);
- if (m!=null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.passed",
- "Message-Drive bean [ {0} ] provide an {1} implementation with no argument",
- new Object[] {(descriptor).getEjbClassName(),getMethodName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.failed",
- "Error: Message-Drive bean [ {0} ] does not implement an {1} with no arguments",
- new Object[] {(descriptor).getEjbClassName(), getMethodName()}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateModifiers.java
deleted file mode 100644
index 92ebc27..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateModifiers.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-
-/**
- * Verify that message beans implement the ejbCreate method with a void return
- * type
- *
- * @author Jerome Dochez
- * @version
- */
-public class EjbCreateModifiers extends MessageBeanTest {
-
- /**
- * <p>
- * @return the name of the method on the message bean this test applies to
- * </p>
- */
- protected String getMethodName() {
- return "ejbCreate";
- }
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Class mbc = loadMessageBeanClass(descriptor, result);
- if (mbc!=null) {
- Method m = getMethod(mbc, getMethodName(),null);
- if (m!=null) {
- int modifiers = m.getModifiers();
- if (Modifier.isPublic(modifiers) && !Modifier.isStatic(modifiers) && !Modifier.isFinal(modifiers)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers.passed",
- "Message-Drive bean [ {0} ] provide an {1} implementation declared public and not static or final",
- new Object[] {(descriptor).getEjbClassName(), getMethodName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers.failed",
- "Error: Message-Drive bean [ {0} ] {1} implementation is either not public or is static or final",
- new Object[] {(descriptor).getEjbClassName(), getMethodName()}));
- }
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.failed",
- "Error: Message-Drive bean [ {0} ] does not implement an {1} with no arguments",
- new Object[] {(descriptor).getEjbClassName(), getMethodName()}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateReturnType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateReturnType.java
deleted file mode 100644
index 01a9f73..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbCreateReturnType.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.lang.reflect.Method;
-
-
-/**
- * Verify that message beans implement the ejbCreate method with a void return
- * type
- *
- * @author Jerome Dochez
- * @version
- */
-public class EjbCreateReturnType extends MessageBeanTest {
-
- /**
- * <p>
- * @return the name of the method on the message bean this test applies to
- * </p>
- */
- protected String getMethodName() {
- return "ejbCreate";
- }
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Class mbc = loadMessageBeanClass(descriptor, result);
- if (mbc!=null) {
- Method m = getMethod(mbc, getMethodName(),null);
- if (m!=null) {
- String returnType = m.getReturnType().getName();
- if ("void".equalsIgnoreCase(returnType)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.passed",
- "Message-Drive bean [ {0} ] {1} implementation has a void return type",
- new Object[] {(descriptor).getEjbClassName(),m.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.failed",
- "Error: Message-Drive bean [ {0} ] {1} return type is [ {1} ]",
- new Object[] {(descriptor).getEjbClassName(), returnType}));
- }
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.failed",
- "Error: Message-Drive bean [ {0} ] does not implement an {1} with no arguments",
- new Object[] {(descriptor).getEjbClassName(), getMethodName()}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveExists.java
deleted file mode 100644
index e5b4f03..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveExists.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-/**
- * The Message-driven bean class must define a public ejbRemove() method
- *
- * @author Jerome Dochez
- * @version
- */
-public class EjbRemoveExists extends EjbCreateExists {
-
- /**
- * <p>
- * @return the name of the method on the message bean this test applies to
- * </p>
- */
- protected String getMethodName() {
- return "ejbRemove";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveModifiers.java
deleted file mode 100644
index 6726a8f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveModifiers.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-/**
- * The Message-driven bean class must define a public ejbRemove() method
- *
- * @author Jerome Dochez
- * @version
- */
-public class EjbRemoveModifiers extends EjbCreateModifiers {
-
- /**
- * <p>
- * @return the name of the method on the message bean this test applies to
- * </p>
- */
- protected String getMethodName() {
- return "ejbRemove";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveReturnType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveReturnType.java
deleted file mode 100644
index c095bc3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/EjbRemoveReturnType.java
+++ /dev/null
@@ -1,36 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-/**
- * The Message-driven bean class must define a public ejbRemove() method with
- * a void return type
- *
- * @author Jerome Dochez
- * @version
- */
-public class EjbRemoveReturnType extends EjbCreateReturnType {
-
- /**
- * <p>
- * @return the name of the method on the message bean this test applies to
- * </p>
- */
- protected String getMethodName() {
- return "ejbRemove";
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/HasValidMessageSelector.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/HasValidMessageSelector.java
deleted file mode 100644
index b3287fc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/HasValidMessageSelector.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-
-/**
- * Verify that message beans message-selector is valid
- *
- * @author Jerome Dochez
- * @version
- */
-public class HasValidMessageSelector extends MessageBeanTest {
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String messageSelector = descriptor.getJmsMessageSelector();
- if (messageSelector != null) {
- try {
- // TODO(Sahoo): Fix me
- // I don't see IAMJmsUtil.class in v3 yet, so currently
- // this test does nothing.
-// IASJmsUtil.validateJMSSelector(messageSelector);
-// result.addGoodDetails(smh.getLocalString
-// ("tests.componentNameConstructor",
-// "For [ {0} ]",
-// new Object[] {compName.toString()}));
-// result.passed(smh.getLocalString
-// ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.failed",
-// "Message-driven bean [ {0} ] defines a valid message selector",
-// new Object[] {descriptor.getName()}));
- } catch (Exception e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.failed",
- "Error : Message-driven bean [ {0} ] defines an invalid message selector",
- new Object[] {descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.notApplicable",
- "Message-driven bean [ {0} ] does not define a message selector",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/HasValidMethodDescriptor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/HasValidMethodDescriptor.java
deleted file mode 100644
index 6672ed1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/HasValidMethodDescriptor.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/**
- * Message-driven beans with container-managed transaction demarcation must use
- * Required or NotSupported transaction attribute.
- *
- * @author Jerome Dochez
- * @version
- */
-public class HasValidMethodDescriptor extends MessageBeanTest {
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getTransactionType().equals
- (EjbDescriptor.CONTAINER_TRANSACTION_TYPE)) {
-
- // returns the Message Listener methods and "ejbTimeout" if the bean is a
- // TimedObject.
- Collection methods = descriptor.getTransactionMethodDescriptors();
-
- if (methods.size()==0) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName()+".notApplicable1",
- "Message-driven bean [ {0} ] does not define any method",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- Iterator iterator = methods.iterator();
- while(iterator.hasNext())
- {
- MethodDescriptor method = (MethodDescriptor) iterator.next();
- // if the MDB is also a TimedObject then don't check the
- // transaction attribute of ejbTimeout. The
- // timer/HasValidEjbTimeout test will check the transaction
- // attribute for ejbTimeout
-
- if( descriptor.isTimedObject() &&
- (method.getName()).equals("ejbTimeout") )
- continue;
- ContainerTransaction txAttr = descriptor.
- getContainerTransactionFor(method);
- if(txAttr == null)
- {
- if(getVerifierContext().getJavaEEVersion().compareTo(SpecVersionMapper.JavaEEVersion_5)<0) {
- // transaction attribute is not specified for method.
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed4",
- "Error : Message-driven bean [ {0} ] method definition [ {1} ] does not have a valid container transaction descriptor.",
- new Object[] {descriptor.getName(), method.getName()}));
- } // default transaction attr in EJB 3.0 is REQUIRED
- continue;
- }
- String ta = txAttr.getTransactionAttribute();
- if (ContainerTransaction.REQUIRED.equals(ta) ||
- ContainerTransaction.NOT_SUPPORTED.equals(ta)) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName()+".passed",
- "Message-driven bean [ {0} ] method definition [ {1} ] in assembly-descriptor is correct",
- new Object[] {descriptor.getName(), method.getName()}));
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed3",
- "Error : Message-driven bean [ {0} ] method definition [ {1} ] transaction attribute must be Required or NotSupported",
- new Object[] {descriptor.getName(), method.getName()}));
- }
- }
- return result;
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName()+".notApplicable2",
- "Message-driven bean [ {0} ] does not use container-managed transaction",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/ImplementsMessageDrivenBean.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/ImplementsMessageDrivenBean.java
deleted file mode 100644
index c96930a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/ImplementsMessageDrivenBean.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-
-/**
- * Verify that message beans implement the MessageDrivenBean interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class ImplementsMessageDrivenBean extends MessageBeanTest {
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- Result result = getInitializedResult();
- Class mbc = loadMessageBeanClass(descriptor, result);
- testImplementationOf(mbc, "jakarta.ejb.MessageDrivenBean", result);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/ImplementsMessageListener.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/ImplementsMessageListener.java
deleted file mode 100644
index a796029..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/ImplementsMessageListener.java
+++ /dev/null
@@ -1,51 +0,0 @@
-/*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-
-/**
- * Verify that message beans implement the MessageListener interface
- *
- * @author Jerome Dochez
- * @version
- */
-public class ImplementsMessageListener extends MessageBeanTest {
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbMessageBeanDescriptor descriptor) {
-
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Class mbc = loadMessageBeanClass(descriptor, result);
- if (descriptor.getEjbBundleDescriptor().getSpecVersion().equals("2.0"))
- testImplementationOf(mbc, jakarta.jms.MessageListener.class.getName(), result);
- else
- testImplementationOf(mbc, descriptor.getMessageListenerType(), result);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/MessageBeanTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/MessageBeanTest.java
deleted file mode 100644
index ebc889d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/MessageBeanTest.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-/**
- * Superclass for all the Message Bean tests
- *
- * @author Jerome Dochez
- * @version
- */
-abstract public class MessageBeanTest extends EjbTest {
-
- /**
- * Run a verifier test against an individual declared message
- * drive bean component
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- abstract public Result check(EjbMessageBeanDescriptor descriptor);
- ComponentNameConstructor compName = null;
-
- /**
- *
- * Container-managed persistent fields test, iterates over all declared
- * cmp fields and invoke the runIndividualCmpFieldTest nethod
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- if (descriptor instanceof EjbMessageBeanDescriptor) {
- return check((EjbMessageBeanDescriptor) descriptor);
- } else {
- Result result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageBeanTest.notApplicable",
- "Test apply only to message-driven Bean components"));
- return result;
- }
- }
-
- /**
- * <p>
- * load the declared message bean class from the archive
- * </p>
- *
- * @param descriptor deployment descriptor for the message bean
- * @param result result to use if failure
- * @return the message bean class
- */
- protected Class loadMessageBeanClass(EjbMessageBeanDescriptor descriptor, Result result) {
- try {
- compName = getVerifierContext().getComponentNameConstructor();
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- return Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.messagebean.classnotfoundexception",
- "Cannot load declared message-driven bean component [ {0} ]"));
- return null;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/MessageListenerMethodModifiers.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/MessageListenerMethodModifiers.java
deleted file mode 100644
index a439c69..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/MessageListenerMethodModifiers.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Message listener methods must not be declared as final or static.
- *
- * @author Vikas Awasthi
- */
-public class MessageListenerMethodModifiers extends MessageBeanTest {
-
- public Result check(EjbMessageBeanDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
-
- ClassLoader cl = getVerifierContext().getClassLoader();
- try {
- Class intfCls = Class.forName(descriptor.getMessageListenerType(), false, cl);
- Class ejbCls = Class.forName(descriptor.getEjbClassName(), false, cl);
- Method[] intfMethods = intfCls.getMethods();
- for (Method method : intfMethods) {
- for (Method ejbMethod : ejbCls.getMethods()) {
- // if matching method is found then check the assertion
- if (MethodUtils.methodEquals(ejbMethod, method)) {
- if(Modifier.isFinal(ejbMethod.getModifiers()) ||
- Modifier.isStatic(ejbMethod.getModifiers())) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Wrong method [ {0} ]",
- new Object[]{ejbMethod}));
- }
- break;
- }
- }// another test will report failure if listener method is not found
- }
- } catch (ClassNotFoundException e) {} // will be caught in other tests
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid message listener method(s)."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/RemoteExceptionNotThrown.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/RemoteExceptionNotThrown.java
deleted file mode 100644
index a93f4b2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/messagebean/RemoteExceptionNotThrown.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.messagebean;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Message listener methods should not throw java.rmi.RemoteException.
- * @author Vikas Awasthi
- */
-public class RemoteExceptionNotThrown extends MessageBeanTest {
-
- public Result check(EjbMessageBeanDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- ClassLoader cl = getVerifierContext().getClassLoader();
- try {
- Method[] methods = descriptor.getMessageListenerInterfaceMethods(cl);
- for (int i = 0; i < methods.length; i++) {
- if(containsRemote(methods[i].getExceptionTypes())) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed",
- "Method [ {0} ] throws RemoteException",
- new Object[] {methods[i]}));
- }
- }
- } catch (NoSuchMethodException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed1",
- "[ {0} ]", new Object[]{e.getMessage()}));
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid message listener method(s)."));
- }
- return result;
- }
-
- /** returns true if one of the exceptions is RemoteException*/
- private boolean containsRemote(Class[] exceptions) {
- for (int i = 0; i < exceptions.length; i++)
- if(exceptions[i].getName().equals("java.rmi.RemoteException"))
- return true;
-
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbCMP.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbCMP.java
deleted file mode 100644
index 1979973..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbCMP.java
+++ /dev/null
@@ -1,224 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbCMPFinder;
-
-import java.util.Iterator;
-import java.util.Map;
-import java.util.Set;
-import java.util.jar.JarFile;
-import java.util.zip.ZipEntry;
-
-
-/** ejb [0,n]
- * cmp ?
- * mapping-properties ? [String]
- * is-one-one-cmp ? [String]
- * one-one-finders ?
- * finder [1,n]
- * method-name [String]
- * query-params ? [String]
- * query-filter ? [String]
- * query-variables ? [String]
- * query-ordering ? [String]
- *
- * The cmp element describes the runtime information for a CMP enitity bean.
- * mapping-properties - The vendor specific O/R mapping file
- * is-one-one-cmp - boolean field used to identify CMP 1.1 descriptors
- * one-one-finders - The finders for CMP 1.1
- *
- * @author Irfan Ahmed
- */
-public class ASEjbCMP extends EjbTest implements EjbCheck {
-
- public boolean oneFailed = false;
- public boolean oneWarning = false;
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- try {
- if (descriptor instanceof IASEjbCMPEntityDescriptor){
-
- IASEjbCMPEntityDescriptor cmpBean = (IASEjbCMPEntityDescriptor)descriptor;
-
- String mappingProps = cmpBean.getMappingProperties();
- if(mappingProps == null){
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB cmp] : mapping-properties Element is not defined"));
- }else{
- if(mappingProps.length()==0) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB cmp] : mapping-properties field must contain a vaild non-empty value"));
- }
- else{ //4690436
-// File f = Verifier.getArchiveFile(descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri());
- JarFile jarFile = null;
- ZipEntry deploymentEntry=null;
-// try {
-// jarFile = new JarFile(f);
- if(jarFile!=null)
- deploymentEntry = jarFile.getEntry(mappingProps);
-// }catch(IOException e){}
-// finally{
-// try{ if(jarFile!=null) jarFile.close();}
-// catch(IOException e){}
-// }
-
- if(deploymentEntry !=null){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB cmp] : mapping-properties file is {0}",
- new Object[]{mappingProps}));
- }else{
- addErrorDetails(result, compName);
- //invalid entry
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB cmp] : mapping-properties field must contain a vaild non-empty value"));
- }
- }
- }
-
- try{
- boolean oneoneCmp = cmpBean.getCMPVersion()== EjbCMPEntityDescriptor.CMP_1_1;
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB cmp] : is-one-one-cmp is {0}",
- new Object[]{new Boolean(oneoneCmp)}));
- }catch(Exception ex){
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning1",
- "WARNING [AS-EJB cmp] : is-one-one-cmp Element is not defined"));
- }
-
- try{
-//EXCEPTION is thrown here as getOneOneFinders() internally uses queryPArser which is null. Exception as:
-//Apr 4, 2003 11:18:22 AM com.sun.enterprise.deployment.IASEjbCMPEntityDescriptor getOneOneFinder
- Map finders = cmpBean.getOneOneFinders();
- if(finders!=null){
- testFinders(finders,result);
- }else{
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning2",
- "WARNING [AS-EJB cmp] : one-one-finders Element is not defined"));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB cmp] : getOneOneFinders Failed.",
- new Object[]{cmpBean}));
- }
-
- if(oneFailed){
- result.setStatus(Result.FAILED);}
- else{ if(oneWarning)
- result.setStatus(Result.WARNING);}
-
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB cmp] : {0} is not a CMP Entity Bean.",
- new Object[] {descriptor.getName()}));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB cmp] Could not create descriptor Object."));
- }
- return result;
- }
-
-
- public void testFinders(Map finders, Result result) {
- try{
- Set keySet = finders.keySet();
- Iterator it = keySet.iterator();
- while (it.hasNext()){
- Object obj = it.next();
- IASEjbCMPFinder finder = (IASEjbCMPFinder)finders.get(obj);
-
- //method-name
- String methodName = finder.getMethodName();
- if(methodName.length()==0){
- oneFailed = true;
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB finder] : method-name cannot be an empty string."));
- }else{
- result.passed(smh.getLocalString(getClass().getName()+".passed2",
- "PASSED [AS-EJB finder] : method-name is {0}",
- new Object[]{methodName}));
- }
-
- //query-params
- String value = finder.getQueryParameterDeclaration();
- testQuery(value,result,"finder","query-params");
-
- //query-filter
- value = finder.getQueryFilter();
- testQuery(value,result,"finder","query-filter");
-
- //query-variables
- value = finder.getQueryVariables();
- testQuery(value,result,"finder","query-variables");
-
- //query-ordering
- value = finder.getQueryOrdering();
- testQuery(value,result,"finder","query-ordering");
- }
- }catch(Exception ex){
- oneFailed = true;
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB cmp] Could not create descriptor Object."));
- }
- }
-
- public void testQuery(String value, Result result,String parent, String child){
- if(value == null){
- oneWarning = true;
- result.warning(smh.getLocalString(getClass().getName()+".warning3",
- "WARNING [AS-EJB {0}] : {1} Element is not defined",
- new Object[]{parent,child}));
- }else{
- if(value.length()==0){
- oneFailed = true;
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED [AS-EJB {0}] : {1} cannot be an empty string",
- new Object[]{parent,child}));
- }else{
- result.passed(smh.getLocalString(getClass().getName()+".passed3",
- "PASSED [AS-EJB {0}] : {1} is/are {2}",
- new Object[]{parent, child, value}));
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbCommitOption.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbCommitOption.java
deleted file mode 100644
index 1bc1500..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbCommitOption.java
+++ /dev/null
@@ -1,74 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbExtraDescriptors;
-
-
-/**
- * @author
- */
-public class ASEjbCommitOption extends EjbTest implements EjbCheck {
-
- /**
- * @param descriptor
- * @return */
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- try{
- IASEjbExtraDescriptors iasEjbExtraDesc = descriptor.getIASEjbExtraDescriptors();
- String commitOption = iasEjbExtraDesc.getCommitOption();
- if(commitOption!=null)
- {
- if(commitOption.length()==0){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB ejb] : commit-option cannot be an empty String"));
- }else{
- if(!commitOption.equals("A") && !commitOption.equals("B") //4699329
- && !commitOption.equals("C"))
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",//4699329
- "FAILED [AS-EJB ejb] : commit-option cannot be {0}. " +
- "It must be one of A, B and "+
- "C", new Object[]{commitOption}));
- }
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] commit-option Element is not defined"));
- }
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create an descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbIORSecurityConfig.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbIORSecurityConfig.java
deleted file mode 100644
index 55b0fce..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbIORSecurityConfig.java
+++ /dev/null
@@ -1,292 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * ior-security-config ?
- * transport-config?
- * integrity [String]
- * confidentiality [String]
- * establish-trust-in-client [String]
- * establish-trust-in-target [String]
- * as-context?
- * auth-method [String]
- * realm [String]
- * required [String]
- * sas-context?
- * caller-propagation [String]
- *
- * The tag describes the security configuration for the IOR
- * @author Irfan Ahmed
- */
-public class ASEjbIORSecurityConfig extends EjbTest implements EjbCheck {
- boolean oneFailed = false;
-
- /** The function that performs the test.
- *
- * @param descriptor EjbDescriptor object representing the bean.
- */
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- int count = 0;
- try{
-// Set ejbIORConfDescSet = descriptor.getIORConfigurationDescriptors();
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config");
- if (count>0){
- for(int i=0;i<count;i++){
- testTranConfig(i, descriptor, compName, result);
- testAsContext(i, descriptor, compName, result);
- testSasContext(i, descriptor, compName, result);
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ior-security-config] : ior-security-config Element not defined"));
- }
-
- if(oneFailed)
- result.setStatus(Result.FAILED);
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
- return result;
-
- }
- /** This function tests the <transport-config> tag for valid values
- *
- * @param
- * @param result Result - The Result object
- */
- protected void testTranConfig(int i, EjbDescriptor descriptor, ComponentNameConstructor compName, Result result)
- {
- try{
- int counter = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config/transport-config");
- if (counter>0){
- //integrity
- String integrity = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/transport-config/integrity");
- if (integrity!=null){
- testMsgs(integrity,result,"transport-config","integrity", compName);
- }
-
- //confidentiality
- String confdn = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/transport-config/confidentiality");
- if (confdn!=null){
- testMsgs(confdn,result,"transport-config","confidentiality", compName);
- }
-
- //establish-trust-in-target
- String trustTarget = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/transport-config/establish-trust-in-target");
- if (trustTarget!=null){
- testMsgs1(trustTarget,result,"transport-config","extablish-trust-in-target", compName);
- }
-
- //establish-trust-in-client
- String trustClient = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/transport-config/establish-trust-in-client");
- if (trustClient!=null){
- testMsgs(trustClient,result,"transport-config","establish-trust-in-client", compName);
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB ior-security-config] : transport-config Element not defined"));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
- }
- /** The function tests the <as-context> tag for valid values
- *
- * @param
- * @param result Result object
- */
- protected void testAsContext(int i, EjbDescriptor descriptor, ComponentNameConstructor compName, Result result)
- {
- try{
- int counter = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config/as-context");
- if (counter>0){
- //auth-method
- String value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/as-context/auth-method");
- if(value==null || value.length()==0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedAsContextAuthMethod",
- "FAILED [AS-EJB as-context] : auth-method cannot be an empty string"));
- }else{
- if(value.equals("USERNAME_PASSWORD")){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passedAsContextAuthMethod",
- "PASSED [AS-EJB as-context] : auth-method is {0}", new Object[] {value}));
- }else{
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedAsContextAuthMethod1",
- "FAILED [AS-EJB as-context] : auth-method cannot be {0}. It can only be USERNAME_PASSWORD"
- ,new Object[]{value}));
- }
- }
- //realm
- value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/as-context/realm");
- if (value != null){
- if(value.length()==0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedAsContextRealm",
- "FAILED [AS-EJB as-context] : realm cannot be an empty string"));
-
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passedAsContextRealm",
- "PASSED [AS-EJB as-context] : realm is {0}", new Object[] {value}));
- }
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedAsContextRealm1",
- "FAILED [AS-EJB as-context] : realm cannot be null"));
- }
- //required
- value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/as-context/required");
- if(value==null || value.length()==0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedAsContextRequired1",
- "FAILED [AS-EJB as-context] : required cannot be an empty string"));
- }else{
- if(value.equals("true") || value.equals("false")){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passedAsContextRequired",
- "PASSED [AS-EJB as-context] : required is {0}", new Object[]{new Boolean(value)}));
- }else{
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedAsContextRequired2",
- "FAILED [AS-EJB as-context] : required cannot be {0}. It can only be USERNAME_PASSWORD"
- ,new Object[]{value}));
- }
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable2",
- "NOT APPLICABLE [AS-EJB ior-security-config] : Element not defined"));
- }
-
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
-
- }
- /**
- * @param
- * @param result */
- protected void testSasContext(int i, EjbDescriptor descriptor, ComponentNameConstructor compName, Result result)
- {
- try{
- int counter = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config/sas-context");
- if (counter>0){
- String caller = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/ior-security-config[\""+i+"\"]/sas-context/caller-propagation");
- if (caller!=null){
- testMsgs1(caller,result,"sas-context","caller-propagation", compName);
- }
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
- }
-
- private void testMsgs(String tCase, Result result, String parentElement, String testElement, ComponentNameConstructor compName)
- {
- if(tCase.length()==0)
- {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedTestMsg",
- "FAILED [AS-EJB {1}] : {2} cannot be an empty String",
- new Object[]{tCase, parentElement, testElement}));
- }
- else
- {
- if(!tCase.equals("NONE") && !tCase.equals("SUPPORTED")
- && !tCase.equals("REQUIRED"))
- {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedTestMsg1",
- "FAILED [AS-EJB {1}] : {2} cannot be {0}. It can be either NONE, SUPPORTED or REQUIRED",
- new Object[]{tCase, parentElement, testElement}));
- }
- else {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passedTestMsg",
- "PASSED [AS-EJB "+ parentElement+"] : " + testElement +" is {0}", new Object[]{tCase}));
- }
- }
- }
-
- /**
- * This method will check for values that should be either NONE or SUPPORTED
- */
- private void testMsgs1(String tCase, Result result, String parentElement, String testElement, ComponentNameConstructor compName)
- {
- if(tCase.length()==0)
- {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedTestMsg",
- "FAILED [AS-EJB {1}] : {2} cannot be an empty String",
- new Object[]{tCase, parentElement, testElement}));
- }
- else
- {
- if(!tCase.equals("NONE") && !tCase.equals("SUPPORTED"))
- {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failedTestMsg2",
- "FAILED [AS-EJB {1}] : {2} cannot be {0}. It can be either NONE or SUPPORTED.",
- new Object[]{tCase, parentElement, testElement}));
- }
- else {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passedTestMsg",
- "PASSED [AS-EJB "+ parentElement+"] : " + testElement +" is {0}", new Object[]{tCase}));
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbIsReadOnlyBean.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbIsReadOnlyBean.java
deleted file mode 100644
index ee483a8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbIsReadOnlyBean.java
+++ /dev/null
@@ -1,260 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.deployment.EjbMessageBeanDescriptor;
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbExtraDescriptors;
-
-import java.lang.reflect.Method;
-
-
-/** ejb [0,n]
- * is-read-only-bean ? [String]
- *
- * The <B>is-read-only-bean</B> should be defined for entity beans only.
- * Also the implementation should not define ant create and remove methods.
- * This is recommended and not required
- * @author Irfan Ahmed
- */
-public class ASEjbIsReadOnlyBean extends EjbTest implements EjbCheck {
-
- boolean oneFailed= false;
- boolean oneWarning = false;
-
- /**
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try{
- IASEjbExtraDescriptors iasEjbExtraDesc = descriptor.getIASEjbExtraDescriptors();
- String s1 = ("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/is-read-only-bean");
- String isReadOnlyBean = getXPathValue(s1);
- if (isReadOnlyBean!=null){
- if (isReadOnlyBean.equals(new String("true"))){
- testROBSpecific(descriptor,iasEjbExtraDesc,result);
- }else if (isReadOnlyBean.equals(new String("false"))){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB ejb] is-read-only-bean is {0}",
- new Object[]{new String(isReadOnlyBean)}));
- }else{
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB ejb] value [{0}] for is-read-only-bean is incorrect. It can only be true or false",
- new Object[]{new String(isReadOnlyBean)}));
- }
- }else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] is-read-only-bean Element not defined"));
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- else if(oneWarning)
- result.setStatus(Result.WARNING);
-
- }catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
- return result;
-
- }
-
- public void testROBSpecific(EjbDescriptor descriptor, IASEjbExtraDescriptors iasEjbExtraDesc, Result result){
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- try{
- //Read only Beans can only be Entity Beans
- if(descriptor instanceof EjbEntityDescriptor){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB ejb] : Read Only Beans can only be Entity Beans"));
- }else if(descriptor instanceof EjbSessionDescriptor){
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB ejb] : Read Only Beans cannot be Session Beans. They can only be Entity Beans"));
- return;
- }else if(descriptor instanceof EjbMessageBeanDescriptor){
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB ejb] : Read Only Beans cannot be Message Driven Beans. They can only be Entity Beans"));
- return;
- }
-
- //Only Container Managed Transactions are Allowed
- String txnType = descriptor.getTransactionType();
- if(txnType.equals(descriptor.CONTAINER_TRANSACTION_TYPE)){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed2",
- "PASSED [AS-EJB ejb] : Read Only Beans can only have Container Managed Transactions"));
- }else{
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED [AS-EJB ejb] : Read Only Beans cannot have Bean Managed Transactions"));
- }
-
- //Encourage not to have create/remove methods in Home Interface
- String homeName = descriptor.getHomeClassName();
- Class homeClass = null;
- boolean foundCreateMethod = false;
- boolean foundRemoveMethod = false;
- homeClass = getVerifierContext().getClassLoader().loadClass(homeName);
- Method methods[] = homeClass.getDeclaredMethods();
- for(int i=0;i<methods.length;i++){
- if(methods[i].getName().startsWith("create")){
- foundCreateMethod = true;
- break;
- }
- }
-
- for(int i=0;i<methods.length;i++){
- if(methods[i].getName().startsWith("remove")){
- foundRemoveMethod = true;
- break;
- }
- }
- if(foundCreateMethod){
- oneWarning = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB ejb] : Home interface [ {0} ] should have zero create Methods for Read Only Beans.",
- new Object[] {homeName}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed3",
- "PASSED [AS-EJB ejb] : Read Only Bean has zero create Methods"));
- }
-
- if(foundRemoveMethod){
- oneWarning = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString(getClass().getName()+".warning1",
- "WARNING [AS-EJB ejb] : Home interface [ {0} ] should have zero remove Methods for Read Only Beans.",
- new Object[] {homeName}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed4",
- "PASSED [AS-EJB ejb] : Read Only Bean has zero remove Methods"));
- }
-
- //Refresh Period Test
- int refreshPeriod = iasEjbExtraDesc.getRefreshPeriodInSeconds();
- if (refreshPeriod != -1){
- long refValue = new Integer(refreshPeriod).longValue();
- if(refValue <0 || refValue > Long.MAX_VALUE){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed4",
- "FAILED [AS-EJB ejb] : refresh-period-in-seconds is invalid. It should be between 0 and {0}." ,new Object[]{new Long( Long.MAX_VALUE)}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed5",
- "PASSED [AS-EJB ejb] : refresh-period-in-seconds is {0}",new Object[]{new Long(refValue)}));
- }
- }else{
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB ejb] refresh-period-in-seconds Element not defined"));
- }
-
- if(oneFailed)
- result.setStatus(Result.FAILED);
-
- } catch(ClassNotFoundException cnfe) {
- oneFailed = true;
- } catch(RuntimeException ex){
- oneFailed = true;
- }
- if (oneFailed) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJMSDurableSubscriptionName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJMSDurableSubscriptionName.java
deleted file mode 100644
index 8f25db6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJMSDurableSubscriptionName.java
+++ /dev/null
@@ -1,98 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-
-/** ejb [0,n]
- * jms-durable-subscription-name ? [String]
- *
- * The jms-durable-subscription-name is the name of a durable subscription associated
- * with a message-driven bean.
- * The name should not be a null string.
- * The value is required if destination-type is Topic
- * and subscription-durability is durable
- * @author Irfan Ahmed
- */
-public class ASEjbJMSDurableSubscriptionName extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- try{
- EjbMessageBeanDescriptor msgBeanDesc = (EjbMessageBeanDescriptor)descriptor;
- String jmsDurableName = msgBeanDesc.getDurableSubscriptionName();
- if(jmsDurableName != null){
- if(jmsDurableName.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB ejb] : jms-durable-subscription-name cannot be an empty string value"));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB ejb] : jms-durable-subscription-name is {0}", new Object[]{jmsDurableName}));
- }
- }else{
- if(descriptor instanceof EjbMessageBeanDescriptor){
- if(msgBeanDesc.hasTopicDest() && msgBeanDesc.hasDurableSubscription()){
- boolean failed = false;
- int count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter");
- if (count > 0) {
- String value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/resource-adapter-mid");
- if(value==null || value.length()==0){
- failed = true;
- }
- }
- else {
- failed = true;
- }
- if (failed) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB ejb] : jms-durable-subscription-name should be defined for an MDB with"+
- " destination type Topic and Durable subscription type"));
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : jms-durable-subscription-name element is not defined"));
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : jms-durable-subscription-name element is not defined"));
- }
- }
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJMSMaxMessagesLoad.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJMSMaxMessagesLoad.java
deleted file mode 100644
index 478dd23..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJMSMaxMessagesLoad.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbExtraDescriptors;
-
-
-/** ejb [0,n]
- * jms-max-messages-load ? [String]
- *
- * The jms-max-messages-load specifies the maximum number of messages to
- * load into a JMS Session.
- * It is valid only for MDBs
- * The value should be between 1 and MAX_INT
- * @author Irfan Ahmed
- */
-public class ASEjbJMSMaxMessagesLoad extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try{
- IASEjbExtraDescriptors iasEjbDescriptor = descriptor.getIASEjbExtraDescriptors();
- int value = iasEjbDescriptor.getJmsMaxMessagesLoad();
- Integer jmsMaxMsgs = new Integer(value);
- if (jmsMaxMsgs != null){
- if(value<1 || value>Integer.MAX_VALUE){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB ejb] : {0} is not a valid value for jms-max-messages-load. It should be " + '\n' +
- "between 0 and MAX_INT", new Object[]{new Integer(value)}));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB ejb] : jms-max-messages-load is {0}", new Object[]{jmsMaxMsgs}));
- }
- }else{
- if(descriptor instanceof EjbMessageBeanDescriptor){
- //<addition author="irfan@sun.com" [bug/rfe]-id="4724447" >
- //Change in message output ms->jms //
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB ejb] : jms-max-messages-load should be defined for MDBs"));
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : jms-max-messages-load element is not defined"));
- }
- }
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJarPublicID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJarPublicID.java
deleted file mode 100644
index 86b3544..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJarPublicID.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.deployment.xml.DTDRegistry;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.node.runtime.EjbBundleRuntimeNode;
-
-/** DOCTYPE
- *
- * The ias ejb deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of an acceptable type
- * @author Irfan Ahmed
- */
-public class ASEjbJarPublicID extends EjbTest implements EjbCheck {
-
- /**
- * Ejb PUBLIC identifier test
- * The ejb deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of "-//Sun Microsystems, Inc.//DTD Enterprise JavaBeans 1.1//EN"
- *
- * @param descriptor the Ejb deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-//EXCEPTION as descriptor.getDocType() returns null. Also how to differnetiate between sun-ejb-jar or ejb-jar DocType
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!getVerifierContext().getisXMLBasedOnSchema()){
- try{
- String acceptablePubidLiterals[] = { DTDRegistry.SUN_EJBJAR_200_DTD_PUBLIC_ID,
- DTDRegistry.SUN_EJBJAR_210_DTD_PUBLIC_ID};
- String acceptableURLs[] = {DTDRegistry.SUN_EJBJAR_200_DTD_SYSTEM_ID,
- DTDRegistry.SUN_EJBJAR_210_DTD_SYSTEM_ID};
-
- boolean foundDOCTYPE = false, foundPubid = false, foundURL = false;
- EjbBundleDescriptorImpl ejbBundleDesc = descriptor.getEjbBundleDescriptor();
- EjbBundleRuntimeNode ejbBundleRuntimeNode = new EjbBundleRuntimeNode(ejbBundleDesc);
-
- String s = ejbBundleRuntimeNode.getDocType();
- if(s != null) {
- if(s.indexOf("DOCTYPE") > -1)
- foundDOCTYPE = true;
- if(foundDOCTYPE){
- for (int i=0;i<acceptablePubidLiterals.length;i++) {
- if (s.indexOf(acceptablePubidLiterals[i]) > -1) {
- foundPubid = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "PASSED [AS-EJB ] : The Sun deployment descriptor has the proper PubidLiteral: {0}",
- new Object[] {acceptablePubidLiterals[i]}));
- }
- //check if the URLs match as well
- if (s.indexOf(acceptableURLs[i]) > -1) {
- foundURL = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-EJB] : The Sun deployment descriptor has the proper URL corresponding the the PubIdLiteral: {0}",
- new Object[] {acceptableURLs[i]}));
- }
- }
- }
- }
- if(!foundDOCTYPE){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-EJB] : No document type declaration found in the deployment descriptor for {0}",
- new Object[] {descriptor.getName()}));
- }else if(!foundPubid) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-EJB ejb] : The deployment descriptor for {0} does not have an expected PubidLiteral ",
- new Object[] {descriptor.getName()}));
- } else if (!foundURL){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor {0} doesnot have the right URL corresponding to the PubIdLiteral",
- new Object[] {descriptor.getName()}));
- }
-
-
- }catch(Exception ex){
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB cmp] Could not create descriptor Object."));
- }
- }else{
- //NOT APPLICABLE
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT-APPLICABLE: No DOCTYPE found for [ {0} ]",
- new Object[] {descriptor.getName()}));
-
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJndiName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJndiName.java
deleted file mode 100644
index 55b04b9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbJndiName.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-
-
-/** ejb [0,n]
- * jndi-name ? [String]
- *
- * The jndi-name of an ejb is valid for MDBs.
- * The jndi-name should not be an empty string.
- * @author Irfan Ahmed
- */
-public class ASEjbJndiName extends EjbTest implements EjbCheck {
-
- boolean oneFailed = false;
- boolean oneWarning = false;
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String ejbName = null, jndiName=null;
- ejbName = descriptor.getName(); //get ejb-name
- jndiName=getXPathValue("/sun-ejb-jar/enterprise-beans/ejb/jndi-name");
- if(jndiName != null){
- if(jndiName.trim().length()==0){
- check(result, descriptor, compName);
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB ejb] : jndi-name is {0}", new Object[]{jndiName}));
- }
- }else
- check(result, descriptor, compName);
-
- if(oneFailed)
- result.setStatus(Result.FAILED);
- else if(oneWarning)
- result.setStatus(Result.WARNING);
- return result;
-
- }
-
- public void check(Result result, EjbDescriptor descriptor, ComponentNameConstructor compName) {
- if(descriptor instanceof EjbMessageBeanDescriptor) {
- String mdbres = getXPathValue("sun-ejb-jar/enetrprise-beans/ejb/mdb-resource-adapter");
- if (mdbres != null) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "mdb-resource-adapter is defined for the EJB {0}", new Object[]{mdbres}));
- }else{
- oneFailed=true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString(getClass().getName()+".failed",
- "jndi-name or mdb-resource-adapter should be defined for an MDB"));
- }
- }else if(descriptor.isRemoteInterfacesSupported()) {
- /** Bug#5060283 -- It is possible to use this ejb by referencing thru' ejb-ref/ejb-link.
- * Only thing is, the accessibility of the ejb is reduced.
- * It is only accessible to other clients bundled within this ear file.
- * Hence, report a warning, instead of an error.
- */
-// oneFailed=true;
-// addErrorDetails(result, compName);
-// result.addErrorDetails(smh.getLocalString(getClass().getName()+".failed1",
-// "jndi-name should be defined for a bean implementing a remote interface"));
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName() + ".warning",
- "WARNING [AS-EJB ejb] : jndi-name is not defined for the EJB {0} although it has a remote interface.",
- new Object[]{descriptor.getName()}));
-
- }else {
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable", "NOT APPLICABLE"));
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMDBConnFactory.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMDBConnFactory.java
deleted file mode 100644
index 10f5011..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMDBConnFactory.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.deployment.ResourcePrincipal;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbMessageBeanDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbExtraDescriptors;
-import org.glassfish.ejb.deployment.descriptor.runtime.MdbConnectionFactoryDescriptor;
-
-/** ejb [0,n]
- * mdb-connection-factory ?
- * jndi-name [String]
- * default-resource-principal ?
- * name [String]
- * password [String]
- *
- * The mdb-connection-factory specifies the connection factory associated with
- * an MDB
- * @author
- */
-public class ASEjbMDBConnFactory extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- boolean oneWarn = false;
- try{
- IASEjbExtraDescriptors iasEjbExtraDesc = descriptor.getIASEjbExtraDescriptors();
- MdbConnectionFactoryDescriptor mdbConnFacDesc = iasEjbExtraDesc.getMdbConnectionFactory();
-
- if(mdbConnFacDesc != null){
- String jndiName = mdbConnFacDesc.getJndiName();
- if(jndiName == null || jndiName.length()==0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB mdb-connection-factory] : jndi-name cannot be an empty string"));
- }else{
- if(jndiName.startsWith("jms/")){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB mdb-connection-factory] : jndi-name is {0}",new Object[]{jndiName}));
- }else{
- oneWarn = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB mdb-connection-factory] : jndi-name {0} should start with jms/",
- new Object[]{jndiName}));
- }
- }
-
- ResourcePrincipal defPrinci = mdbConnFacDesc.getDefaultResourcePrincipal();
- if(defPrinci != null){
- String name = defPrinci.getName();
- if(name == null || name.length()==0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB default-resource-principal] : name cannot be an empty string"));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB default-resource-principal] : name is {0}",new Object[]{name}));
- }
-
- String password = defPrinci.getPassword();
- if(password == null || password.length()==0)
- {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning2",
- "WARNING [AS-EJB default-resource-principal] : password is an empty string"));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed2",
- "PASSED [AS-EJB default-resource-principal] : password is {0}",new Object[]{password}));
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB mdb-connection-factory] : default-resource-prncipal element is not defined"));
- }
- }else {
- if(descriptor instanceof EjbMessageBeanDescriptor){
- boolean failed = false;
- int count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter");
- if (count > 0) {
- String value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/resource-adapter-mid");
- if(value==null || value.length()==0){
- failed = true;
- }
- }
- else {
- failed = true;
- }
- if (failed) {
- EjbMessageBeanDescriptor mdbDesc = (EjbMessageBeanDescriptor)descriptor;
- if(mdbDesc.hasTopicDest() && mdbDesc.hasDurableSubscription()){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB ejb] : mdb-connection-factory has to be defined for an MDB with destination-type " +
- "as Topic and subscription-durability as Durable"));
- }
- /**
- else{
- oneWarn = true;
- result.warning(smh.getLocalString(getClass().getName()+".warning1",
- "WARNING [AS-EJB ejb] : mdb-connection-factory should be defined for a Message Driven Bean"));
- }
- **/
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB ejb] : mdb-connection-factory element is not defined"));
- }
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- else if(oneWarn)
- result.setStatus(Result.WARNING);
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB cmp] Could not create descriptor Object."));
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMDBResourceAdapter.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMDBResourceAdapter.java
deleted file mode 100644
index 08ae412..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMDBResourceAdapter.java
+++ /dev/null
@@ -1,155 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** enterprise-beans
- * ejb [1,n]
- * mdb-resource-adapter ?
- * resource-adapter-mid [String]
- * activation-config ?
- * description ? [String]
- * activation-config-property +
- * activation-config-property-name [String]
- * activation-config-property-value [String]
- *
- * This is the name of the enterprise java bean.
- * @author
- */
-public class ASEjbMDBResourceAdapter extends EjbTest implements EjbCheck {
-
- /**
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- boolean oneFailed = false;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String value=null;
- int count = 0;
- try{
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter");
- if (count>0){
- value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/resource-adapter-mid");
- if(value==null || value.length()==0){
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-EJB mdb-resource-adapter] : resource-adapter-mid cannot be empty.",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed1",
- "PASSED [AS-EJB mdb-resource-adapter] : resource-adapter-mid is {1}",
- new Object[] {descriptor.getName(),value}));
- }
- //activation-config
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config");
- if (count>0){
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config/activation-config-property");
- if (count>0){
- for (int i=1;i<=count;i++){
- value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config/activation-config-property/activation-config-property-name");
- if(value==null || value.length()==0){
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-EJB mdb-resource-adapter] : activation-config-property-name cannot be empty.",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed2",
- "PASSED [AS-EJB mdb-resource-adapter] : activation-config-property-name is {1}",
- new Object[] {descriptor.getName(),value}));
- }
-
- value = getXPathValue("sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/mdb-resource-adapter/activation-config/activation-config-property/activation-config-property-value");
- if(value==null || value.length()==0){
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-EJB mdb-resource-adapter] : activation-config-property-value cannot be empty.",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed3",
- "PASSED [AS-EJB mdb-resource-adapter] : activation-config-property-value is {1}",
- new Object[] {descriptor.getName(),value}));
- }
- }
- }else{
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed4",
- "FAILED [AS-EJB mdb-resource-adapter] : activation-config-property is not defined",
- new Object[] {descriptor.getName()}));
- }
- }
- }else{
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : mdb-resource-adapter is not defined."));
- }
- }catch(Exception ex){
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create descriptor object"));
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMessageDestination.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMessageDestination.java
deleted file mode 100644
index c76ee96..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbMessageDestination.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** message-destination
- * message-destination-name
- * jndi-name
- */
-
-public class ASEjbMessageDestination extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- String messageDestinationName=null;
- String jndiName=null;
- int count = 0;
- try{
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/message-destination");
- if (count>0){
- for(int i=0;i<count;i++){
- messageDestinationName = getXPathValue("sun-ejb-jar/enterprise-beans/message-destination/message-destination-name");
- jndiName = getXPathValue("sun-ejb-jar/enterprise-beans/message-destination/jndi-name");
-
- if(messageDestinationName==null || messageDestinationName.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-EJB message-destination] : message-destination-name cannot be an empty string",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed1",
- "PASSED [AS-EJB message-destination] : message-destination-name is {1}",
- new Object[] {descriptor.getName(),messageDestinationName}));
- }
-
- if(jndiName==null || jndiName.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-EJB message-destination] : jndi-name cannot be an empty string",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed2",
- "PASSED [AS-EJB message-destination] : jndi-name is {1}",
- new Object[] {descriptor.getName(),jndiName}));
- }
- }
- }else{
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB message-destination] : message-destination Element not defined"));
- }
-
-
- }catch(Exception ex){
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-EJB message-destination] could not create the servlet object"));
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbName.java
deleted file mode 100644
index 1e4d1df..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbName.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [1,n]
- * name [String]
- *
- * This is the name of the enterprise java bean.
- * @author
- */
-public class ASEjbName extends EjbTest implements EjbCheck {
-
- /**
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- boolean oneFailed = false;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- try{
- String ejbName = descriptor.getName();
- if(ejbName.length()==0){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "failed [AS-EJB ejb] : ejb-name cannot not be empty. It should be a valid ejb-name as defined in ejb-jar.xml"));
- } else {
- EjbDescriptor testDesc = descriptor.getEjbBundleDescriptor().getEjbByName(ejbName);
- if(testDesc!=null && testDesc.getName().equals(ejbName))
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "PASSED [AS-EJB ejb] : ejb-name is {0} and verified with ejb-jar.xml",
- new Object[] {ejbName}));
- }
- else
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName() + ".failed1",
- "FAILED [AS-EJB ejb] : ejb-name {0} is not found in ejb-jar.xml. It should exist in ejb-jar.xml also.",
- new Object[] {ejbName}));
- }
- }
- } catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbPrincipal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbPrincipal.java
deleted file mode 100644
index 5c7f31c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbPrincipal.java
+++ /dev/null
@@ -1,78 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.deployment.RunAsIdentityDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * principal ?
- * name [String]
- *
- * The principal tag defines a username on the platform
- * @author Irfan Ahmed
- */
-public class ASEjbPrincipal extends EjbTest implements EjbCheck {
-
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- try{
- if (descriptor.getUsesCallerIdentity() == false){
- RunAsIdentityDescriptor runAsIdDesc = descriptor.getRunAsIdentity();
- if (runAsIdDesc != null){
- String principal = runAsIdDesc.getPrincipal();
- if (principal == null){
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : principal element not defined"));
- }else{
- if(principal.length()==0){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB principal] : name cannot be an empty String"));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB principal] : name is {0}", new Object[]{principal}));
- }
- }
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] run-as Element is not defined"));
- }
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create an SunEjbJar object"));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbRef.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbRef.java
deleted file mode 100644
index 4c543ac..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbRef.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/** ejb [0,n]
- * ejb-ref [0,n]
- * ejb-ref-name [String]
- * jndi-name [String]
- *
- * The ejb-ref is root element that binds and ejb reference to a jndi-name.
- * The ejb-ref-name should have an entry in the ejb-jar.xml
- * The jdi-name should not be empty. It shoudl start with ejb/
- * @author
- */
-
-public class ASEjbRef extends EjbTest implements EjbCheck {
-
- /**
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String ejbName = null, jndiName=null;
- boolean oneFailed = false;
- boolean notApplicable = false;
- boolean oneWarning = false;
-
- try{
- ejbName = descriptor.getName();
- Set ejbRefs = descriptor.getEjbReferenceDescriptors();
- if (ejbRefs.size()>0){
- Iterator it = ejbRefs.iterator();
- while(it.hasNext()){
- EjbReferenceDescriptor desc = ((EjbReferenceDescriptor)it.next());
- String refJndiName=getXPathValue("/sun-ejb-jar/enterprise-beans/ejb/ejb-ref[ejb-ref-name=\""+desc.getName()+"\"]/jndi-name");
- String refName = desc.getName();
- String type = desc.getType();
- if(!desc.isLocal()){
- if (type == null || !( (type.equals(EjbSessionDescriptor.TYPE) || type.equals(EjbEntityDescriptor.TYPE))) ){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName() + ".failed1",
- "FAILED [AS-EJB ejb-ref] ejb-ref-name has an invalid type in ejb-jar.xml." +
- " Type should be Session or Entity only"));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName() + ".passed2",
- "PASSED [AS-EJB ejb-ref] ejb-ref-name [{0}] is valid",
- new Object[]{refName}));
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} Does not define any ejb references",
- new Object[] {ejbName}));
- return result;
- }
-
- if (refJndiName != null){
- if(refJndiName.length()==0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-EJB ejb-ref] : jndi-name cannot be an empty string",
- new Object[] {refName}));
- }else{
- if (!refJndiName.startsWith("ejb/")){
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "WARNING [AS-EJB ejb-ref] JNDI name should start with ejb/ for an ejb reference",
- new Object[] {refName}));
- }
- }
- }else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-EJB ejb-ref] : jndi-name cannot be an empty string",
- new Object[] {refName}));
- }
-
- if (!oneFailed){
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString(
- getClass().getName() + ".passed1",
- "PASSED [AS-EJB ejb-ref] : ejb-ref-Name is {0} and jndi-name is {1}",
- new Object[] {refName,refJndiName}));
- }
- }
-
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} Does not define any ejb references",
- new Object[] {ejbName}));
- return result;
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create descriptor object"));
- return result;
- }
-
- if (oneFailed)
- {
- result.setStatus(Result.FAILED);
- }
- else if(oneWarning)
- {
- result.setStatus(Result.WARNING);
- }
- else
- {
- addErrorDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-EJB] : {0} ejb refernce is verified",
- new Object[] {ejbName, jndiName}));
- }
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbRefreshPeriod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbRefreshPeriod.java
deleted file mode 100644
index f1590b7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEjbRefreshPeriod.java
+++ /dev/null
@@ -1,147 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbExtraDescriptors;
-
-
-/** ejb [0,n]
- * refresh-period-in-seconds ? [String]
- *
- * The refresh-period-in-seconds denotes the rate at which a read-only-bean
- * is refreshed.
- * Is applicable only if it is a ROB.
- * The value should be between 0 and MAX_INT
- * @author
- */
-public class ASEjbRefreshPeriod extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneWarning = false;
- boolean oneFailed = false;
- boolean isReadOnly = false;
- String refreshPeriod = null;
- try{
- String s1 = ("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/refresh-period-in-seconds");
- refreshPeriod = getXPathValue(s1);
-
- IASEjbExtraDescriptors iasEjbExtraDesc = descriptor.getIASEjbExtraDescriptors();
- isReadOnly = iasEjbExtraDesc.isIsReadOnlyBean();
-
- if(refreshPeriod!=null)
- {
- refreshPeriod=refreshPeriod.trim();
- if(refreshPeriod.length()==0)
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB ejb] : refresh-period-in-seconds is invalid. It should be between 0 and " + Integer.MAX_VALUE));
- }else{
- if(!(descriptor instanceof EjbEntityDescriptor
- && isReadOnly))
- {
- oneWarning = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB ejb] : refresh-period-in-seconds should be defined for Read Only Beans."));
- return result;
- }
- try{
- int refValue = Integer.parseInt(refreshPeriod);
- if(refValue<0 || refValue>Integer.MAX_VALUE)
- {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB ejb] : refresh-period-in-seconds cannot be greater than " + Integer.MAX_VALUE + " or less than 0"));
- }
- else
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB ejb] : refresh-period-in-seconds is {0}",new Object[]{new Integer(refValue)}));
- }catch(NumberFormatException nfex){
- oneFailed = true;
- Verifier.debug(nfex);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB ejb] : refresh-period-in-seconds is invalid. It should be between 0 and " + Integer.MAX_VALUE ));
- }
- }
- }else {
- if((descriptor instanceof EjbEntityDescriptor)
- && (isReadOnly))
- {
- oneWarning = true;
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB ejb] : refresh-period-in-seconds should be defined for Read Only Beans"));
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : refresh-period-in-seconds is not defined"));
- }
- }
- if(oneWarning)
- result.setStatus(Result.WARNING);
- if(oneFailed)
- result.setStatus(Result.FAILED);
- }catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB cmp] Could not create descriptor Object."));
- }
- return result;
- }
- }
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanCmpResource.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanCmpResource.java
deleted file mode 100644
index 8453ab1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanCmpResource.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.deployment.ResourcePrincipal;
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbBundleDescriptorImpl;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Arrays;
-
-/** enterprise-bean
- * cmp-resource ?
- * jndi-name [String]
- * default-resource-principal ?
- * name [String]
- * password [String]
- * //added new in sun-ejb-jar_2_1-0.dtd
- * property *
- * name [String]
- * value [String]
- * schema-generator-properties ?
- * name [String]
- * value [String]
- *
- * The cmp-resource contains the database to be used for storing the cmp beans
- * in the ejb-jar.xml
- * The jndi-name should not be null and should start with jdbc/
- * @author Irfan Ahmed
- */
-public class ASEntBeanCmpResource extends EjbTest implements EjbCheck {
- boolean oneFailed=false;
- boolean oneWarning=false;
-
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try{
- EjbBundleDescriptorImpl ejbBundleDesc = descriptor.getEjbBundleDescriptor();
- ResourceReferenceDescriptor cmpResource = ejbBundleDesc.getCMPResourceReference();
-
- if(cmpResource!=null){
-// String jndiName = cmpResource.getJndiName();
- String jndiName = getXPathValue("sun-ejb-jar/enterprise-beans/cmp-resource/jndi-name");
- if(jndiName == null || jndiName.length()==0){
- oneFailed=true;//4698046
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB cmp-resource] : jndi-name cannot be an empty string"));
- }else{
- if(jndiName.startsWith("jdbc/")|| jndiName.startsWith("jdo/")) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB cmp-resource] : jndi-name is {0}",new Object[]{jndiName}));
- }else{
- oneWarning=true;//4698046
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB cmp-resource] : The jndi-name is {0}, the preferred jndi-name should start with jdbc/ or jdo/"
- , new Object[]{jndiName}));
- }
- }
-
- ResourcePrincipal defPrincipal = cmpResource.getResourcePrincipal();
- if(defPrincipal!=null){
-// String name = defPrincipal.getName();
- String name = getXPathValue("sun-ejb-jar/enterprise-beans/cmp-resource/default-resource-principal/name");
- if( name == null || name.length()==0){
- oneFailed=true; //4698046
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB default-resource-principal] : name cannot be an empty string"));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB default-resource-principal] : name is {0}",new Object[]{name}));
- }
-
-// String password = defPrincipal.getPassword();
- char[] password = getXPathValueasCharArray("sun-ejb-jar/enterprise-beans/cmp-resource/default-resource-principal/password");
- if(password == null || password.length==0){
- oneWarning=true;//4698046
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning1",
- "WARNING [AS-EJB default-resource-principal] : password is an empty string"));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed2",
- "PASSED [AS-EJB default-resource-principal] : password is {0}",new Object[]{new String(password)}));
- }
- Arrays.fill(password,' ');
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB cmp-resource] : default-resource-principal Element not defined"));
- }
-
- Float specVer = getRuntimeSpecVersion();
- if ((Float.compare(specVer.floatValue(), (new Float("2.1")).floatValue()) >= 0)){
- //property
- result = testProperty("property", result, "sun-ejb-jar/enterprise-beans/cmp-resource/property", compName, descriptor);
- //schema-generator-properties
- result = testProperty("schema-generator-properties", result, "sun-ejb-jar/enterprise-beans/cmp-resource/schema-generator-properties/property", compName, descriptor);
- }
-
- if(oneFailed)//4698046
- result.setStatus(Result.FAILED);
- else if(oneWarning)
- result.setStatus(Result.WARNING);
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB enterprise-beans] : cmp-resource element is not defined"));
- }
-
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB cmp] Could not create descriptor Object."));
- }
- return result;
- }
-
- private Result testProperty(String testFor, Result result, String xpath, ComponentNameConstructor compName, EjbDescriptor descriptor){
- String name=null;
- String value=null;
- int count = getCountNodeSet(xpath);
- if (count>0){
- for(int i=1;i<=count;i++){
- name = getXPathValue(xpath+"/name");
- if(name==null || name.length()==0){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-EJB cmp-resource {1}] : name cannot be an empty string",
- new Object[] {descriptor.getName(),testFor}));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed3",
- "PASSED [AS-EJB cmp-resource {2}] : name is {1}",
- new Object[] {descriptor.getName(),name, testFor}));
- }
- value = getXPathValue(xpath+"/value");
- if(value==null || value.length()==0){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed4",
- "FAILED [AS-EJB cmp-resource {1}] : value cannot be an empty string",
- new Object[] {descriptor.getName(), testFor}));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed4",
- "PASSED [AS-EJB cmp-resource {2}] : value is {1}",
- new Object[] {descriptor.getName(),value, testFor}));
- }
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanName.java
deleted file mode 100644
index 27b1720..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanName.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** enterprise-bean
- * name ? [String]
- *
- * This is the name of the enterprise bean module
- * @author Irfan Ahmmed
- */
-public class ASEntBeanName extends EjbTest implements EjbCheck {
-
- /**
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- String entBeanName = null;
- String ejbName = null;
- try{
- ejbName = descriptor.getName();
- entBeanName = getXPathValue("sun-ejb-jar/enterprise-beans/name");
- if(entBeanName == null){
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} Does not define any enterprise bean name",
- new Object[] {ejbName}));
- return result;
- }
-
- if(entBeanName!=null && entBeanName.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "WARNING [AS-EJB enterprise-beans] : name should not be empty."));
- return result;
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-EJB enterprise-beans] : name is {0}",
- new Object[] {entBeanName}));
- return result;
- }
- }catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanPmDescriptors.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanPmDescriptors.java
deleted file mode 100644
index 3b7f209..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanPmDescriptors.java
+++ /dev/null
@@ -1,372 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.deploy.shared.FileArchive;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.io.InputStream;
-import java.util.HashMap;
-import java.util.Map;
-import java.util.jar.JarFile;
-
-/** enterprise-beans
- * pm-descriptors ?
- * pm-descriptor
- * pm-identifier [String]
- * pm-version [String]
- * pm-config ? [String]
- * pm-class-generator ? 2.0 / pm-class-generator 2.1 [String]
- * pm-mapping-factory ? [String]
- * pm-inuse
- * pm-identifier [String]
- * pm-version [String]
- *
- * The pm-descriptors element contains one or more pm-descriptor elements
- * The pm-descriptor describes the properties for the persistence
- * manager associated with the entity bean.
- * The pm-identifier and pm-version fields are required and should not be null.
- * the pm-config should be a valid ias-cmp-mapping descriptor
- *
- * The pm-inuse identifies the persistence manager in use at a particular time.
- * The pm-identifier and pm-version should be from the pm-descriptor
- * element.
- * @author Irfan Ahmed
- */
-public class ASEntBeanPmDescriptors extends EjbTest implements EjbCheck {
- private boolean oneFailed=false;//4698035
- private boolean oneWarning=false;
- ComponentNameConstructor compName = null;
-
-
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-// String value=null;
- int count = 0;
- try{
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/pm-descriptors");
- if (count>0){
- Map<String, String> pmIdVer = new HashMap<String, String>();
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-descriptor");
- if (count>0){
- for(int i=0;i<count;i++){
- testPmDescriptor(i, result, pmIdVer, descriptor);
- }
- count = getCountNodeSet("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-inuse");
- if (count >0){
- String pmIdentifier = getXPathValue("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-inuse/pm-identifier");
- String pmVersion = getXPathValue("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-inuse/pm-version");
- if (pmIdentifier!=null){
- if (pmVersion!=null){
- if(pmIdVer.containsKey(pmIdentifier)){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB pm-inuse] : pm-identifier {0} is valid"
- ,new Object[]{pmIdentifier}));
- String testVersion = (String)pmIdVer.get(pmIdentifier);
- if(testVersion.equals(pmVersion))
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB pm-inuse] : pm-version {0} is valid",
- new Object[]{pmVersion}));
- }else{
- // <addition> srini@sun.com Bug: 4698038
- //result.failed(smh.getLocalString(getClass().getName()+".failed",
- // "FAILED [AS-EJB pm-inuse] : pm-version {0} for pm-identifier {0} not defined in pm-descriptors"
- //, new Object[]{pmVersion, pmIdentifier}));
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed5",
- "FAILED [AS-EJB pm-inuse] : pm-version {0} for pm-identifier {1} not defined in pm-descriptors"
- , new Object[]{pmVersion, pmIdentifier}));
- // </addition> Bug: 4698038
- oneFailed=true;
- }
- }else{
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB pm-inuse] : pm-identifier {0} is not defined in pm-descriptors"
- , new Object[]{pmIdentifier}));
- oneFailed=true;
- }
- }else{
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed12",
- "FAILED [AS-EJB pm-inuse] : pm-version {0} is not defined in pm-inuse"
- , new Object[]{pmIdentifier}));
- oneFailed=true;
- }
- }else{
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed14",
- "FAILED [AS-EJB pm-inuse] : pm-identifier {0} is not defined in pm-inuse"
- , new Object[]{pmIdentifier}));
- oneFailed=true;
- }
- }else{
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed10",
- "FAILED [AS-EJB pm-descriptors] : pm-inuse {0} is not defined in pm-descriptors"));
- oneFailed=true;
- }
- }else{
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed11",
- "FAILED [AS-EJB pm-descriptors] : pm-descriptor is not defined in pm-descriptors"));
- oneFailed=true;
- }
- }else{
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB enterprise-beans] : pm-descriptors Element not defined"));
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- else if(oneWarning)
- result.setStatus(Result.WARNING);
- }catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB] Could not create descriptor Object."));
- }
- return result;
- }
-
- /**
- * @param i int
- * @param result Result
- * @param idVerMap Map
- * @param descriptor EjbDescriptor */
- protected void testPmDescriptor(int i, Result result, Map<String, String> idVerMap, EjbDescriptor descriptor){
- try{
- String value = null;
- //pm-identifier
- String pmIdentifier = getXPathValue("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-descriptor[\""+i+"\"]/pm-identifier");
- if(pmIdentifier==null || pmIdentifier.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB pm-descriptor] : pm-identifier cannot be an empty string"));
- oneFailed=true;
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed2",
- "PASSED [AS-EJB pm-descriptor] : pm-identifier is {0}",
- new Object[]{pmIdentifier}));
- }
-
- //pm-version
- String pmVersion = getXPathValue("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-descriptor[\""+i+"\"]/pm-version");
- if(pmVersion==null || pmVersion.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED [AS-EJB pm-descritor] : pm-version cannot be an empty string"));
- oneFailed=true;
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed3",
- "PASSED [AS-EJB pm-descriptor] : pm-version is {0}",
- new Object[]{pmVersion}));
- }
-
- if (pmIdentifier!=null && pmVersion!=null)
- idVerMap.put(pmIdentifier,pmVersion);
-
- //pm-config
- value = getXPathValue("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-descriptor[\""+i+"\"]/pm-config");
- if(value!=null){
- ////// //4698035
- if(value.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- oneFailed = true;
- result.failed(smh.getLocalString(getClass().getName()+".failed4",
- "FAILED [AS-EJB pm-descritor] : pm-config cannot be an empty string"));
- }else{
-// File f = Verifier.getArchiveFile(descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri());
- JarFile jarFile = null;
- InputStream deploymentEntry=null;
- try{
-// if (f==null){
- String uri = getAbstractArchiveUri(descriptor);
- try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(value);
- }catch (Exception e) { }
-// }else{
-// try{
-// jarFile = new JarFile(f);
-// ZipEntry deploymentEntry1 = jarFile.getEntry(value);
-// if (deploymentEntry1 != null)
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }catch (Exception e) { }
-// }
-
- if(deploymentEntry !=null){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed4",
- "PASSED [AS-EJB pm-descriptor] : pm-config is {0}",
- new Object[]{value}));
- }else{
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- oneWarning=true;
- result.warning(smh.getLocalString(getClass().getName()+".warning3",
- "WARNING [AS-EJB pm-descriptor] : config file {0} pointed in pm-config is not present in the jar file",
- new Object[]{value}));
- }
- }catch(Exception e){}
- finally{
- try {
- if (jarFile != null)
- jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- }catch (Exception x) {}
- }
-
- }
- /////////
- }
-
- //pm-class-generator
- value = getXPathValue("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-descriptor[\""+i+"\"]/pm-class-generator");
- if (value==null || value.length()==0 ){
- //check for spec version accordingly give error or warning
- Float specVer = getRuntimeSpecVersion();
- if ((Float.compare(specVer.floatValue(), (new Float("2.1")).floatValue()) >= 0)) {
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed13",
- "FAILED [AS-EJB pm-descriptor] : pm-class-generator cannot be empty."));
- }
- }else{
- if(value.trim().indexOf(" ") != -1){
- oneFailed=true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed7",
- "FAILED [AS-EJB pm-descriptor] : pm-class-generator class name is invalid"));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed5",
- "PASSED [AS-EJB pm-descriptor] : pm-class-generator is {0}",
- new Object[]{value}));
- }
- }
-
- //pm-mapping-factory
- value = getXPathValue("sun-ejb-jar/enterprise-beans/pm-descriptors/pm-descriptor[\""+i+"\"]/pm-mapping-factory");
- if (value != null){
- if(value.trim().indexOf(" ") != -1){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- oneFailed=true;
- result.failed(smh.getLocalString(getClass().getName()+".failed8",
- "FAILED [AS-EJB pm-descriptor] : pm-mapping-factory class name is invalid"));
- }else{
- if(value.trim().length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- oneFailed=true;
- result.failed(smh.getLocalString(getClass().getName()+".failed6",
- "FAILED [AS-EJB pm-descritor] : pm-pm-mapping-factory cannot be an empty string"));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed6",
- "PASSED [AS-EJB pm-descriptor] : pm-mapping-factory is {0}",
- new Object[]{value}));
- }
- }
- }
- }catch(RuntimeException ex){
- oneFailed = true;
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB] Could not create descriptor Object."));
- }finally{
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanUniqueID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanUniqueID.java
deleted file mode 100644
index 26eaa4b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASEntBeanUniqueID.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** enterprise-beans
- * unique-id ? [String]
- *
- * The unique-id is automatically generated and updated at deployment/redeployment
- * The test is crude and only checks if the value promoted is not null.
- * @author Irfan Ahmed
- */
-public class ASEntBeanUniqueID extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- try{
- String s1 = ("/sun-ejb-jar/enterprise-beans/unique-id");
- String entBeanUniqueID = getXPathValue(s1);
- if(entBeanUniqueID == null)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB enterprise-beans] The unique-id key should not be defined. It will be " +
- "automatically generated at deployment time."));
- }
- else
- {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "WARNING [AS-EJB enterprise-beans] : unique-id Element should not be defined. It is " +
- "automatically generated at deployment time."));
- }
-
- }catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASSecurityRoleMapping.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASSecurityRoleMapping.java
deleted file mode 100644
index b6d2d4f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/ASSecurityRoleMapping.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ias-ejb-jar
- * security-role-mapping [0,n]
- * role-name [String]
- * principal-name [String] | group-name [String]
- *
- * The element defines the security role mappings for the bean.
- * The role-name should not be an empty string
- * The role-name should be desclared in the assembly-descriptor in the ejb-jar.xml
- * file.
- * The principal-name and group-name should not be empty strings.
- *
- * @author Irfan Ahmed
- */
-public class ASSecurityRoleMapping extends EjbTest implements EjbCheck {
-//hs NO API for security-role-mapping element from sun-ejb-jar.xml
-//hs DOL Issue - information missing
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
-/*
- *
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- SunEjbJar ejbJar = descriptor.getEjbBundleDescriptor().getIasEjbObject();
-
- if(descriptor.getEjbBundleDescriptor().getTestsDone().contains(getClass().getName()))
- {
- result.setStatus(Result.NOT_RUN);
- result.addGoodDetails(smh.getLocalString("iasEjbJar.allReadyRun",
- "NOT RUN [AS-EJB ias-ejb-jar] security-role-mapping is a JAR Level Test. This test has already been run once"));
- return result;
- }
- descriptor.getEjbBundleDescriptor().setTestsDone(getClass().getName());
-
- if(ejbJar!=null)
- {
- SecurityRoleMapping secRoleMapping[] = ejbJar.getSecurityRoleMapping();
- if(secRoleMapping.length>0)
- {
- for(int i=0;i<secRoleMapping.length;i++)
- {
- String roleName = secRoleMapping[i].getRoleName();
- if(roleName.length()==0)
- {
- oneFailed = true;
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB security-role-mapping] : role-name cannot be an empty string",
- new Object[]{new Integer(i)}));
- }
- else
- {
- boolean roleNameFound = false;
- Set roles = descriptor.getEjbBundleDescriptor().getRoles();
- Iterator it = roles.iterator();
- while(it.hasNext())
- {
- Role role = (Role)it.next();
- if(role.getName().equals(roleName))
- {
- roleNameFound = true;
- break;
- }
- }
- if(roleNameFound)
- {
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB security-role-mapping] : role-name {1} verified with ejb-jar.xml",
- new Object[]{new Integer(i), roleName}));
- }
- else
- {
- oneFailed = true;
- //<addition> srini@sun.com Bug: 4721914
- //result.failed(smh.getLocalString(getClass().getName()+".failed",
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB security-role-mapping] : role-name {1} could not be located in ejb-jar.xml",
- new Object[]{new Integer(i), roleName}));
- //<addition>
- }
- }
-
- String pName[] = secRoleMapping[i].getPrincipalName();
- for(int j=0;j<pName.length;j++)
- {
- if(pName[j].length()==0)
- {
- oneFailed = true;
- //<addition> srini@sun.com Bug: 4721914
- //result.failed(smh.getLocalString(getClass().getName()+".failed",
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB security-role-mapping] : principal-name cannot be empty string",
- new Object[]{new Integer(i)}));
- //<addition>
- }
- else
- {
- //<addition> srini@sun.com Bug: 4721914
- //result.passed(smh.getLocalString(getClass().getName()+".passed",
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB security-role-mapping] : principal-name is {1}",
- new Object[]{new Integer(i),pName[j]}));
- //<addition>
- }
- }
-
- pName = secRoleMapping[i].getGroupName();
- for(int j=0;j<pName.length;j++)
- {
- if(pName[j].length()==0)
- {
- oneFailed = true;
- //<addition> srini@sun.com Bug: 4721914
- //result.failed(smh.getLocalString(getClass().getName()+".failed",
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED [AS-EJB security-role-mapping] : group-name cannot be empty string",
- new Object[]{new Integer(i)}));
- //<addition>
- }
- else
- {
- //<addition> srini@sun.com Bug: 4721914
- //result.passed(smh.getLocalString(getClass().getName()+".passed",
- result.passed(smh.getLocalString(getClass().getName()+".passed2",
- "PASSED [AS-EJB security-role-mapping] : group-name is {1}",
- new Object[]{new Integer(i),pName[j]}));
- //<addition>
- }
- }
- }
- }
- else
- {
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB] : security-role-mapping element is not defined"));
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- }
- else
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create an SunEjbJar object"));
- }
- */
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCCacheIdleTimeout.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCCacheIdleTimeout.java
deleted file mode 100644
index 04619ea..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCCacheIdleTimeout.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * bean-cache ?
- * max-cache-size ? [String]
- * is-cache-overflow-allowed ? [String]
- * cache-idle-timout-in-seconds ? [String]
- * removal-timeout-in-seconds ? [String]
- * victim-selection-policy ? [String]
- *
- *
- * The value of cache idle timeout in seconds should be between
- * 0 and MAX_LONG
- * @author Irfan Ahmed
- */
-
-public class ASEjbBCCacheIdleTimeout extends ASEjbBeanCache
-{
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String beanCache = null;
- String idleTimeout = null;
- try{
- beanCache = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache");
- if(beanCache!=null)
- {
- try{
- idleTimeout = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache/cache-idle-timeout-in-seconds");
- if(idleTimeout!=null)
- {
- idleTimeout = idleTimeout.trim();
- if (idleTimeout.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-cache] : cache-idle-timeout-in-seconds cannot be empty. It should be between 0 and {0}",
- new Object[]{new Long(Long.MAX_VALUE)}));
- }else
- {
- long value = new Integer(idleTimeout).longValue();
- if(value < 0 || value > Long.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-cache] : cache-idle-timeout-in-seconds cannot be {0}. It should be between 0 and {1}",
- new Object[]{new Long(value),new Long(Long.MAX_VALUE)}));
- }else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-cache] : cache-idle-timeout-in-seconds is [{0}]",
- new Object[]{new Long(value)}));
- }
- }
- }else //idle-timeout-in-seconds not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-cache] : cache-idle-timeout-in-seconds element not defined"));
- }
- }catch(NumberFormatException nfex)
- {
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-cache] : [{0}] is not a valid Long number",new Object[]{idleTimeout}));
-
- }
- }else //bean-cache element not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-cache element not defined"));
- }
-
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create an descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCMaxCacheSize.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCMaxCacheSize.java
deleted file mode 100644
index 694c8d7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCMaxCacheSize.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * bean-cache ?
- * max-cache-size ? [String]
- * is-cache-overflow-allowed ? [String]
- * cache-idle-timout-in-seconds ? [String]
- * removal-timeout-in-seconds ? [String]
- * victim-selection-policy ? [String]
- *
- * The max-cache-size specifies the maximum number of beans in the cache.
- * Valid values are between 1 and MAX_INT
- * @author Irfan Ahmed
- */
-
-public class ASEjbBCMaxCacheSize extends ASEjbBeanCache
-{
-
- public Result check(EjbDescriptor descriptor)
- {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String beanCache = null;
- String maxCacheSize = null;
- try
- {
- beanCache = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache");
- if(beanCache!=null)
- {
- maxCacheSize=getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache/max-cache-size");
- if(maxCacheSize!=null)
- {
- maxCacheSize=maxCacheSize.trim();
- if(maxCacheSize.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-pool] : max-cache-size cannot be empty"));
- }else
- {
- try{
- int cacheValue=Integer.parseInt(maxCacheSize);
- if(cacheValue <= 1 || cacheValue > Integer.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-cache] : max-cache-size should be greater than 1 and less than MAX_INT"));
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-cache] : max-cache-size is {0}",new Object[]{(new Integer(maxCacheSize))}));
- }
- }catch(NumberFormatException nfex)
- {
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-pool] : The value {0} for max-pool-size is not a valid Integer number",new Object[]{maxCacheSize}));
-
- }
- }
- }else //max-cache-size not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-cache] : max-cache-size is element not defined"));
-
- }
-
- }else //bean-cache element is not present
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-cache element not defined"));
- }
- }catch(Exception ex){
-
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCRemovalTimeout.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCRemovalTimeout.java
deleted file mode 100644
index b7df428..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCRemovalTimeout.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * bean-cache ?
- * max-cache-size ? [String]
- * is-cache-overflow-allowed ? [String]
- * cache-idle-timout-in-seconds ? [String]
- * removal-timeout-in-seconds ? [String]
- * victim-selection-policy ? [String]
- *
- * The removal-timeout-in-seconds specifies the amount of time the bean remains
- * passivated.
- * Valid values are between 0 and MAX_LONG
- * @author Irfan Ahmed
- */
-
-public class ASEjbBCRemovalTimeout extends ASEjbBeanCache
-{
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String beanCache = null;
- String removeTime = null;
- try{
- beanCache = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache");
- if(beanCache!=null)
- {
- removeTime = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache/removal-timeout-in-seconds");
- if (removeTime!=null)
- {
- try{
- removeTime = removeTime.trim();
- if (removeTime.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-cache] : removal-timeout-in-seconds cannot be empty. It should be between 0 and {0}",
- new Object[]{new Long(Long.MAX_VALUE)}));
- }else
- {
- long value = new Integer(removeTime).longValue();
- if(value < 0 || value > Long.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-cache] : removal-timeout-in-seconds cannot be {0}. It should be between 0 and {1}",
- new Object[]{new Long(value),new Long(Long.MAX_VALUE)}));
- }else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-cache] : removal-timeout-in-seconds is {0}",
- new Object[]{new Long(value)}));
- }
- }
- }catch(NumberFormatException nfex){
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-cache] : [{0}] is not a valid Long number",new Object[]{removeTime}));
- }
- } else // removal-timeout not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-cache] : removal-timeout-in-seconds element not defined"));
- }
- }else // bean-cache not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-cache element not defined"));
- }
-
- }catch(Exception ex)
- {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create an descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCResizeQuantity.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCResizeQuantity.java
deleted file mode 100644
index 4e19b09..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCResizeQuantity.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-
-/** ejb [0,n]
- * bean-cache ?
- * max-cache-size ? [String]
- * resize-quantity ? [String]
- * is-cache-overflow-allowed ? [String]
- * cache-idle-timout-in-seconds ? [String]
- * removal-timeout-in-seconds ? [String]
- * victim-selection-policy ? [String]
- *
- * The max-cache-size specifies the maximum number of beans in the cache.
- * Valid values are between 1 and MAX_INT
- */
-
-public class ASEjbBCResizeQuantity extends ASEjbBeanCache
-{
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String beanCache = null;
- String resizeQty = null;
- String maxCacheSize = null;
- try{
- beanCache = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache");
- if(beanCache!=null)
- {
- try
- {
- resizeQty = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache/resize-quantity");
- if (resizeQty!=null)
- {
- resizeQty = resizeQty.trim();
- if (resizeQty.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-cache] : resize-quantity cannot be empty"));
-
- }else
- {
- int resizeQtyVal = Integer.parseInt(resizeQty);
- if (resizeQtyVal < 1 || resizeQtyVal > Integer.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-cache] : resize-quantity cannot be less than 1 or greater than {0}", new Object[]{new Integer(Integer.MAX_VALUE)}));
- }else
- {
- int cacheSizeVal=0;
- maxCacheSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache/max-cache-size");
- if (maxCacheSize!=null)
- {
- try{
- cacheSizeVal = Integer.parseInt(maxCacheSize);
-
- }catch(NumberFormatException nfe){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-cache] : The value [ {0} ] for max-cache-size is not a valid Integer number",
- new Object[]{maxCacheSize}));
- return result;
- }
- if (cacheSizeVal >= 1 && cacheSizeVal <= Integer.MAX_VALUE)
- {
- if (resizeQtyVal <= cacheSizeVal)
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-cache] : resize-quantity is {0} and is less than max-cache-size {1}",
- new Object[]{(new Integer(resizeQty)),new Integer(maxCacheSize)}));
- }
- else
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED[AS-EJB bean-cache] : resize-quantity {0} should be less than max-cache-size {1}",
- new Object[]{new Integer(resizeQty), new Integer(maxCacheSize)}));
- }
- }else
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed4",
- "FAILED [AS-EJB" +"bean-cache] : resize-quantity should be less than max-cache-size and max-cache-size is not a valid integer"));
-
- }
- }else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB bean-cache] : resize-quantity is {0}",
- new Object[]{(new Integer(resizeQty))}));
- }
- }
- }
-
- }else // resize-quantity not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-cache] : resize-quantity element is not defined"));
-
- }
- }catch(NumberFormatException nfex)
- {
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed5",
- "FAILED [AS-EJB bean-cache] : The value [ {0} ] for resize-quantity is not a valid Integer number",
- new Object[]{resizeQty}));
-
-
- }
- }else //bean-cache element not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-cache element not defined"));
-
- }
- }catch(Exception ex)
- {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCVictimPolicy.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCVictimPolicy.java
deleted file mode 100644
index cf43105..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBCVictimPolicy.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-
-/** ejb [0,n]
- * bean-cache ?
- * max-cache-size ? [String]
- * is-cache-overflow-allowed ? [String]
- * cache-idle-timout-in-seconds ? [String]
- * removal-timeout-in-seconds ? [String]
- * victim-selection-policy ? [String]
- *
- * The victim-selection-policy specifies the algorithm that is used to select
- * victims.
- * Valid values are FIFO, LRU and NRU
- * @author Irfan Ahmed
- */
-
-public class ASEjbBCVictimPolicy extends ASEjbBeanCache
-{
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String beanCache = null;
- String victimPolicy = null;
- try{
- beanCache = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache");
- if(beanCache!=null)
- {
- victimPolicy = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache/victim-selection-policy");
- if(victimPolicy!=null)
- {
- victimPolicy = victimPolicy.trim();
- if(victimPolicy.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-cache] : victim-selection-policy cannot be empty. It has to be either FIFO, NRU or LRU"));
- }else
- {
- if(!victimPolicy.equalsIgnoreCase("FIFO") && !victimPolicy.equalsIgnoreCase("NRU")
- && !victimPolicy.equalsIgnoreCase("LRU"))
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-cache] : victim-selection-policy cannot be [{0}]. It should be either FIFO, NRU or LRU [case insensitive]",
- new Object[]{victimPolicy}));
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-cache] : victim-selection-policy is {0}",
- new Object[]{victimPolicy}));
- }
- }
- }else //victim-selection-policy not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-cache] : victim-selection-policy element not defined"));
-
- }
-
- }else //bean-cache is not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-cache element not defined"));
-
- }
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBeanCache.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBeanCache.java
deleted file mode 100644
index b70a6b9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beancache/ASEjbBeanCache.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
- package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache;
-
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.BeanCacheDescriptor;
-
-
-/** ejb [0,n]
- * bean-cache ?
- * max-cache-size ? [String]
- * is-cache-overflow-allowed ? [String]
- * cache-idle-timout-in-seconds ? [String]
- * removal-timeout-in-seconds ? [String]
- * victim-selection-policy ? [String]
- *
- * The bean-cache element specifies the bean cache properties for the bean.
- * This is valid only for entity beans and stateful session beans
- * @author Irfan Ahmed
- */
-
-public class ASEjbBeanCache extends EjbTest implements EjbCheck {
-
- public BeanCacheDescriptor beanCache;
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String beanCache = null;
- try{
- beanCache = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-cache");
- if(beanCache!=null)
- {
- if(descriptor instanceof EjbEntityDescriptor
- || (descriptor instanceof EjbSessionDescriptor
- && ((EjbSessionDescriptor)descriptor).getSessionType().equals(EjbSessionDescriptor.STATEFUL)))
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB ejb] : bean-cache Element parsed"));
- }
- else
- {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning1",
- "WARNING [AS-EJB ejb] : bean-cache should be defined only for Stateful Session and Entity Beans"));
- }
- }
- else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : bean-cache element not defined"));
- }
- }catch(Exception ex)
- {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not get a beanCache object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPMaxPoolSize.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPMaxPoolSize.java
deleted file mode 100644
index 98de82b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPMaxPoolSize.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool;
-
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-
-/** ejb [0,n]
- * bean-pool ?
- * steady-pool-size ? [String]
- * pool-resize-quantity ? [String]
- * max-pool-size ? [String]
- * pool-idle-timeout-in-seconds ? [String]
- * max-wait-time-in-millis ? [String]
- *
- * The max-pool-size element specifies the maximum pool size.
- *
- * Valid values are 0 to MAX_INT
- *
- *
- * @author Irfan Ahmed
- */
-
-public class ASEjbBPMaxPoolSize extends ASEjbBeanPool
-{
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String pool=null;
- String maxPoolSize=null;
- String s1 = ("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool");
- pool = getXPathValue(s1);
- try
- {
- if (pool!=null)
- {
- maxPoolSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/max-pool-size");
- if(maxPoolSize!=null)
- {
- maxPoolSize = maxPoolSize.trim();
- if(maxPoolSize.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-pool] : max-pool-size cannot be empty"));
- }else
- {
- try
- {
- int value = Integer.parseInt(maxPoolSize);
- if(value < 0 || value > Integer.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-pool] : max-pool-size cannot be {0}. It should be between 0 and {1}",
- new Object[]{new Integer(value),new Integer(Integer.MAX_VALUE)}));
- }else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-pool] : max-pool-size is {0}",
- new Object[]{new Integer(value)}));
- }
- }
- catch(NumberFormatException nfex)
- {
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-pool] : The value {0} for max-pool-size is not a valid Integer number",new Object[]{maxPoolSize}));
- }
- }
- }else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-pool] : max-pool-size element not defined"));
- }
- }else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB bean-pool] : bean-pool element not defined"));
- }
- }catch (Exception ex)
- {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPPoolIdleTime.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPPoolIdleTime.java
deleted file mode 100644
index 9f7cfe9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPPoolIdleTime.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Verifier;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * bean-pool ?
- * steady-pool-size ? [String]
- * pool-resize-quantity ? [String]
- * max-pool-size ? [String]
- * pool-idle-timeout-in-seconds ? [String]
- * max-wait-time-in-millis ? [String]
- *
- * The pool-idle-timeout-in-seconds specifies the maximum time for which a SSB or
- * an MDB is allowed to be idle in the bean pool.
- *
- * Valid value are 0 to MAX_LONG
- *
- *
- * @author Irfan Ahmed
- */
-
-public class ASEjbBPPoolIdleTime extends ASEjbBeanPool
-{
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String pool = null;
- String poolIdleTimeout = null;
- try
- {
- pool = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool");
- if (pool!=null)
- {
- poolIdleTimeout = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/pool-idle-timeout-in-seconds");
- try{
- if (poolIdleTimeout!=null)
- {
- poolIdleTimeout = poolIdleTimeout.trim();
- if (poolIdleTimeout.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-pool] : pool-idle-timeout-in-seconds cannot be empty"));
-
- }else
- {
- long value = new Integer(poolIdleTimeout).longValue();
- if(value < 0 || value > Long.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-pool] : pool-idle-timeout-in-seconds cannot be {0}. It should be between 0 and {1}",
- new Object[]{new Long(value),new Long(Long.MAX_VALUE)}));
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-pool] : pool-idle-timeout-in-seconds is {0}",
- new Object[]{new Long(value)}));
- }
- }
- }else // if pool-idle-timeout is not specified
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-pool] : pool-idle-timeout-in-seconds element not defined"));
- }
- }catch(NumberFormatException nfex){
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-pool] : The value [ {0} ] for pool-idle-timeout-in-seconds is not a valid Integer number",new Object[]{poolIdleTimeout}));
-
-
- }
-
- }else //if bean-pool elememnt is not present
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-pool element not defined"));
- }
-
- }catch (Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPPoolResizeQty.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPPoolResizeQty.java
deleted file mode 100644
index 6cf7c78..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPPoolResizeQty.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool;
-
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * bean-pool ?
- * steady-pool-size ? [String]
- * resize-quantity ? [String]
- * max-pool-size ? [String]
- * pool-idle-timeout-in-seconds ? [String]
- * max-wait-time-in-millis ? [String]
- *
- * The resize-quantity specifies the number of beans to be created if the
- * pool is empty
- *
- * valid values are o tp MAX_INT
- *
- *
- * @author Irfan Ahmed
- */
-public class ASEjbBPPoolResizeQty extends ASEjbBeanPool
-{
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String pool = null;
- String poolResizeQty = null;
- String maxPoolSize = null;
- boolean oneFailed = false;
-
- try{
- pool = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool");
- if (pool!=null)
- {
- poolResizeQty = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/resize-quantity");
- try{
- if (poolResizeQty!=null)
- {
- poolResizeQty = poolResizeQty.trim();
- if (poolResizeQty.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-pool] : resize-quantity cannot be empty"));
- }else
- {
- int resizeQtyVal = Integer.parseInt(poolResizeQty);
- if (resizeQtyVal < 0 || resizeQtyVal > Integer.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-pool] : resize-quantity cannot be [ {0} ]. It should be between 0 and {1}",
- new Object[]{new Integer(poolResizeQty),new Integer(Integer.MAX_VALUE)}));
- }else
- {
- int poolSizeVal=0;
- maxPoolSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/max-pool-size");
- if (maxPoolSize!=null)
- {
- try{
- poolSizeVal = Integer.parseInt(maxPoolSize);
- }catch(NumberFormatException nfe){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-pool] : The value [ {0} ] for max-pool-size is not a valid Integer number",new Object[]{maxPoolSize}));
-
- }
- if (!oneFailed){
- if (resizeQtyVal <= poolSizeVal)
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-pool] : resize-quantity is [ {0} ] and is less-than/equal to max-pool-size[{1}]",
- new Object[]{new Integer(poolResizeQty), new Integer(maxPoolSize)}));
- }
- else
- {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB bean-pool] : resize-quantity [ {0} ] is greater than max-pool-size [{1}]",new Object[]{new Integer(poolResizeQty), new Integer(maxPoolSize)}));
- }
- }
- }else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB bean-pool] : resize-quantity is [ {0} ]", new Object[]{new Integer(poolResizeQty)}));
- }
- }
- }
- }else // if resize-quantity not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-pool] : resize-quantity element not defined"));
- }
- }catch(NumberFormatException nfex){
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED [AS-EJB bean-pool] : The value [ {0} ] for resize-quantity is not a valid Integer number",
- new Object[]{poolResizeQty}));
- }
- }else // if bean-pool is not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-pool element not defined"));
- }
- }catch(Exception ex)
- {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPSteadyPoolSize.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPSteadyPoolSize.java
deleted file mode 100644
index b2e193e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBPSteadyPoolSize.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * bean-pool ?
- * steady-pool-size ? [String]
- * pool-resize-quantity ? [String]
- * max-pool-size ? [String]
- * pool-idle-timeout-in-seconds ? [String]
- * max-wait-time-in-millis ? [String]
- *
- * The steady-pool-size element specifies the initial and minimum number of beans
- * that must be maintained in the bean pool.
- *
- * Valid values are from 0 to MAX_INT
- *
- *
- * @author Irfan Ahmed
- */
-public class ASEjbBPSteadyPoolSize extends ASEjbBeanPool
-{
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String pool = null;
- String steadyPoolSize=null;
- String maxPoolSize = null;
-
- try{
- pool = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool");
- if (pool!=null)
- {
- steadyPoolSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/steady-pool-size");
- if (steadyPoolSize!=null){
- steadyPoolSize = steadyPoolSize.trim();
- if (steadyPoolSize.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB bean-pool] : steady-pool-size cannot be empty"));
- }else
- {
- try
- {
- int value = Integer.parseInt(steadyPoolSize);
- if(value < 0 || value > Integer.MAX_VALUE)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed1",
- "FAILED [AS-EJB bean-pool] : steady-pool-size cannot be {0}. It should be between 0 and {1}",
- new Object[]{new Integer(value),new Integer(Integer.MAX_VALUE)}));
- }else
- {
- maxPoolSize = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/bean-pool/max-pool-size");
- int maxPool = 0;
- if(maxPoolSize != null)
- {
- try{
- maxPool = Integer.parseInt(maxPoolSize);
- }catch(NumberFormatException nfe){
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB bean-pool] : The value {0} for max-pool-size is not a valid Integer number",new Object[]{maxPoolSize}));
- return result;
- }
- if(value <= maxPool)
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB bean-pool] : steady-pool-size is {0} and is less-than/equal-to max-pool-size [{1}]",
- new Object[]{new Integer(value), new Integer(maxPool)}));
- }else
- {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning","WARNING [AS-EJB bean-pool] : steady-pool-size [{0}] is greater than max-pool-size[{1}]", new Object[]{new Integer(value), new Integer(maxPool)}));
- }
- }else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB bean-pool] : steady-pool-size is {0}",new Object[] { new Integer(value)}));
- }
- }
- }catch(NumberFormatException nfex)
- {
- Verifier.debug(nfex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED [AS-EJB bean-pool] : The value {0} for steady-pool-size is not a valid Integer number",
- new Object[]{steadyPoolSize}));
- }
- }
- }else // steady-pool-size not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB bean-pool] : steady-pool-size element not defined"));
- }
- }else // bean-pool not defined
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-EJB] : bean-pool element not defined"));
- }
- }catch(Exception ex){
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create an descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBeanPool.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBeanPool.java
deleted file mode 100644
index 02baf7a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/beanpool/ASEjbBeanPool.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool;
-
-import com.sun.enterprise.deployment.EjbMessageBeanDescriptor;
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.deployment.runtime.BeanPoolDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.runtime.IASEjbExtraDescriptors;
-
-
-
-
-/** ejb [0,n]
- * bean-pool ?
- * steady-pool-size ? [String]
- * pool-resize-quantity ? [String]
- * max-pool-size ? [String]
- * pool-idle-timeout-in-seconds ? [String]
- * max-wait-time-in-millis ? [String]
- *
- * The bean-pool element specifies the bean pool properties for the beans
- *
- * The bean-pool is valid only for Stateless Session Beans (SSB) and
- * Message-Driven Beans (MDB).
- * @author Irfan Ahmed
- */
-
-public class ASEjbBeanPool extends EjbTest implements EjbCheck {
-
-
- public BeanPoolDescriptor beanPool;
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- IASEjbExtraDescriptors ejbJar = descriptor.getIASEjbExtraDescriptors();
- if(ejbJar!=null)
- {
- try
- {
- beanPool = ejbJar.getBeanPool();
- if(beanPool!=null)
- {
- if(descriptor instanceof EjbSessionDescriptor && ((EjbSessionDescriptor)descriptor).getSessionType().equals(EjbSessionDescriptor.STATEFUL))
- {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.warning(smh.getLocalString(getClass().getName()+".warning",
- "WARNING [AS-EJB ejb] : bean-pool should be defined for Stateless Session Beans, Entity Beans or Message Driven Beans"));
- }else if(descriptor instanceof EjbMessageBeanDescriptor || (descriptor instanceof EjbSessionDescriptor && ((EjbSessionDescriptor)descriptor).getSessionType().equals(EjbSessionDescriptor.STATELESS)) || descriptor instanceof EjbEntityDescriptor){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB ejb] : bean-pool is correctly defined"));
-
- }
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB ejb] : bean-pool element not defined"));
- }
- return result;
- }catch(Exception ex)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create a beanPool object"));
- }
- }
- else
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create an IASEjbExtraDescriptor object"));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/cmpmapping/ASCmpMappingTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/cmpmapping/ASCmpMappingTest.java
deleted file mode 100644
index c45dfe9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/cmpmapping/ASCmpMappingTest.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.jdo.spi.persistence.support.ejb.ejbc.JDOCodeGenerator;
-import com.sun.jdo.spi.persistence.support.ejb.ejbqlc.EJBQLException;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.IASEjbCMPEntityDescriptor;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-public class ASCmpMappingTest extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- try {
- if (descriptor instanceof IASEjbCMPEntityDescriptor) {
- Collection col = null;
- if(getVerifierContext().getJDOException()!=null){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed (smh.getLocalString(getClass().getName() + ".failed1",
- "Error: Exception [ {0} ] while initializing JDOCodeGenerator. Please check your descriptors and mapping files for consistency ",
- new Object[] {getVerifierContext().getJDOException().getMessage()}));
-
- return result;
- }else{
- try{
- JDOCodeGenerator jdc= getVerifierContext().getJDOCodeGenerator();
- col = jdc.validate((IASEjbCMPEntityDescriptor)descriptor);
- }catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed (smh.getLocalString(getClass().getName() + ".failed",
- "Error: Exception [ {0} ] when calling JDOCodeGenerator.validate().",
- new Object[] {ex.getMessage()}));
- return result;
- }
- }
- if (col.isEmpty()){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "The mappings for the cmp beans (if any) are correct."));
- }else {
- // collect all the cmpmapping related errors
- String allErrors = null;
- Iterator it = col.iterator();
- while (it.hasNext()) {
- Exception e = (Exception)it.next();
- if (!(e instanceof EJBQLException)) {
- allErrors = e.getMessage() + "\n\n";
- }
- }
- if (allErrors != null) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".parseError",
- "Error: Entity bean [ {0} ] has the following error(s) [ {1} ]."
- , new Object[] {descriptor.getEjbClassName(), "\n" + allErrors} ));
- }
- else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "The mappings for the cmp beans (if any) are correct."));
- }
- }
- } else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName() + ".notApplicable",
- "Not applicable: Test only applies to container managed EJBs"));
- }
- } catch(Exception e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed (smh.getLocalString(getClass().getName() + ".failed",
- "Error: Exception [ {0} ] when calling JDOCodeGenerator.validate().",
- new Object[] {e.getMessage()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbREnvRefJndiName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbREnvRefJndiName.java
deleted file mode 100644
index f6ed1bf..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbREnvRefJndiName.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource;
-
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * resource-env-ref [0,n]
- * resource-env-ref-name [String]
- * jndi-name [String]
- *
- * The jndi-name tag specifies the jndi name to which the resource environment reference
- * name is binded.
- *
- * The value of this elemnet should not be null
- *
- * @author Irfan Ahmed
- */
-
-public class ASEjbREnvRefJndiName extends ASEjbResEnvRef {
- public Result check(EjbDescriptor descriptor)
- {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- try
- {
- int ejbResEnvReference = getCountNodeSet("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref");
- if (ejbResEnvReference>0)
- {
- for (int i=1;i<=ejbResEnvReference;i++)
- {
- String refName = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref["+i+"]/resource-env-ref-name");
- String refJndiName = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref["+i+"]/jndi-name");
- /* Bug: 4954967. JNDI name does not have any restriction of starting with "jms/"
- only checking for null is sufficient for this test. */
- if(refJndiName == null || refJndiName.equals("")) {
- result.failed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB res-env-ref] : res-ref with res-ref-name {0} is not defined in the ejb-jar.xml",
- new Object[]{refName}));
- } else {
- result.passed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB res-env-ref] : jndi-name {0} is valid", new Object[]{refJndiName}));
- }
- }
- }else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT-APPLICABLE: {0} Does not define any resource-env-ref Elements",
- new Object[] {descriptor.getName()}));
- }
- }catch(Exception ex)
- {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB] Could not create descriptor Object."));
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefDefResPrincipal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefDefResPrincipal.java
deleted file mode 100644
index 5e73f9c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefDefResPrincipal.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import com.sun.enterprise.deployment.ResourcePrincipal;
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * resource-ref [0,n]
- * res-ref-name [String]
- * jndi-name [String]
- * default-resource-principal ?
- * name [String]
- * password [String]
- *
- * The default-resource-principal specifies the principal for the
- * resource
- * The name and password should not be null.
- * The principal should be declared if the authorization type for the resource
- * in ejb-jar.xml is "Application"
- * @author Irfan Ahmed
- */
-
-public class ASEjbRRefDefResPrincipal extends ASEjbResRef {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- try{
- Set resRef = descriptor.getResourceReferenceDescriptors();
- if(!(resRef.isEmpty())){
- Iterator it = resRef.iterator();
- while (it.hasNext()){
- ResourceReferenceDescriptor resDesc = ((ResourceReferenceDescriptor)it.next());
- String refName = resDesc.getName();
- String refJndiName = resDesc.getJndiName();
- ResourcePrincipal resPrinci = resDesc.getResourcePrincipal();
- if(resPrinci == null)
- {
- try
- {
- resDesc = descriptor.getResourceReferenceByName(refName);
- String resAuth = resDesc.getAuthorization();
- if(resAuth.equals(ResourceReferenceDescriptor.APPLICATION_AUTHORIZATION))
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB resource-ref] : res-auth for res-ref-name {0} is defined as Application." +
- "Therefore the default-resource-principal should be supplied with valid properties",
- new Object[] {refName}));
- }
- else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-EJB resource-ref] : default-resource-principal Element not defined"));
- }
- }
- catch(IllegalArgumentException iaex)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed2",
- "FAILED [AS-EJB resource-ref] : res-ref-name {0} is not defined in the ejb-jar.xml",
- new Object[]{refName}));
- }
- }else
- {
- String name = resPrinci.getName();
- if(name == null || name.length()==0)
- {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed3",
- "FAILED [AS-EJB default-resource-principal] : name cannot be an empty string"));
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB default-resource-principal] : name is {0}",new Object[]{name}));
- }
-
- String password = resPrinci.getPassword();
- if(password == null || password.length()==0)
- {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning1",
- "WARNING [AS-EJB default-resource-principal] : password is an empty string"));
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB default-resource-principal] : password is {0}",new Object[]{password}));
- }
-
- if(oneFailed)
- result.setStatus(Result.FAILED);
- }
-
- }
- }
- else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} Does not define any resource-ref Elements"));
- }
- }catch(Exception ex)
- {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefJndiName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefJndiName.java
deleted file mode 100644
index fdc4d97..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefJndiName.java
+++ /dev/null
@@ -1,183 +0,0 @@
-/*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * resource-ref [0,n]
- * res-ref-name [String]
- * jndi-name [String]
- * default-resource-principal ?
- * name [String]
- * password [String]
- *
- * The jndi-name specifies the JNDI name to which this resource is binded
- * The jndi-name should not be null.
- * The jndi-name should map to the correct subcontext and hence start with the
- * valid subcontext
- * URL url/
- * Mail mail/
- * JDBC jdbc/
- * JMS jms/
- *
- * @author Irfan Ahmed
- */
-
-public class ASEjbRRefJndiName extends ASEjbResRef {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- //boolean oneWarning = false;
-
- try{
- Set resRef = descriptor.getResourceReferenceDescriptors();
- if(!(resRef.isEmpty()))
- {
- Iterator it = resRef.iterator();
- while (it.hasNext())
- {
- ResourceReferenceDescriptor resDesc = ((ResourceReferenceDescriptor)it.next());
- String refName = resDesc.getName();
- String refJndiName = resDesc.getJndiName();
- String type = resDesc.getType();
-
- if(refJndiName == null || refJndiName.trim().equals(""))
- {
- oneFailed = true;
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB resource-ref]: jndi-name is not a non empty string"));
- }
- /* else //Fix for bug id 5018617
- {
- if(type.indexOf("jakarta.jms")>-1) //jms resource
- {
- if(refJndiName.startsWith("jms/")) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB resource-ref] : jndi-name {0} is valid", new Object[]{refJndiName}));
- }
- else
- {
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning1",
- "WARNING [AS-EJB resource-ref] : jndi-name is \"{0}\" for resource type \"{1}\"." +
- "The preferred jndi-name for JMS resources should start with jms/",
- new Object[]{refJndiName,type}));
- }
- }
- else if(type.indexOf("javax.sql")>-1) //jdbc resource
- {
- if(refJndiName.startsWith("jdbc/")) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB resource-ref] : jndi-name {0} is valid", new Object[]{refJndiName}));
- }
- else
- {
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning2",
- "WARNING [AS-EJB resource-ref] : jndi-name is \"{0}\" for resource type \"{1}\"." +
- "The preferred jndi-name for JDBC resources should start with jdbc/",
- new Object[]{refJndiName,type}));
- }
- }
- else if(type.indexOf("java.net")>-1) //url resource
- {
- if(refJndiName.startsWith("http://"))//FIX should it start with http:// or url/http://
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB resource-ref] : jndi-name {0} is valid", new Object[]{refJndiName}));
- }
- else
- {
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning3",
- "WARNING [AS-EJB resource-ref] : jndi-name is \"{0}\" for resource type \"{1}\". " +
- "The preferred jndi-name for URL resources should start with a url",
- new Object[]{refJndiName,type}));
- }
- }
- else if(type.indexOf("jakarta.mail")>-1) //jms resource
- {
- if(refJndiName.startsWith("mail/")) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1",
- "PASSED [AS-EJB resource-ref] : jndi-name {0} is valid", new Object[]{refJndiName}));
- }
- else
- {
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(getClass().getName()+".warning4",
- "WARNING [AS-EJB resource-ref] : jndi-name is \"{0}\" for resource type \"{1}\"." +
- "The preferred jndi-name for MAIL resources should start with mail/",
- new Object[]{refJndiName,type}));
- }
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed1","PASSED [AS-EJB resource-ref]: jndi-name {0} is valid",new Object[]{refJndiName}));
- }
- }*/
- }
- }
- else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-EJB] : {0} Does not define any resource-ref Elements",
- new Object[] {descriptor.getName()}));
- return result;
- }
- }catch(Exception ex)
- {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- return result;
- }
- /*if(oneWarning)
- result.setStatus(Result.WARNING);*/
- if(oneFailed)
- result.setStatus(Result.FAILED);
- else {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "PASSED [AS-EJB resource-ref]: jndi name is specified correctly for the resource-references with in the application",
- new Object[]{}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefName.java
deleted file mode 100644
index da97366..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbRRefName.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource;
-
-import java.util.Iterator;
-import java.util.Set;
-
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * resource-ref [0,n]
- * res-ref-name [String]
- * jndi-name [String]
- * default-resource-principal ?
- * name [String]
- * password [String]
- *
- * The res-ref-name specfies the name of the resource in the ejb-jar.xml for which
- * this element shows the jndi binding properties
- *
- * The res-ref-name should exist in the ejb-jar.xml file
- *
- * @author Irfan Ahmed
- */
-public class ASEjbRRefName extends ASEjbResRef {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- try
- {
- Set resRef = descriptor.getResourceReferenceDescriptors();
- if(!(resRef.isEmpty()))
- {
- Iterator it = resRef.iterator();
- while (it.hasNext())
- {
- ResourceReferenceDescriptor resDesc = ((ResourceReferenceDescriptor)it.next());
- String refName = resDesc.getName();
- if(refName == null || refName.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB resource-ref] : resource-ref has empty res-ref-name"));
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB resource-ref] : res-ref-name is {0}",new Object[]{refName}));
- }
- }
- }
- else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} Does not define any resource-ref Elements",
- new Object[] {descriptor.getName()}));
- }
- }catch(Exception ex)
- {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notRun",
- "NOT RUN [AS-EJB] : Could not create the descriptor object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbResEnvRef.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbResEnvRef.java
deleted file mode 100644
index ec25e7b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbResEnvRef.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/** ejb [0,n]
- * resource-env-ref [0,n]
- * resource-env-ref-name [String]
- * jndi-name [String]
- *
- * The resource-env-ref holds all the runtime bindings for a resource
- * environment reference
- *
- *
- * @author Irfan Ahmed
- */
-
-public class ASEjbResEnvRef extends EjbTest implements EjbCheck
- {
- public Result result;
- public ComponentNameConstructor compName;
- public Result check(EjbDescriptor descriptor)
- {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- try {
- int ejbResEnvReference = getCountNodeSet("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref");
- if (ejbResEnvReference>0)
- {
- for (int i=1;i<=ejbResEnvReference;i++)
- {
- String refName = getXPathValue("/sun-ejb-jar/enterprise-beans/ejb[ejb-name=\""+descriptor.getName()+"\"]/resource-env-ref["+i+"]/resource-env-ref-name");
- try
- {
- descriptor.getResourceEnvReferenceByName(refName);
- result.passed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB resource-env-ref] : res-env-ref-name {0} is verified with ejb-jar.xml",
- new Object[]{refName}));
- }catch(IllegalArgumentException iaex)
- {
- Verifier.debug(iaex);
- result.failed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB resource-env-ref] : The res-env-ref-name {0} is not defined in ejb-jar.xml for this bean",
- new Object[]{refName}));
- }
- }
- }
- else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- " NOT-APPLICABLE: {0} Does not define any resource-env-ref Elements",
- new Object[] {descriptor.getName()}));
- }
- } catch(Exception ex){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName()+".notRun",
- "NOT RUN [AS-EJB] Could not create descriptor Object."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbResRef.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbResRef.java
deleted file mode 100644
index 4b4fc04..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/runtime/resource/ASEjbResRef.java
+++ /dev/null
@@ -1,90 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource;
-
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Iterator;
-import java.util.Set;
-
-/** ejb [0,n]
- * resource-ref [0,n]
- * res-ref-name [String]
- * jndi-name [String]
- * default-resource-principal ?
- * name [String]
- * password [String]
- *
- * The resource-ref element holds the runtime bindings for a resource
- * reference declared in the ejb-jar.xml
- * @author Irfan Ahmed
- */
-
-public class ASEjbResRef extends EjbTest implements EjbCheck {
-
- public Result check(EjbDescriptor descriptor)
- {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Set resRef = descriptor.getResourceReferenceDescriptors();
- boolean oneFailed = false;
- if(!(resRef.isEmpty()))
- {
- Iterator it = resRef.iterator();
- while (it.hasNext())
- {
- ResourceReferenceDescriptor resDesc = (ResourceReferenceDescriptor)it.next();
- String refName = resDesc.getName();
-
- try
- {
- descriptor.getResourceReferenceByName(refName);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed",
- "PASSED [AS-EJB resource-ref] : res-ref-name {0} is verified with ejb-jar.xml",
- new Object[]{refName}));
- }
- catch(IllegalArgumentException iaex)
- {
- Verifier.debug(iaex);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed",
- "FAILED [AS-EJB resource-ref] : The res-ref-name {0} is not defined in ejb-jar.xml for this bean",
- new Object[]{refName}));
- }
-
- }
-
- }
- else
- {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} Does not define any resource-ref Elements",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/BeanFieldsTransient.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/BeanFieldsTransient.java
deleted file mode 100644
index add77ff..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/BeanFieldsTransient.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
-/**
- * The Bean Provider should not declare the session bean fields in the session
- * bean class as transient.
- *
- * This is to allow the Container to swap out an instance's state through
- * techniques other than the Java Serialization protocol. For example, the
- * Container's Java Virtual Machine implementation may use a block of memory
- * to keep the instance's variables, and the Container swaps the whole memory
- * block to the disk instead of performing Java Serialization on the instance.
- */
-public class BeanFieldsTransient extends EjbTest implements EjbCheck {
-
-
- /**
- * The Bean Provider should not declare the session bean fields in the session
- * bean class as transient.
- *
- * This is to allow the Container to swap out an instance's state through
- * techniques other than the Java Serialization protocol. For example, the
- * Container's Java Virtual Machine implementation may use a block of memory
- * to keep the instance's variables, and the Container swaps the whole memory
- * block to the disk instead of performing Java Serialization on the instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- try {
- Class c = Class.forName(((EjbSessionDescriptor)descriptor).getEjbClassName(), false, getVerifierContext().getClassLoader());
- // fields should not be defined in the session bean class as transient.
- Field [] fields = c.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- int modifiers = fields[i].getModifiers();
- if (!Modifier.isTransient(modifiers)) {
- continue;
- } else {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: Field [ {0} ] defined within session bean class [ {1} ] is defined as transient. Session bean fields should not be defined in the session bean class as transient.",
- new Object[] {fields[i].getName(),((EjbSessionDescriptor)descriptor).getEjbClassName()}));
- }
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbSessionDescriptor)descriptor).getEjbClassName()}));
- } catch (Throwable t) {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warningException",
- "Warning: [ {0} ] class encountered [ {1} ]. " +
- "Cannot access fields of class [ {2} ] which is external to [ {3} ].",
- new Object[] {(descriptor).getEjbClassName(),t.toString(),
- t.getMessage(),
- descriptor.getEjbBundleDescriptor().getModuleDescriptor().getArchiveUri()}));
- }
- return result;
- }
-
- if(result.getStatus()!=Result.WARNING){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The session bean class has defined all fields " +
- "as non-transient fields."));
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/EjbClassImplementsComponentInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/EjbClassImplementsComponentInterface.java
deleted file mode 100644
index 5cb58ea..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/EjbClassImplementsComponentInterface.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Optionally implements the enterprise Bean's remote interface test.
- * The class may, but is not required to, implement the enterprise Bean's
- * remote interface. It is recommended that the enterprise bean class
- * not implement the remote interface to prevent inadvertent passing of
- * this as a method argument or result.
- * Note: Display warning to user in this instance.
- */
-public class EjbClassImplementsComponentInterface extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Optionally implements the enterprise Bean's remote interface test.
- * The class may, but is not required to, implement the enterprise Bean's
- * remote interface. It is recommended that the enterprise bean class
- * not implement the remote interface to prevent inadvertent passing of
- * this as a method argument or result.
- * Note: Display warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- if (descriptor instanceof EjbSessionDescriptor) {
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- commonToBothInterfaces(descriptor.getRemoteClassName(),(EjbSessionDescriptor)descriptor);
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),(EjbSessionDescriptor)descriptor);
- }
- if(result.getStatus()!=Result.FAILED && result.getStatus()!=Result.WARNING) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Bean class does not implement the enterprise Bean's remote interface"));
- }
- return result;
- }
-
- private void commonToBothInterfaces(String component, EjbSessionDescriptor descriptor) {
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- Class rc = Class.forName(component, false, getVerifierContext().getClassLoader());
- // walk up the class tree
- do {
- for (Class interfaces : c.getInterfaces()) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {interfaces.getName()});
- if (interfaces.getName().equals(rc.getName())) {
- // display warning to user
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "Warning: [ {0} ] class implments the " +
- "enterprise Bean's remote interface [ {1} ]. " +
- "It is recommended that the enterprise bean class not" +
- " implement the remote interface to prevent " +
- "inadvertent passing of this as a method argument or result. ",
- new Object[] {descriptor.getEjbClassName(),rc.getName()}));
- break;
- }
- }
- } while ((c=c.getSuperclass()) != null);
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/HomeInterfaceNoFinderMethodNames.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/HomeInterfaceNoFinderMethodNames.java
deleted file mode 100644
index 8c2b675..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/HomeInterfaceNoFinderMethodNames.java
+++ /dev/null
@@ -1,114 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session beans home interface no finder methods name test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * Since all session objects hide their identity, there is no need to provide
- * a finder for them. The home interface for a session object must not define
- * any finder methods.
- */
-public class HomeInterfaceNoFinderMethodNames extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Session beans home interface no finder methods name test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * Since all session objects hide their identity, there is no need to provide
- * a finder for them. The home interface for a session object must not define
- * any finder methods.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- // RULE: Session home interface are not allowed to have any
- // finder methods
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- commonToBothInterfaces(descriptor.getHomeClassName(),(EjbSessionDescriptor)descriptor);
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- commonToBothInterfaces(descriptor.getLocalHomeClassName(),(EjbSessionDescriptor)descriptor);
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: no finder methods were found. Session bean's home interface" +
- " is not allowed to have any finder methods."));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- */
-
- private void commonToBothInterfaces(String home, EjbSessionDescriptor descriptor) {
- try {
- Class c = Class.forName(home,
- false,
- getVerifierContext().getClassLoader());
- for(Method methods : c.getDeclaredMethods()) {
- if(methods.getName().startsWith("find")) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods.getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Improperly named method [ {0} ] was found. Session bean's home interface is not allowed to have any finder methods.",
- new Object[] {methods.getName()}));
- }
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionBeanInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionBeanInterface.java
deleted file mode 100755
index 9742b8c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionBeanInterface.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Implements the SessionBean Interface test.
- * All session Beans must implement, directly or indirectly, the SessionBean
- * interface.
- */
-public class SessionBeanInterface extends EjbTest implements EjbCheck {
-
- /**
- * Implements the SessionBean Interface test.
- * All session Beans must implement, directly or indirectly, the SessionBean
- * interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- boolean validBean = false;
- // walk up the class tree
- do {
- Class[] interfaces = c.getInterfaces();
-
- for (int i = 0; i < interfaces.length; i++) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {interfaces[i].getName()});
- if (interfaces[i].getName().equals("jakarta.ejb.SessionBean") &&
- descriptor instanceof EjbSessionDescriptor) {
- validBean = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly implements the SessionBean interface.",
- new Object[] {descriptor.getEjbClassName()}));
- break;
- }
- }
- } while ((((c=c.getSuperclass()) != null) && (!validBean)));
-
- if (!validBean) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly implement the SessionBean interface. All session Beans must implement the SessionBean interface. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionSynchronizationInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionSynchronizationInterface.java
deleted file mode 100755
index 8c1eab7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionSynchronizationInterface.java
+++ /dev/null
@@ -1,106 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.logging.Level;
-
-/**
- * Optionally implements the SessionSynchronization Interface test.
- * The optional SessionSynchronization interface may be implemented only by
- * a stateful Session Bean using container-managed transactions. The
- * SessionSynchronization interface must not be implemented by a stateless
- * Session Bean.
- */
-public class SessionSynchronizationInterface extends EjbTest implements EjbCheck {
-
- /**
- * Optionally implements the SessionSynchronization Interface test.
- * The optional SessionSynchronization interface may be implemented only by
- * a stateful Session Bean using container-managed transactions. The
- * SessionSynchronization interface must not be implemented by a stateless
- * Session Bean.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String stateType = ((EjbSessionDescriptor)descriptor).getSessionType();
- try {
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // walk up the class tree
- do {
- //Class[] interfaces = c.getInterfaces();
- //for (int i = 0; i < interfaces.length; i++) {
- for(Class interfaces : c.getInterfaces()) {
- logger.log(Level.FINE, getClass().getName() + ".debug1",
- new Object[] {interfaces.getName()});
-
- if (interfaces.getName().equals("jakarta.ejb.SessionSynchronization") ) {
- String transactionType = descriptor.getTransactionType();
- if ((EjbSessionDescriptor.STATELESS.equals(stateType)) ||
- ((EjbSessionDescriptor.STATEFUL.equals(stateType))
- && EjbSessionDescriptor.BEAN_TRANSACTION_TYPE
- .equals(transactionType) )) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly implement the SessionSynchronization interface. " +
- " SessionSynchronization interface must not be implemented by a stateless Session Bean. " +
- "[ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- break;
-
- }
- }
- }
- } while ((c=c.getSuperclass()) != null);
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- }
-
- if (result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "The required interface is properly implemented"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionType.java
deleted file mode 100755
index 3a1841f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/SessionType.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-/**
- * Session Bean State management test (stateful/stateless).
- * If the enterprise bean is a Session Bean, the Bean provider must use
- * the "session-type" element to declare whether the session bean
- * is stateful or stateless.
- */
-public class SessionType extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean State management test (stateful/stateless).
- * If the enterprise bean is a Session Bean, the Bean provider must use
- * the "session-type" element to declare whether the session bean
- * is stateful or stateless.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String stateType = ((EjbSessionDescriptor)descriptor).getSessionType();
- if ((EjbSessionDescriptor.STATELESS.equals(stateType)) ||
- (EjbSessionDescriptor.STATEFUL.equals(stateType))) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] is valid stateType within bean [ {1} ].",
- new Object[] {stateType,descriptor.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not valid stateType within bean [ {1} ].",
- new Object[] {stateType, descriptor.getName()}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationComponentInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationComponentInterface.java
deleted file mode 100644
index 575a56b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationComponentInterface.java
+++ /dev/null
@@ -1,392 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Enumeration;
-
-/**
- * Session Bean transaction demarcation type for all methods of component
- * interface test.
- * The transaction attributes must be specified for the methods defined
- * in the bean's component interface and all the direct and indirect
- * superinterfaces of the component interface, excluding the methods of
- * the jakarta.ejb.EJBObject interface.
- */
-public class TransactionDemarcationComponentInterface extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- static String[] EJBObjectMethods =
- { "getEJBHome", "getHandle", "getPrimaryKey","getEJBLocalHome","isIdentical","remove"
- };
-
-
- /**
- * Session Bean transaction demarcation type for all methods of component
- * interface test.
- * The transaction attributes must be specified for the methods defined
- * in the bean's component interface and all the direct and indirect
- * superinterfaces of the component interface, excluding the methods of
- * the jakarta.ejb.EJBObject interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- // The transaction attributes must be specified for the methods defined
- // in the bean's component interface and all the direct and indirect
- // superinterfaces of the component interface, excluding the methods of
- // the jakarta.ejb.EJBObject interface.
- if (descriptor instanceof EjbSessionDescriptor) {
- String transactionType = descriptor.getTransactionType();
- if (EjbDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType)) {
- boolean oneFailed = false;
- if(descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getRemoteClassName(),(EjbSessionDescriptor)descriptor, MethodDescriptor.EJB_REMOTE);
- if(oneFailed == false) {
- if(descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalClassName(),(EjbSessionDescriptor)descriptor, MethodDescriptor.EJB_LOCAL);
- }
- /* // RFE 4953956 - test Web service endpoints separately.
- if ((oneFailed == false) && (implementsEndpoints(descriptor))) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- result.setStatus(result.NOT_APPLICABLE);
- return result;
- }
- */
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
-
- } else {
- // not container managed, but is a session bean
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.",
- new Object[] {descriptor.getName(),EjbDescriptor.CONTAINER_TRANSACTION_TYPE,transactionType}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- } catch (Throwable t) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Component interface does not contain class [ {0} ] within bean [ {1} ]",
- new Object[] {t.getMessage(), descriptor.getName()}));
- return result;
- }
-
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and component interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param component for the Remote/Local interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String component, EjbSessionDescriptor descriptor, String methodIntf) {
- boolean oneFailed = false;
- try {
- Arrays.sort(EJBObjectMethods);
-
- // retrieve the component interface methods
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class componentInterfaceClass = Class.forName(component, false, getVerifierContext().getClassLoader());
- Method [] componentInterfaceMethods = componentInterfaceClass.getMethods();
-
- boolean lookForIt = false;
- for (int i = 0; i < componentInterfaceMethods.length; i++) {
- if (Arrays.binarySearch(EJBObjectMethods, componentInterfaceMethods[i].getName()) < 0) {
-
- try {
- ContainerTransaction containerTransaction = null;
- boolean resolved = false;
-/*
- // This flag is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //boolean allMethods = false;
- boolean wildCardWasPresent = false;
-*/
-
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
-
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- lookForIt = false;
-
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
-
- /*** Fixed the bug: 4883730. ejbClassSymbol is null when method-intf is not
- * defined in the xml, since it is an optional field. Removed the earlier
- * checks. A null method-intf indicates that the method is supposed to be
- * in both Local & Home interfaces. ***/
-/*
- String methodIntf = null;
- try {
- methodIntf = methodDescriptor.getEjbClassSymbol();
- } catch ( Exception ex ) {}
- if ( methodIntf == null ) { //|| methodIntf.equals("")
- //probably a wildcard was there
- wildCardWasPresent = true;
- continue;
- }
- //allMethods = true;
- // end of workaround
-*/
-
- // here we have to check that each method descriptor
- // corresponds to a or some methods on the component interface
- // according to the six styles
- // style 1)
- if (methodDescriptor.getName().equals(MethodDescriptor.ALL_METHODS)) {
- // if getEjbClassName() is Remote -> CARRY ON
- // if Remote - PASS
- if (methodDescriptor.getEjbClassSymbol() == null) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) {
- lookForIt = true;
- // if empty String PASS
- } else if (methodDescriptor.getEjbClassSymbol().equals("")) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) {
- lookForIt = false;
- // else (Bogus)
- } else {
- // carry on & don't look for
- // container transaction
- lookForIt = false;
- }
-
-
- } else if (methodDescriptor.getParameterClassNames() == null) {
-
-
- // if (getEjbClassSybol() is Remote or is the empty String AND if componentInterfaceMethods[i].getName().equals(methodDescriptor.getName())
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE) ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) &&
- (componentInterfaceMethods[i].getName().equals(methodDescriptor.getName()))) {
- // PASS
- lookForIt = true;
- } else {
- // carry on
- lookForIt = false;
- }
-
-
- } else {
-
- // if (getEjbClassSybol() is Remote or is the empty String AND if componentInterfaceMethods[i].getName().equals(methodDescriptor.getName()) AND
- // the parameters of the method[i] are the same as the parameters of the method descriptor )
-
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCAL)) &&
- (componentInterfaceMethods[i].getName().equals(methodDescriptor.getName())) &&
- (MethodUtils.stringArrayEquals(methodDescriptor.getParameterClassNames(), (new MethodDescriptor(componentInterfaceMethods[i], methodIntf)).getParameterClassNames()))) {
- // PASS
- lookForIt = true;
- } else {
- // CARRY ON
- lookForIt = false;
- }
-
- }
-
- if (lookForIt) {
- containerTransaction =
- (ContainerTransaction) descriptor.getMethodContainerTransactions().get(methodDescriptor);
- if (containerTransaction != null) {
- String transactionAttribute =
- containerTransaction.getTransactionAttribute();
-
- // danny is doing this in the DOL, but is it possible to not have
- // any value for containerTransaction.getTransactionAttribute()
- // in the DOL? if it is possible to have blank value for this,
- // then this check is needed here, otherwise we are done and we
- // don't need this check here
- if (ContainerTransaction.NOT_SUPPORTED.equals(transactionAttribute)
- || ContainerTransaction.SUPPORTS.equals(transactionAttribute)
- || ContainerTransaction.REQUIRED.equals(transactionAttribute)
- || ContainerTransaction.REQUIRES_NEW.equals(transactionAttribute)
- || ContainerTransaction.MANDATORY.equals(transactionAttribute)
- || ContainerTransaction.NEVER.equals(transactionAttribute)
- || (!transactionAttribute.equals(""))) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: TransactionAttribute [ {0} ] for method [ {1} ] is defined for component interface [ {2} ]",
- new Object[] {transactionAttribute, componentInterfaceMethods[i].getName(),component}));
- resolved = true;
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: TransactionAttribute [ {0} ] for method [ {1} ] is not valid. Transaction attributes must be defined for all methods of component interface [ {2} ].",
- new Object[] {transactionAttribute, componentInterfaceMethods[i].getName(),component}));
- }
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: TransactionAttribute is null for method [ {0} ]",
- new Object[] {methodDescriptor.getName()}));
- }
- }
- }
- // before you go on to the next method,
- // did you resolve the last one okay?
- if (!resolved) {
-/*
- // This if-stmt code is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //if (allMethods){
- if (!wildCardWasPresent) {
-*/
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Transaction attributes must be specified for the methods defined in the component interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].",
- new Object[] {component, componentInterfaceMethods[i].getName(),descriptor.getName()}));
-/*
- }
- else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: TransactionAttribute [ {0} ] for method [ {1} ] is defined for component interface [ {2} ]", new Object[] {"*", "*",component}));
- }
- // End of workaround code. Note : this else also has to be removed once
- // the original bug of methodDesc.getEjbClassSymbol() is fixed
-
-*/
- }
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: There are no transaction attributes within this bean [ {0} ]. Transaction attributes must be specified for the methods defined in the component interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.",
- new Object[] {descriptor.getName(),component, componentInterfaceMethods[i].getName()}));
- }
- if(oneFailed == true)
- return oneFailed;
- } catch (Exception e) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Component interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {component, e.getMessage(), descriptor.getName()}));
- return oneFailed;
- }
- } // if you found a business method
- else { // bug 6383704
- if(componentInterfaceMethods[i].getName().equals("remove")) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
- if(methodDescriptor.getName().equals("remove")) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedExcep",
- "Error: Method [ {0} ] should not be assigned a transaction attribute.",
- new Object[] {methodDescriptor.getName()}));
- break;
- }
- }
- }
- }
- } // for all component interface methods
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: Component interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {component,descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationHomeInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationHomeInterface.java
deleted file mode 100644
index bf02b7a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationHomeInterface.java
+++ /dev/null
@@ -1,371 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.MethodUtils;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Enumeration;
-
-/**
- * Session Bean transaction demarcation type home interface methods test.
- * Transaction attributes must not be specified for the methods of a session
- * bean's home interface.
- */
-public class TransactionDemarcationHomeInterface extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Session Bean transaction demarcation type home interface methods test.
- * Transaction attributes must not be specified for the methods of a session
- * bean's home interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- // hack try/catch block around test, to exit gracefully instead of
- // crashing verifier on getMethodDescriptors() call, XML mods cause
- // java.lang.ClassNotFoundException: verifier.ejb.hello.BogusEJB
- // Replacing <ejb-class>verifier.ejb.hello.HelloEJB with
- // <ejb-class>verifier.ejb.hello.BogusEJB...
- try {
- // Transaction attributes must not be specified for the methods of a session
- // bean's home interface.
- if (descriptor instanceof EjbSessionDescriptor) {
- String transactionType = descriptor.getTransactionType();
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- if (EjbDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType)) {
- boolean oneFailed = false;
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName())) {
- Class superclass = Class.forName(descriptor.getHomeClassName(), false, getVerifierContext().getClassLoader());
- do {
- oneFailed = commonToBothInterfaces(superclass.getName(),(EjbSessionDescriptor)descriptor, MethodDescriptor.EJB_HOME);
- if (oneFailed == true) {
- break;
- }
- superclass = superclass.getSuperclass();
- } while (superclass != null);
- }
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())) {
- Class superclass = Class.forName(descriptor.getLocalHomeClassName(), false, getVerifierContext().getClassLoader());
- do {
- oneFailed = commonToBothInterfaces(superclass.getName(),(EjbSessionDescriptor)descriptor, MethodDescriptor.EJB_LOCALHOME);
- if (oneFailed == true) {
- break;
- }
- superclass = superclass.getSuperclass();
- } while (superclass != null);
- }
-
- if ((oneFailed == false) && (implementsEndpoints(descriptor))) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- return result;
- } else {
- // not container managed, but is a session bean
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.",
- new Object[] {descriptor.getName(),EjbDescriptor.CONTAINER_TRANSACTION_TYPE,transactionType}));
- return result;
- }
-
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "{0} expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
-
- } catch (Throwable t) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].",
- new Object[] {t.getMessage(), descriptor.getName()}));
- return result;
- }
-
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param methodIntf for the interface type
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String home, EjbSessionDescriptor descriptor, String methodIntf) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- boolean lookForIt = false;
- for (int i=0; i< methods.length; i++) {
- try {
- ContainerTransaction containerTransaction = null;
- boolean resolved = true;
-/*
- // This flag is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //boolean allMethods = false;
- boolean wildCardWasPresent = false;
-*/
-
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- lookForIt = false;
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
-
- /*** Fixed the bug: 4883730. ejbClassSymbol is null when method-intf is not
- * defined in the xml, since it is an optional field. Removed the earlier
- * checks. A null method-intf indicates that the method is supposed to be
- * in both Local & Home interfaces. ***/
-/*
- String methodIntf = null;
- try {
- methodIntf = methodDescriptor.getEjbClassSymbol();
- } catch ( Exception ex ) {}
- if ( methodIntf == null ) { //|| methodIntf.equals("")
- //probably a wildcard was there
- wildCardWasPresent = true;
- continue;
- }
- //allMethods = true;
- // end of workaround
-*/
-
-
- // here we have to check that each method descriptor
- // corresponds to a or some methods on the home interface
- // according to the six styles
- // style 1)
- if (methodDescriptor.getName().equals(MethodDescriptor.ALL_METHODS)) {
- // if getEjbClassName() is Remote -> CARRY ON
- // if Home - PASS
- if (methodDescriptor.getEjbClassSymbol() == null) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)) {
- lookForIt = true;
- // if empty String PASS
- } else if (methodDescriptor.getEjbClassSymbol().equals("")) {
- lookForIt = true;
- } else if (methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_REMOTE)) {
- lookForIt = false;
- // else (Bogus)
- } else {
- // carry on & don't look for
- // container transaction
- lookForIt = false;
- }
- } else if (methodDescriptor.getParameterClassNames() == null) {
- // if (getEjbClassSybol() is Home or is the empty String AND if methods[i].getName().equals(methodDescriptor.getName())
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) &&
- (methods[i].getName().equals(methodDescriptor.getName()))) {
- // PASS
- lookForIt = true;
- } else {
- // carry on
- lookForIt = false;
- }
- } else {
- // if (getEjbClassSybol() is Home or is the empty String AND if methods[i].getName().equals(methodDescriptor.getName()) AND
- // the parameters of the method[i] are the same as the parameters of the method descriptor )
- if (((methodDescriptor.getEjbClassSymbol() == null) ||
- methodDescriptor.getEjbClassSymbol().equals("") ||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)||
- methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) &&
- (methods[i].getName().equals(methodDescriptor.getName())) &&
- (MethodUtils.stringArrayEquals(methodDescriptor.getParameterClassNames(), (new MethodDescriptor(methods[i], methodIntf)).getParameterClassNames()))) {
- // PASS
- lookForIt = true;
- } else {
- // CARRY ON
- lookForIt = false;
- }
- }
-
- if (lookForIt) {
- containerTransaction =
- (ContainerTransaction) descriptor.getMethodContainerTransactions().get(methodDescriptor);
-
- if (containerTransaction != null) {
- String transactionAttribute =
- containerTransaction.getTransactionAttribute();
-
- // danny is doing this in the DOL, but is it possible to not have
- // any value for containerTransaction.getTransactionAttribute()
- // in the DOL? if it is possible to have blank value for this,
- // then this check is needed here, otherwise we are done and we
- // don't need this check here
- if (ContainerTransaction.NOT_SUPPORTED.equals(transactionAttribute)
- || ContainerTransaction.SUPPORTS.equals(transactionAttribute)
- || ContainerTransaction.REQUIRED.equals(transactionAttribute)
- || ContainerTransaction.REQUIRES_NEW.equals(transactionAttribute)
- || ContainerTransaction.MANDATORY.equals(transactionAttribute)
- || ContainerTransaction.NEVER.equals(transactionAttribute)
- || (!transactionAttribute.equals(""))) {
- // if "*" ignore, test N/A
- if (!methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_HOME)&&
- !methodDescriptor.getEjbClassSymbol().equals(MethodDescriptor.EJB_LOCALHOME)) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: TransactionAttribute [ {0} ] for method [ {1} ] is not defined for home interface [ {2} ]",
- new Object[] {transactionAttribute, methods[i].getName(),home}));
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: TransactionAttribute [ {0} ] for method [ {1} ] is not valid. Transaction attributes must not be specified for all methods of session bean home interface [ {2} ].",
- new Object[] {transactionAttribute, methods[i].getName(),home}));
- resolved = false;
- }
- } else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: TransactionAttribute [ {0} ] for method [ {1} ] is not defined for home interface [ {2} ]",
- new Object[] {transactionAttribute, methods[i].getName(),home}));
- }
- } else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passedException",
- "Valid: TransactionAttribute is null for method [ {0} ]",
- new Object[] {methodDescriptor.getName()}));
- }
- }
- }
- // before you go on to the next method,
- // did you resolve the last one okay?
- if (!resolved) {
-/*
- // This if-stmt code is a workaround introduced by Harminder
- // because currently methodDescriptor.getEjbClassSymbol() is
- // returning NULL
- //if (allMethods){
- if (!wildCardWasPresent) {
-
-*/
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Transaction attributes must not be specified for the methods defined in the session bean home interface [ {0} ]. Method [ {1} ] has transaction attribute defined within this bean [ {2} ].",
- new Object[] {home, methods[i].getName(), descriptor.getName()}));
-/*
- }
- else {
-
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: TransactionAttribute [ {0} ] for method [ {1} ] is defined for remote interface [ {2} ]", new Object[] {"*", "*",home}));
-
-
- }
- // End of workaround code. Note : this else also has to be removed once
- // the original bug of methodDesc.getEjbClassSymbol() is fixed
-*/
-
- } else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed2",
- "Valid: Transaction attributes must not be specified for the methods defined in the session bean home interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].",
- new Object[] {home, methods[i].getName(), descriptor.getName()}));
- }
- } else {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "Valid: There are no method permissions within this bean [ {0} ]. Transaction attributes must not be specified for the methods defined in the session bean home interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.",
- new Object[] {descriptor.getName(),home, methods[i].getName()}));
- }
- if (oneFailed == true)
- return oneFailed;
- } catch (Exception e) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: Home interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ]",
- new Object[] {home, e.getMessage(), descriptor.getName()}));
- return oneFailed;
- }
- } // for all the methods within the home interface class, loop
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationSessionSynchronizationInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationSessionSynchronizationInterface.java
deleted file mode 100644
index 400f605..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionDemarcationSessionSynchronizationInterface.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.util.Enumeration;
-
-/**
- * Optionally implemented SessionSynchronization interface transaction
- * demarcation test.
- * If an enterprise bean implements the jakarta.ejb.SessionSynchronization
- * interface, the Application Assembler can specify only the following values
- * for the transaction attributes of the bean's methods:
- * Required
- * RequiresNew
- * Mandatory
- */
-public class TransactionDemarcationSessionSynchronizationInterface extends EjbTest implements EjbCheck {
-
-
- /**
- * Optionally implemented SessionSynchronization interface transaction
- * demarcation test.
- * If an enterprise bean implements the jakarta.ejb.SessionSynchronization
- * interface, the Application Assembler can specify only the following values
- * for the transaction attributes of the bean's methods:
- * Required
- * RequiresNew
- * Mandatory
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFound = false;
-
- if (descriptor instanceof EjbSessionDescriptor) {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // walk up the class tree
- do {
- Class[] interfaces = c.getInterfaces();
-
- for (int i = 0; i < interfaces.length; i++) {
- if (interfaces[i].getName().equals("jakarta.ejb.SessionSynchronization")) {
- oneFound = true;
- break;
- }
- }
- } while ((c=c.getSuperclass()) != null);
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
-
- // If an enterprise bean implements the jakarta.ejb.SessionSynchronization
- // interface, the Application Assembler can specify only the following
- // values for the transaction attributes of the bean's methods:
- // Required, RequiresNew, Mandatory
- if (oneFound) {
- String transactionAttribute = "";
- ContainerTransaction containerTransaction = null;
- boolean oneFailed = false;
- if (!descriptor.getMethodContainerTransactions().isEmpty()) {
- for (Enumeration ee = descriptor.getMethodContainerTransactions().keys(); ee.hasMoreElements();) {
- MethodDescriptor methodDescriptor = (MethodDescriptor) ee.nextElement();
- containerTransaction =
- (ContainerTransaction) descriptor.getMethodContainerTransactions().get(methodDescriptor);
-
- if (!(containerTransaction != null && properAttribDefined(containerTransaction))) {
- transactionAttribute =
- containerTransaction.getTransactionAttribute();
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: TransactionAttribute [ {0} ] for method [ {1} ] is not valid.",
- new Object[] {transactionAttribute, methodDescriptor.getName()}));
-
- }
- }
- }
- }
- }
-
- if(result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "TransactionAttributes are defined properly for the bean"));
- }
- return result;
- }
-
- private boolean properAttribDefined(ContainerTransaction containerTransaction) {
- String transactionAttribute = containerTransaction.getTransactionAttribute();
- return (ContainerTransaction.REQUIRED.equals(transactionAttribute)
- || ContainerTransaction.REQUIRES_NEW.equals(transactionAttribute)
- || ContainerTransaction.MANDATORY.equals(transactionAttribute));
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionType.java
deleted file mode 100755
index 9dd6513..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionType.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-/**
- * Session Bean's Transaction demarcation test.
- * If the enterprise bean is a Session Bean, the Bean provider must use
- * the "transaction-type" element to declare whether the transaction
- * demarcation is performed by the enterprise bean or the container.
- */
-public class TransactionType extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's Transaction demarcation test.
- * If the enterprise bean is a Session Bean, the Bean provider must use
- * the "transaction-type" element to declare whether the transaction
- * demarcation is performed by the enterprise bean or the container.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String transactionType = descriptor.getTransactionType();
- if (EjbSessionDescriptor.BEAN_TRANSACTION_TYPE.equals(transactionType) ||
- EjbSessionDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] is valid transactionType.",
- new Object[] {transactionType}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] is not valid transactionType within bean [ {1} ].",
- new Object[] {transactionType, descriptor.getName()}));
- }
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionTypeBeanManaged.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionTypeBeanManaged.java
deleted file mode 100644
index 51bd287..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionTypeBeanManaged.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-
-/**
- * Session Bean's bean-managed transaction demarcation test.
- *
- * The enterprise bean with bean-managed transaction demarcation must
- * be a Session bean.
- */
-public class TransactionTypeBeanManaged extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's bean-managed transaction demarcation test.
- *
- * The enterprise bean with bean-managed transaction demarcation must
- * be a Session bean.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- String transactionType = descriptor.getTransactionType();
- if (EjbSessionDescriptor.BEAN_TRANSACTION_TYPE.equals(transactionType)) {
- if (descriptor instanceof EjbSessionDescriptor) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] is valid transactionType within Session bean [ {1} ]",
- new Object[] {transactionType, descriptor.getName()}));
- } else if (descriptor instanceof EjbEntityDescriptor) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] is not valid transactionType within entity bean [ {1} ]",
- new Object[] {transactionType, descriptor.getName()}));
- }
- return result;
- } else if (EjbSessionDescriptor.CONTAINER_TRANSACTION_TYPE.equals(transactionType)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "Expected [ {0} ] transaction demarcation, but [ {1} ] bean has [ {2} ] transaction demarcation.",
- new Object[] {EjbSessionDescriptor.BEAN_TRANSACTION_TYPE,descriptor.getName(),EjbSessionDescriptor.CONTAINER_TRANSACTION_TYPE}));
- return result;
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "Expected [ {0} ] transaction demarcation, but [ {1} ] bean has [ {2} ] transaction demarcation.",
- new Object[] {EjbSessionDescriptor.BEAN_TRANSACTION_TYPE,descriptor.getName(),transactionType}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionTypeNullForContainerTX.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionTypeNullForContainerTX.java
deleted file mode 100755
index 5781aa4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransactionTypeNullForContainerTX.java
+++ /dev/null
@@ -1,122 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-/**
- * Session Bean Transaction demarcation type test.
- * For bean managed session beans, it doesn't make sense to have
- * container transactions.
- */
-public class TransactionTypeNullForContainerTX extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean Transaction demarcation type test.
- * For bean managed session beans, it doesn't make sense to have
- * container transactions.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String transactionType = descriptor.getTransactionType();
- if (EjbDescriptor.BEAN_TRANSACTION_TYPE.equals(transactionType)) {
- // taken from DOL - remember that for bean managed session beans,
- // it doesn't make sense to have container transactions
- // you'll have to enforce this in the object model somewhere,
- // and in the UI
- try {
- if (descriptor.getMethodContainerTransactions().size() > 0) {
- // shouldn't have container transaction for bean managed session
- // since container transaction is not null, it's defined, we fail
- // test
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Session Beans [ {0} ] with [ {1} ] managed \n" +
- "transaction demarcation should not have container \n" +
- "transactions defined.",
- new Object[] {descriptor.getName(),transactionType}));
- } else {
- // container transaction is null, not defined, which is correct
- // shouldn't have container transaction for bean managed session
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This session bean [ {0} ] is [ {1} ] managed and correctly declares no container transactions.",
- new Object[] {descriptor.getName(),transactionType}));
- }
- return result;
- } catch (NullPointerException e) {
- // container transaction is null, not defined, which is correct
- // shouldn't have container transaction for bean managed session
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This session bean [ {0} ] is [ {1} ] managed and correctly declares no container transactions.",
- new Object[] {descriptor.getName(),transactionType}));
- return result;
- }
-
- } else {
- // not bean/container managed, but is a session/entity bean
- // (i.e it's CONTAINER_TRANSACTION_TYPE)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Session bean [ {0} ], expected [ {1} ] managed, but called with [ {2} ] managed.",
- new Object[] {descriptor.getName(),EjbDescriptor.BEAN_TRANSACTION_TYPE, EjbDescriptor.CONTAINER_TRANSACTION_TYPE}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} \n bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransientFieldsSerialization.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransientFieldsSerialization.java
deleted file mode 100644
index 3b52287..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/TransientFieldsSerialization.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Field;
-import java.lang.reflect.Modifier;
-
-/**
- * The Bean Provider must assume that the content of transient fields may be
- * lost between the ejbPassivate and ejbActivate notifications. Therefore, the
- * Bean Provider should not store in a transient field a reference to any of
- * the following objects: SessionContext object; environment JNDI naming
- * context and any its subcontexts; home and remote interfaces; and the
- * UserTransaction interface. The restrictions on the use of transient fields
- * ensure that Containers can use Java Serialization during passivation and
- * activation.
- */
-public class TransientFieldsSerialization extends EjbTest implements EjbCheck {
-
-
-
- /**
- * The Bean Provider must assume that the content of transient fields may be
- * lost between the ejbPassivate and ejbActivate notifications. Therefore, the
- * Bean Provider should not store in a transient field a reference to any of
- * the following objects: SessionContext object; environment JNDI naming
- * context and any its subcontexts; home and remote interfaces; and the
- * UserTransaction interface. The restrictions on the use of transient fields
- * ensure that Containers can use Java Serialization during passivation and
- * activation.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean isEjb30 = descriptor.getEjbBundleDescriptor()
- .getSpecVersion().equalsIgnoreCase("3.0");
-
- if (descriptor instanceof EjbSessionDescriptor) {
- try {
- Class c = Class.forName(((EjbSessionDescriptor)descriptor).getEjbClassName(), false,
- getVerifierContext().getClassLoader());
- // Bean Provider should not store in a transient field a reference to
- // any of the following objects: SessionContext object; environment
- // JNDI naming context and any its subcontexts; home and remote
- // interfaces; and the UserTransaction interface.
- Field [] fields = c.getDeclaredFields();
- for (int i = 0; i < fields.length; i++) {
- int modifiers = fields[i].getModifiers();
- if (!Modifier.isTransient(modifiers)) {
- continue;
- } else {
- Class fc = fields[i].getType();
- // can't do anything with environment JNDI naming context and
- // any its subcontexts
- //sg133765: do we need to do something for business interface
- if ((fc.getName().equals("jakarta.ejb.SessionContext")) ||
- (fc.getName().equals("jakarta.transaction.UserTransaction")) ||
- (fc.getName().equals(descriptor.getRemoteClassName())) ||
- (fc.getName().equals(descriptor.getHomeClassName()))||
- (fc.getName().equals(descriptor.getLocalClassName())) ||
- (fc.getName().equals(descriptor.getLocalHomeClassName())) ||
- (isEjb30 && fc.getName().equals("jakarta.ejb.EntityManager")) ||
- (isEjb30 && fc.getName().equals("jakarta.ejb.EntityManagerFactory"))) {
-
- result.failed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Field [ {0} ] defined within" +
- " session bean class [ {1} ] is defined as transient. " +
- "Session bean fields should not store in a " +
- "transient field a reference to any of the following objects: " +
- "SessionContext object; environment JNDI naming context and any " +
- "its subcontexts; home and remote interfaces;" +
- " and the UserTransaction interface.",
- new Object[] {fields[i].getName(),
- ((EjbSessionDescriptor)descriptor).getEjbClassName()}));
- }
- }
- }
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {((EjbSessionDescriptor)descriptor).getEjbClassName()}));
- }
- }
- if(result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "This session bean class has not stored in a " +
- "transient field a reference to any of the following objects: " +
- "SessionContext object; environment JNDI naming context and" +
- " any its subcontexts; home and remote interfaces; and the " +
- "UserTransaction interface."));
- }
- return result;
- }
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionCreate.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionCreate.java
deleted file mode 100644
index c44d111..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionCreate.java
+++ /dev/null
@@ -1,184 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session beans home interface create method throws CreateException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * The throws clause must include jakarta.ejb.CreateException.
- */
-public class HomeInterfaceCreateMethodExceptionCreate extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Session beans home interface create method throws CreateException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * The throws clause must include jakarta.ejb.CreateException.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- if (descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),(EjbSessionDescriptor)descriptor);
- if (oneFailed == false) {
- if (descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- oneFailed = commonToBothInterfaces(descriptor.getLocalHomeClassName(),(EjbSessionDescriptor)descriptor);
- }
- if ((oneFailed == false) && (implementsEndpoints(descriptor))) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- result.setStatus(result.NOT_APPLICABLE);
- return result;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String home, EjbSessionDescriptor descriptor) {
- boolean oneFailed = false;
- // RULE: session home interface are only allowed to have create
- // methods which match ejbCreate, and returns the session Bean's
- // remote interface.
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class [] methodExceptionTypes;
- boolean throwsCreateException = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- throwsCreateException = false;
- if (methods[i].getName().startsWith("create")) {
- methodExceptionTypes = methods[i].getExceptionTypes();
-
- // methods must also throw jakarta.ejb.CreateException
- if (EjbUtils.isValidCreateException(methodExceptionTypes)) {
- throwsCreateException = true;
- }
-
- //report for this particular create method found in home interface
- // now display the appropriate results for this particular create
- // method
- if (throwsCreateException ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which must throw jakarta.ejb.CreateException was found.."));
- } else if (!throwsCreateException) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A create method was found, but did not throw jakarta.ejb.CreateException." ));
- } // end of reporting for this particular 'create' method
- } // if the home interface found a "create" method
- } // for all the methods within the home interface class, loop
-
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- return oneFailed;
-
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionMatch.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionMatch.java
deleted file mode 100644
index 38de3d2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionMatch.java
+++ /dev/null
@@ -1,289 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-
-/**
- * Session beans home interface method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * All the exceptions defined in the throws clause of an ejbCreate method of
- * the enterprise Bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *
- */
-public class HomeInterfaceCreateMethodExceptionMatch extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean foundAtLeastOneCreate = false;
-
-
- /**
- * Session beans home interface method exceptions match test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * All the exceptions defined in the throws clause of an ejbCreate method of
- * the enterprise Bean class must be defined in the throws clause of the
- * matching create method of the home interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- if (((descriptor.getHomeClassName() == null) || "".equals(descriptor.getHomeClassName())) &&
- ((descriptor.getLocalHomeClassName() == null) || "".equals(descriptor.getLocalHomeClassName()))) {
-
- if (implementsEndpoints(descriptor)) {
-
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- result.setStatus(result.NOT_APPLICABLE);
- }
- else {
-
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.failedhome",
- "Ejb [ {0} ] does not have local or remote Home interfaces",
- new Object[] {descriptor.getEjbClassName()}));
- result.setStatus(result.FAILED);
- return result;
-
- }
- return result;
- }
-
- boolean oneFailed = false;
-
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getLocalHomeClassName(),(EjbSessionDescriptor)descriptor);
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
- private boolean commonToBothInterfaces(String home, String local,EjbSessionDescriptor descriptor) {
- boolean oneFailed = false;
- int ejbCreateMethodLoopCounter = 0;
- // RULE: session home interface are only allowed to have create
- // methods which match ejbCreate, and exceptions match Bean's
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class methodReturnType;
- Class [] methodParameterTypes;
- Class [] methodExceptionTypes;
- Class [] ejbCreateMethodExceptionTypes;
- Class [] ejbCreateMethodParameterTypes;
- boolean ejbCreateFound = false;
- boolean exceptionsMatch = false;
- Vector<Method> createMethodSuffix = new Vector<Method>();
-
- if (home != null) {
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = c.getDeclaredMethods();
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- foundAtLeastOneCreate = true;
- }
- }
- }
- if (local != null) {
- Class c = Class.forName(local, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = c.getDeclaredMethods();
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- foundAtLeastOneCreate = true;
- }
- }
- }
- if (foundAtLeastOneCreate == false) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: no create<Method> method exists!",
- new Object[] {}));
- return true;
- }
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- do {
- Method [] methods = EJBClass.getDeclaredMethods();
- // find matching "ejbCreate" in bean class
- for (int i = 0; i < methods.length; i++) {
- ejbCreateFound = false;
- exceptionsMatch = false;
- if (methods[i].getName().startsWith("ejbCreate")) {
- String matchSuffix = methods[i].getName().substring(9);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- if (matchSuffix.equals(((Method)(createMethodSuffix.elementAt(k))).getName().substring(6))) {
- // clear these from last time thru loop
- // retrieve the EJB Class Methods
- methodParameterTypes = ((Method)(createMethodSuffix.elementAt(k))).getParameterTypes();
- ejbCreateMethodParameterTypes = methods[i].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,ejbCreateMethodParameterTypes)) {
- ejbCreateFound = true;
- methodExceptionTypes = ((Method)(createMethodSuffix.elementAt(k))).getExceptionTypes();
- ejbCreateMethodExceptionTypes = methods[i].getExceptionTypes();
- if (RmiIIOPUtils.isEjbFindMethodExceptionsSubsetOfFindMethodExceptions(ejbCreateMethodExceptionTypes,methodExceptionTypes)) {
- exceptionsMatch = true;
- // used to display output below
- ejbCreateMethodLoopCounter = k;
- break;
- }
- } // method params match
- } // found ejbCreate
- }
-
- //report for this particular create method found in home interface
- //if we know that ejbCreateFound got set to true in the above
- // loop, check other booleans, otherwise skip test, set status
- // to FAILED below
-
- // now display the appropriate results for this particular create
- // method
- if (ejbCreateFound && exceptionsMatch) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(ejbCreateMethodLoopCounter))).getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding [ {0} ] method with matching exceptions was found.",
- new Object[] {methods[i].getName()}));
- }
-
- if (ejbCreateFound && !exceptionsMatch) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(ejbCreateMethodLoopCounter))).getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A corresponding [ {0} ] method was found, but the exceptions defined by method [ {1} ] are not defined within matching create() method.",
- new Object[] {"ejb"+methods[i].getName().toUpperCase().substring(0,1)+methods[i].getName().substring(1),"ejb"+methods[i].getName().toUpperCase().substring(0,1)+methods[i].getName().substring(1)}));
- } else if (!ejbCreateFound) {
- // set status to FAILED, 'cause there is not even an
- // ejbCreate method to begin with, regardless of its parameters
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(ejbCreateMethodLoopCounter))).getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No corresponding ejbCreate method was found." ));
- break;
- } // end of reporting for this particular 'create' method
- } // if the home interface found a "create" method
- } // for all the methods within the home interface class, loop
- if (oneFailed == true)
- break;
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!(ejbCreateFound && exceptionsMatch)));
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home (Remote/Local) interface or Bean class [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- return oneFailed;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionRemote.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionRemote.java
deleted file mode 100644
index e83d53c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodExceptionRemote.java
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session beans home interface create method throws RemoteException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Session Bean's home interface defines zero or more create(...) methods.
- *
- * The throws clause must include java.rmi.RemoteException.
- */
-public class HomeInterfaceCreateMethodExceptionRemote extends EjbTest implements EjbCheck {
-
-
- /**
- * Session beans home interface create method throws RemoteException test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * An Session Bean's home interface defines zero or more create(...) methods.
- *
- * The throws clause must include java.rmi.RemoteException.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- boolean foundAtLeastOneRemote = false;
- // RULE: Session home interface are only allowed to have create
- // methods which must throw java.rmi.RemoteException
- if(descriptor.getHomeClassName() == null || "".equals(descriptor.getHomeClassName())) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "No Remote Home Interface for this ejb",
- new Object[] {}));
- return result;
- }
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getHomeClassName(), false, getVerifierContext().getClassLoader());
- Method methods[] = c.getDeclaredMethods();
- Class [] methodExceptionTypes;
- boolean throwsRemoteException = false;
-
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- throwsRemoteException = false;
-
- if (methods[i].getName().startsWith("create")) {
- // set this once to indicate that test is applicable, if you didn't
- // find any create methods, that's an error, as session beans can
- // have one or more create methods, & when you have zero, test
- // is failed
- if (!foundAtLeastOneRemote) {
- foundAtLeastOneRemote = true;
- }
-
- methodExceptionTypes = methods[i].getExceptionTypes();
-
- // methods must also throw java.rmi.RemoteException
- if (EjbUtils.isValidRemoteException(methodExceptionTypes)) {
- throwsRemoteException = true;
- }
-
- //report for this particular create method found in home interface
- // now display the appropriate results for this particular create
- // method
- if (throwsRemoteException ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which must throw java.rmi.RemoteException was found."));
- } else if (!throwsRemoteException) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {c.getName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A create method was found, but did not throw java.rmi.RemoteException." ));
- } // end of reporting for this particular 'create' method
- } // if the home interface found a "create" method
- } // for all the methods within the home interface class, loop
-
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getHomeClassName(), descriptor.getName()}));
- }
-
- if (!foundAtLeastOneRemote) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface [ {0} ]",
- new Object[] {descriptor.getHomeClassName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "No create method was found in [ {0} ]",
- new Object[] {descriptor.getHomeClassName()}));
- result.setStatus(result.FAILED);
- } else {
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- }
-
- return result;
-
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodMatchArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodMatchArgs.java
deleted file mode 100644
index fa06946..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodMatchArgs.java
+++ /dev/null
@@ -1,275 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-
-/**
- * Session beans home interface create method match bean class test.
- *
- * The following are the requirements for the Session Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- */
-public class HomeInterfaceCreateMethodMatchArgs extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean foundAtLeastOneCreate = false;
-
- /**
- * Session beans home interface create method match bean class test.
- *
- * The following are the requirements for the Session Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
-
- if (((descriptor.getHomeClassName() == null) || "".equals(descriptor.getHomeClassName())) &&
- ((descriptor.getLocalHomeClassName() == null) || "".equals(descriptor.getLocalHomeClassName()))) {
-
- if (implementsEndpoints(descriptor)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- result.setStatus(result.NOT_APPLICABLE);
- }
- else {
-
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.failedhome",
- "Ejb [ {0} ] does not have local or remote Home interfaces",
- new Object[] {descriptor.getEjbClassName()}));
- result.setStatus(result.FAILED);
- }
- return result;
- }
-
- boolean oneFailed = false;
- // RULE: session home interface are only allowed to have create
- // methods which match ejbCreate,
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getLocalHomeClassName(),descriptor);
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String remote, String local,EjbDescriptor descriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class [] methodParameterTypes;
- Class [] businessMethodParameterTypes;
- boolean signaturesMatch = false;
-
- boolean found = false;
- Vector<Method> createMethodSuffix = new Vector<Method>();
-
- if (local != null) {
- Class localhome = Class.forName(local, false, getVerifierContext().getClassLoader());
- Method [] localhomeMethods = localhome.getDeclaredMethods();
- for (int i = 0; i < localhomeMethods.length; i++) {
- // The method name must start with create.
- if (localhomeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)localhomeMethods[i]);
- foundAtLeastOneCreate = true;
-
- }
- }
- }
- if (remote != null) {
- Class home = Class.forName(remote, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- foundAtLeastOneCreate = true;
-
- }
- }
- }
- if (foundAtLeastOneCreate == false) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: no create<Method> method exists!",
- new Object[] {}));
- return true;
- }
-
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- do {
- Method [] methods = EJBClass.getDeclaredMethods();
- // find matching "ejbCreate" in bean class
- for (int j = 0; j < methods.length; j++) {
- found = false;
- if (methods[j].getName().startsWith("ejbCreate")) {
- found = true;
- String matchSuffix = methods[j].getName().substring(9);
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- signaturesMatch = false;
- if (matchSuffix.equals(((Method)(createMethodSuffix.elementAt(k))).getName().substring(6))) {
- methodParameterTypes = ((Method)(createMethodSuffix.elementAt(k))).getParameterTypes();
- businessMethodParameterTypes = methods[j].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,businessMethodParameterTypes)) {
- signaturesMatch = true;
- // now display the appropriate results for this particular ejbCreate
- // method
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(k))).getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding ejbCreate method with matching parameters was found."));
- break;
- }
- }
- }
- if (signaturesMatch == false) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface",
- new Object[] {}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding create<Method> method with matching parameters was found." ));
- break;
-
- } // for all the business methods within the bean class, loop
- }
- }
- if (oneFailed == true)
- break;
- } while (((EJBClass = EJBClass.getSuperclass()) != null) && (!signaturesMatch));
- if (found == false && foundAtLeastOneCreate == true){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: ejbCreate<Method> method corresponding to the create<Method> method does not exist!",
- new Object[] {}));
-
- }
- if (found == false && foundAtLeastOneCreate == false){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: no create<Method> method exists!",
- new Object[] {}));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home (Local/Remote) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- oneFailed = true;
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodReturn.java
deleted file mode 100644
index f588dcb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/createmethod/HomeInterfaceCreateMethodReturn.java
+++ /dev/null
@@ -1,247 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session beans home interface create method return type test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * The return type for a create method must be the enterprise Bean's remote
- * interface type.
- *
- */
-public class HomeInterfaceCreateMethodReturn extends EjbTest implements EjbCheck {
-
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean remote_exists = false;
- boolean local_exists = false;
-
- /**
- * Session beans home interface create method return type test.
- *
- * The following are the requirements for the enterprise Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * The return type for a create method must be the enterprise Bean's remote
- * interface type.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- String local = null;
- String localHome = null;
- String remote = null;
- String home = null;
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- // RULE: session home interface are only allowed to have create
- // methods which returns the session Bean's
- // remote interface.
- if (descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()) &&
- descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()) ) {
- remote_exists = true;
- home = descriptor.getHomeClassName();
- remote = descriptor.getRemoteClassName();
- }
- if (descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())&&
- descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName())) {
- local_exists = true;
- localHome = descriptor.getLocalHomeClassName();
- local = descriptor.getLocalClassName();
- }
- if ((home == null) && (remote == null) && (localHome == null) && (local == null)) {
- if (implementsEndpoints(descriptor)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- result.setStatus(result.NOT_APPLICABLE);
- return result;
- }
- }
-
- oneFailed = commonToBothInterfaces(remote,home,local,localHome,(EjbSessionDescriptor)descriptor);
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param component for Remote/Local nterface
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String remote, String home, String local, String localHome, EjbSessionDescriptor descriptor) {
- boolean oneFailed = false;
- Class c,rc,lc,hc;
- Method localMethods[],methods[];
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- if (remote_exists) {
- c = Class.forName(home, false, getVerifierContext().getClassLoader());
- rc = Class.forName(remote, false, getVerifierContext().getClassLoader());
- methods = c.getDeclaredMethods();
- oneFailed = findReturnType(methods,home,local,remote);
- }
- if (oneFailed == false) {
- if (local_exists) {
- hc = Class.forName(localHome, false, getVerifierContext().getClassLoader());
- lc = Class.forName(local, false, getVerifierContext().getClassLoader());
- localMethods = hc.getDeclaredMethods();
- oneFailed = findReturnType(localMethods,localHome,local,remote);
- }
- }
- return oneFailed;
-
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home interface [ {0} ] or [ {1} ]or Component interface [ {2} ] or [ {3} ] does not exist or is not loadable within bean [ {4} ]",
- new Object[] {home, localHome, remote, local, descriptor.getName()}));
- return false;
- }
- }
-
-
- private boolean findReturnType(Method[] methods, String home, String local, String remote) {
- Class methodReturnType;
- boolean validReturn, oneFailed = false;
-
- for (int i=0; i< methods.length; i++) {
- // clear these from last time thru loop
- validReturn = false;
- if (methods[i].getName().startsWith("create")) {
- // return type must be the remote interface
- methodReturnType = methods[i].getReturnType();
- if (remote_exists) {
- if (methodReturnType.getName().equals(remote)) {
- // this is the right ejbCreate method
- validReturn = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home ,methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which returns [ {0} ] interface was found.",
- new Object[] {"remote"}));
- }
- }
- if (local_exists) {
- if (methodReturnType.getName().equals(local)) {
- // this is the right ejbCreate method
- validReturn = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home ,methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The create method which returns [ {0} ] interface was found.",
- new Object[] {"local"}));
- }
- }
-
- //report for this particular create method found in home interface
- // now display the appropriate results for this particular create
- // method
- if (!validReturn) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home,methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A Create method was found, but the return type [ {0} ] was not the Remote/Local interface" ,
- new Object[] {methodReturnType.getName()}));
- } // end of reporting for this particular 'create' method
- } // if the home interface found a "create" method
- } // for all the methods within the home interface class, loop
-
- return oneFailed;
-
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMatchesCreate.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMatchesCreate.java
deleted file mode 100644
index 105937b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMatchesCreate.java
+++ /dev/null
@@ -1,258 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.util.Arrays;
-import java.util.Vector;
-
-/**
- * Session beans home interface create method match bean class test.
- *
- * The following are the requirements for the Session Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- */
-public class EjbCreateMatchesCreate extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- boolean foundAtLeastOneCreate = false;
-
- /**
- * Session beans home interface create method match bean class test.
- *
- * The following are the requirements for the Session Bean's home interface
- * signature:
- *
- * A Session Bean's home interface defines one or more create(...) methods.
- *
- * Each create method must be named ``create'', and it must match one of the
- * ejbCreate methods defined in the enterprise Bean class. The matching
- * ejbCreate method must have the same number and types of arguments.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
-
- if (((descriptor.getHomeClassName() == null) || "".equals(descriptor.getHomeClassName())) &&
- ((descriptor.getLocalHomeClassName() == null) || "".equals(descriptor.getLocalHomeClassName()))) {
-
- if (implementsEndpoints(descriptor)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp",
- "Not Applicable because, EJB [ {0} ] implements a Service Endpoint Interface.",
- new Object[] {compName.toString()}));
- result.setStatus(result.NOT_APPLICABLE);
- return result;
- }
- }
-
- boolean oneFailed = false;
- // RULE: session home interface are only allowed to have create
- // methods which match ejbCreate,
- oneFailed = commonToBothInterfaces(descriptor.getHomeClassName(),descriptor.getLocalHomeClassName(),descriptor);
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @return boolean the results for this assertion i.e if a test has failed or not
- */
-
-
- private boolean commonToBothInterfaces(String remote, String local,EjbDescriptor descriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class [] methodParameterTypes;
- Class [] businessMethodParameterTypes;
- boolean signaturesMatch = false;
-
- boolean found = false;
- Vector<Method> createMethodSuffix = new Vector<Method>();
-
- if (local != null) {
- Class localhome = Class.forName(local, false, getVerifierContext().getClassLoader());
- Method [] localhomeMethods = localhome.getDeclaredMethods();
- for (int i = 0; i < localhomeMethods.length; i++) {
- // The method name must start with create.
- if (localhomeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)localhomeMethods[i]);
- foundAtLeastOneCreate = true;
-
- }
- }
- }
- if (remote != null) {
- Class home = Class.forName(remote, false, getVerifierContext().getClassLoader());
- Method [] homeMethods = home.getDeclaredMethods();
- for (int i = 0; i < homeMethods.length; i++) {
- // The method name must start with create.
- if (homeMethods[i].getName().startsWith("create")) {
- createMethodSuffix.addElement( (Method)homeMethods[i]);
- foundAtLeastOneCreate = true;
-
- }
- }
- }
- if (foundAtLeastOneCreate == false) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: no create<Method> method exists!",
- new Object[] {}));
- return true;
- }
-
- Class EJBClass = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- // start do while loop here....
- Method [] methods = EJBClass.getMethods();
- // find matching "ejbCreate" in bean class
- for (int k = 0; k < createMethodSuffix.size(); k++) {
- for (int j = 0; j < methods.length; j++) {
- found = false;
- if (methods[j].getName().startsWith("ejbCreate")) {
- found = true;
- String matchSuffix = methods[j].getName().substring(9);
- signaturesMatch = false;
- if (matchSuffix.equals(((Method)(createMethodSuffix.elementAt(k))).getName().substring(6))) {
- methodParameterTypes = ((Method)(createMethodSuffix.elementAt(k))).getParameterTypes();
- businessMethodParameterTypes = methods[j].getParameterTypes();
- if (Arrays.equals(methodParameterTypes,businessMethodParameterTypes)) {
- signaturesMatch = true;
- // now display the appropriate results for this particular ejbCreate
- // method
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface Method [ {0} ]",
- new Object[] {((Method)(createMethodSuffix.elementAt(k))).getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The corresponding ejbCreate method with matching parameters was found."));
- break;
- }
- }
- }
- }
- if (signaturesMatch == false) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug3",
- "For Home Interface",
- new Object[] {}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No corresponding ejbCreate<Method> method with matching parameters was found." ));
-
- }
- }
- if (found == false && foundAtLeastOneCreate == true){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: ejbCreate<Method> method corresponding to the create<Method> method does not exist!",
- new Object[] {}));
-
- }
- if (found == false && foundAtLeastOneCreate == false){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException2",
- "Error: no create<Method> method exists!",
- new Object[] {}));
- }
- return oneFailed;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home (Local/Remote) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),descriptor.getName()}));
- oneFailed = true;
- return oneFailed;
- }
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodArgs.java
deleted file mode 100755
index 0044e2b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodArgs.java
+++ /dev/null
@@ -1,197 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import com.sun.enterprise.tools.verifier.tests.ejb.RmiIIOPUtils;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session Bean's ejbCreate(...) methods arguments test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The methods arguments must be legal types for RMI-IIOP.
- *
- */
-public class EjbCreateMethodArgs extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's ejbCreate(...) methods arguments test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The methods arguments must be legal types for RMI-IIOP.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean remote_exists = false;
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- Class [] ejbCreateMethodParameterTypes;
- boolean ejbCreateFound = false;
- boolean isLegalRMIIIOP = false;
- int foundAtLeastOne = 0;
-
- //bug fix for 4699227
- if (descriptor.getHomeClassName() == null ||
- descriptor.getHomeClassName().equals("")) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp",
- "Not Applicable because, EJB [ {0} ] has Local Interfaces only.",
- new Object[] {descriptor.getEjbClassName()}));
-
- return result;
- }
-
- if (descriptor.getRemoteClassName() != null &&
- !descriptor.getRemoteClassName().equals(""))
- remote_exists = true;
-
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isLegalRMIIIOP = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- if (remote_exists == true) {
- // The methods arguments types must be legal types for RMI-IIOP.
- ejbCreateMethodParameterTypes = methods[i].getParameterTypes();
- if (RmiIIOPUtils.isValidRmiIIOPParameters(ejbCreateMethodParameterTypes)) {
- // these method parameters are valid, continue
- isLegalRMIIIOP = true;
- }
- } else isLegalRMIIIOP = true; //if the ejb has only a local interface
- //we donot need to check for legal rmi-iiop parameters
- // now display the appropriate results for this particular ejbCreate
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && isLegalRMIIIOP) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares [ {1} ] method with valid RMI-IIOP argument types.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbCreateFound && (!isLegalRMIIIOP)) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but [ {1} ] method has illegal parameter values. [ {2} ] methods arguments types must be legal types for RMI-IIOP.",
- new Object[] {methods[i].getName(),methods[i].getName(),methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodException.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodException.java
deleted file mode 100755
index b2e2960..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodException.java
+++ /dev/null
@@ -1,201 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session Bean's ejbCreate(...) methods exception test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- */
-public class EjbCreateMethodException extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's ejbCreate(...) methods exception test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw the
- * java.rmi.RemoteException to indicate a non-application exception. This
- * practice is deprecated in EJB 1.1---an EJB 1.1 compliant enterprise bean
- * should throw the jakarta.ejb.EJBException or another RuntimeException to
- * indicate non-application exceptions to the Container (see Section 12.2.2).
- * Note: Treat as a warning to user in this instance.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- int foundWarning = 0;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- Class [] ejbCreateMethodParameterTypes;
- int foundAtLeastOne = 0;
- boolean ejbCreateFound = false;
- boolean throwsRemoteException = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- throwsRemoteException = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // Compatibility Note: EJB 1.0 allowed the ejbCreate method to throw
- // the java.rmi.RemoteException to indicate a non-application
- // exception. This practice is deprecated in EJB 1.1---an EJB 1.1
- // compliant enterprise bean should throw the jakarta.ejb.EJBException
- // or another RuntimeException to indicate non-application
- // exceptions to the Container (see Section 12.2.2).
- // Note: Treat as a warning to user in this instance.
- Class [] exceptions = methods[i].getExceptionTypes();
- for (int z = 0; z < exceptions.length; ++z) {
- if ((exceptions[z].getName().equals("java.rmi.RemoteException")) ||
- (exceptions[z].getName().equals("RemoteException"))) {
- throwsRemoteException = true;
- break;
- }
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && (!throwsRemoteException) ) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- " [ {0} ] properly declares [ {1} ] method which properly does not throw java.rmi.RemoteException.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbCreateFound && throwsRemoteException) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Error: Compatibility Note:" +
- "\n An [ {0} ] method was found, but" +
- "\n EJB 1.0 allowed the ejbCreate method to throw the " +
- "\n java.rmi.RemoteException to indicate a non-application" +
- "\n exception. This practice is deprecated in EJB 1.1" +
- "\n ---an EJB 1.1 compliant enterprise bean should" +
- "\n throw the jakarta.ejb.EJBException or another " +
- "\n RuntimeException to indicate non-application exceptions" +
- "\n to the Container",
- new Object[] {methods[i].getName()}));
- foundWarning++;
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (foundWarning > 0) {
- result.setStatus(result.WARNING);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodFinal.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodFinal.java
deleted file mode 100755
index 04c0d16..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodFinal.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Session Bean's ejbCreate(...) methods final test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as final.
- *
- */
-public class EjbCreateMethodFinal extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's ejbCreate(...) methods final test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as final.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- int foundAtLeastOne = 0;
- boolean ejbCreateFound = false;
- boolean isFinal = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isFinal = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The method must not be declared as final or static.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isFinal(modifiers)){
- isFinal = true;
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && (!isFinal)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares non-final [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbCreateFound && isFinal) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.",
- new Object[] {methods[i].getName(),methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodName.java
deleted file mode 100755
index d95cfbb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodName.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session Bean's ejbCreate(...) methods name test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- */
-public class EjbCreateMethodName extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's ejbCreate(...) methods name test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- int foundAtLeastOne = 0;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
-
- // now display the appropriate results for this particular ejbCreate
- // method
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodPublic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodPublic.java
deleted file mode 100755
index 207268e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodPublic.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Session Bean's ejbCreate(...) methods public test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must be declared as public.
- *
- */
-public class EjbCreateMethodPublic extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's ejbCreate(...) methods public test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must be declared as public.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- Class [] ejbCreateMethodParameterTypes;
- int foundAtLeastOne = 0;
- boolean ejbCreateFound = false;
- boolean isPublic = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isPublic = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The method must be declared as public.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isPublic(modifiers)){
- isPublic = true;
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && isPublic) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares public [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbCreateFound && !isPublic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: An [ {0} ] method was found, but was not public.",
- new Object[] {methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodReturn.java
deleted file mode 100755
index 55e30e0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodReturn.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Session Bean's ejbCreate(...) methods return test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The return type must be void.
- *
- */
-public class EjbCreateMethodReturn extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's ejbCreate(...) methods return test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signature of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The return type must be void.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- Class [] ejbCreateMethodParameterTypes;
- int foundAtLeastOne = 0;
- boolean ejbCreateFound = false;
- boolean returnsVoid = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- returnsVoid = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- ejbCreateFound = true;
-
- // The return type must be void.
- Class rt = methods[i].getReturnType();
- if (rt.getName().equals("void")) {
- returnsVoid = true;
- foundAtLeastOne++;
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && returnsVoid) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares [ {1} ] method with valid 'void' return type.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbCreateFound && (!returnsVoid)) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "An [ {0} ] method was found, but [ {1} ] method has a non 'void' return type value. [ {2} ] methods return types must define return 'void' type for at least one ejbCreate method.",
- new Object[] {methods[i].getName(),methods[i].getName(),methods[i].getName()}));
- oneFailed = true;
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly declare at least one ejbCreate(...) method with valid 'void' return type. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodStatic.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodStatic.java
deleted file mode 100755
index e1efee3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/ejbcreatemethod/EjbCreateMethodStatic.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-/**
- * Session Bean's ejbCreate(...) methods static test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as static.
- *
- */
-public class EjbCreateMethodStatic extends EjbTest implements EjbCheck {
-
-
- /**
- * Session Bean's ejbCreate(...) methods static test.
- * Each session Bean class must define one or more ejbCreate(...) methods.
- * The number and signatures of a session Bean's create methods are specific
- * to each EJB class. The method signatures must follow these rules:
- *
- * The method name must be ejbCreate.
- *
- * The method must not be declared as static.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- boolean oneFailed = false;
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
-
- Class [] ejbCreateMethodParameterTypes;
- int foundAtLeastOne = 0;
- boolean ejbCreateFound = false;
- boolean isStatic = false;
- // start do while loop here....
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // reset flags from last time thru loop
- ejbCreateFound = false;
- isStatic = false;
-
- // The method name must be ejbCreate.
- if (methods[i].getName().startsWith("ejbCreate")) {
- foundAtLeastOne++;
- ejbCreateFound = true;
-
- // The method must not be declared as static.
- int modifiers = methods[i].getModifiers();
- if (Modifier.isStatic(modifiers)){
- isStatic = true;
- }
-
- // now display the appropriate results for this particular ejbCreate
- // method
- if (ejbCreateFound && (!isStatic)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] properly declares non-static [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- } else if (ejbCreateFound && isStatic) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For EJB Class [ {0} ] method [ {1} ]",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.",
- new Object[] {methods[i].getName(),methods[i].getName()}));
- }
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
-
- if (foundAtLeastOne == 0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- oneFailed = true;
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- oneFailed = true;
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
-
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateNoArgs.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateNoArgs.java
deleted file mode 100755
index d1560cc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateNoArgs.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.stateless;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Stateless session are only allowed to have create methods with no arguments.
- */
-public class StatelessCreateNoArgs extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Stateless session are only allowed to have create methods with no arguments.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String stateType = ((EjbSessionDescriptor)descriptor).getSessionType();
- if (EjbSessionDescriptor.STATELESS.equals(stateType)) {
- // RULE: Stateless session are only allowed to have create
- // methods with no arguments.
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- commonToBothInterfaces(descriptor.getHomeClassName(),(EjbSessionDescriptor)descriptor);
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- commonToBothInterfaces(descriptor.getLocalHomeClassName(),(EjbSessionDescriptor)descriptor);
- }
- }
- if (result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The bean's Home Interface properly defines one create Method with no args"));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- *
- */
-
-
- private void commonToBothInterfaces(String home, EjbSessionDescriptor descriptor) {
- try {
-
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- Method m = null;
- for(Method methods : c.getDeclaredMethods()) {
- if (methods.getName().equals("create")) {
- m = methods;
- break;
- }
- }
- //check if this method m does not have any paramenter
- if (m != null) {
- Class cc[] = m.getParameterTypes();
- if (cc.length > 0) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The create method has one or more parameters \n" +
- "within bean [ {0} ]. Stateless session are only allowed \n" +
- "to have create methods with no arguments.",
- new Object[] {home}));
- }
- } else {
- // set status to FAILED, 'cause there is not even
- // a create method to begin with, regardless of its parameters
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: No Create method exists within bean [ {0} ]",
- new Object[] {home}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Class [ {0} ] not found within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateOnlyOne.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateOnlyOne.java
deleted file mode 100755
index 16f152e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateOnlyOne.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.stateless;
-
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Stateless session beans home interface create method test.
- * The home interface of a stateless session Bean must have a create method.
- * The home interface must not have any other create methods.
- */
-public class StatelessCreateOnlyOne extends EjbTest implements EjbCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Stateless session beans home interface create method test.
- * The home interface of a stateless session Bean must have a create method.
- * The home interface must not have any other create methods.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String stateType = ((EjbSessionDescriptor)descriptor).getSessionType();
- if (EjbSessionDescriptor.STATELESS.equals(stateType)) {
- // RULE: Stateless session are only allowed to have create
- // methods with no arguments, and returns the session Bean's
- // remote interface. The home interface must not have any
- // other create methods.
- if(descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()))
- commonToBothInterfaces(descriptor.getHomeClassName(),(EjbSessionDescriptor)descriptor);
- if(descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName()))
- commonToBothInterfaces(descriptor.getLocalHomeClassName(),(EjbSessionDescriptor)descriptor);
- }
- }
- if (result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The bean's Home Interface has exactly one create Method defined"));
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- */
-
- private void commonToBothInterfaces(String home, EjbSessionDescriptor descriptor) {
- try {
- int count = 0;
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- for(Method methods : c.getDeclaredMethods()) {
- if (methods.getName().equals("create"))
- count++;
- }
- if(count!=1) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] Create methods exists within bean [ {1} ]. " +
- "The home interface must have only one create method for stateless session bean.",
- new Object[] {new Integer(count),home}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Class [ {0} ] not found within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateReturn.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateReturn.java
deleted file mode 100755
index 74dece3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessCreateReturn.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.stateless;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-/**
- * Stateless session beans home interface create method return test.
- * The home interface of a stateless session Bean must have a create method that
- * takes no arguments, and returns the session Bean's remote interface.
- */
-public class StatelessCreateReturn extends EjbTest implements EjbCheck {
- boolean foundAtLeastOneCreate = false;
- Result result = null;
- ComponentNameConstructor compName = null;
-
- /**
- * Stateless session beans home interface create method return test.
- * The home interface of a stateless session Bean must have a create method that
- * takes no arguments, and returns the session Bean's remote interface.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String stateType = ((EjbSessionDescriptor)descriptor).getSessionType();
- if (EjbSessionDescriptor.STATELESS.equals(stateType)) {
- // RULE: Stateless session are only allowed to have create
- // methods with no arguments, and returns the session Bean's
- // remote interface. The home interface must not have any
- // other create methods.
- if (descriptor.getHomeClassName() != null && !"".equals(descriptor.getHomeClassName()) &&
- descriptor.getRemoteClassName() != null && !"".equals(descriptor.getRemoteClassName()) )
- commonToBothInterfaces(descriptor.getRemoteClassName(),descriptor.getHomeClassName(),(EjbSessionDescriptor)descriptor);
-
- if (descriptor.getLocalHomeClassName() != null && !"".equals(descriptor.getLocalHomeClassName())&&
- descriptor.getLocalClassName() != null && !"".equals(descriptor.getLocalClassName()))
- commonToBothInterfaces(descriptor.getLocalClassName(),descriptor.getLocalHomeClassName() ,(EjbSessionDescriptor)descriptor);
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() +".passed",
- "create method is properly defined in the remote/local home interface"));
- }
- return result;
- }
- }
- return result;
- }
-
- /**
- * This method is responsible for the logic of the test. It is called for both local and remote interfaces.
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @param home for the Home interface of the Ejb.
- * @param remote Remote/Local interface
- */
-
- private void commonToBothInterfaces(String remote, String home, EjbSessionDescriptor descriptor) {
- try {
- Class c = Class.forName(home, false, getVerifierContext().getClassLoader());
- for (Method methods : c.getDeclaredMethods()) {
- if (methods.getName().startsWith("create")) {
- Class methodReturnType = methods.getReturnType();
- if (!(methodReturnType.getName().equals(remote))) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".debug1",
- "For Home Interface [ {0} ] Method [ {1} ]",
- new Object[] {home,methods.getName()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: A Create method was found, but the " +
- "return type [ {0} ] was not the Remote/Local interface" ,
- new Object[] {methodReturnType.getName()}));
-
- }
- }
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Home/Local Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ]",
- new Object[] {home, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessEjbCreateHome.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessEjbCreateHome.java
deleted file mode 100755
index 73c3658..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/session/stateless/StatelessEjbCreateHome.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.session.stateless;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbCheck;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-import java.lang.reflect.Method;
-
-/**
- * Stateless session enterprise beans class single create method test.
- * The session enterprise Bean class must define a single ejbCreate method
- * that takes no arguments.
- */
-public class StatelessEjbCreateHome extends EjbTest implements EjbCheck {
-
-
- /**
- * Stateless session enterprise beans class single create method test.
- * The session enterprise Bean class must define a single ejbCreate method
- * that takes no arguments.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof EjbSessionDescriptor) {
- String stateType = ((EjbSessionDescriptor)descriptor).getSessionType();
- if (EjbSessionDescriptor.STATELESS.equals(stateType)) {
- // RULE: The stateless session enterprise Bean class must define a
- // single ejbCreate method that takes no arguments.
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- Method m= null;
- int foundThisManyTimes = 0;
- // start do while loop here....
- do {
- Method methods[] = c.getDeclaredMethods();
- for (int i=0; i< methods.length; i++) {
- if (!methods[i].getName().equals("ejbCreate")){
- continue;
- }
- if (foundThisManyTimes == 0) {
- m = methods[i];
- foundThisManyTimes++;
- } else {
- foundThisManyTimes++;
- }
- }
- } while (((c = c.getSuperclass()) != null) && (m == null));
-
- //if we know that m got set to create in the above loop, check params
- // otherwise skip test, set status to FAILED below,
- if ((m != null) && (foundThisManyTimes == 1)) {
- Class cc[] = m.getParameterTypes();
- if (cc.length > 0) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The ejbCreate method has one or more parameters \n" +
- "within bean [ {0} ]. Stateless session are only allowed \n" +
- "to have ejbCreate methods with no arguments.",
- new Object[] {descriptor.getEjbClassName()}));
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Valid: This bean's [ {0} ] ejbCreate method has no parameters."
- + "\n Stateless session beans can only have a ejbCreate method"
- + "\n with no parameters.",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } else if ((m != null) && (foundThisManyTimes > 1)) {
- // set status to FAILED, 'cause there is more than one
- // create methods to begin with, regardless of its parameters
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: [ {0} ] ejbCreate methods exists within bean [ {1} ]. The EJB class must have only one ejbCreate method for stateless session bean. ",
- new Object[] {new Integer(foundThisManyTimes),descriptor.getEjbClassName()}));
- } else {
- // set status to FAILED, 'cause there is not even
- // a create method to begin with, regardless of its parameters
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "Error: No ejbCreate method exists within bean [ {0} ]",
- new Object[] {descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: Class [ {0} ] not found within bean [ {1} ]",
- new Object[] {descriptor.getEjbClassName(), descriptor.getName()}));
- }
- return result;
-
- } else if (EjbSessionDescriptor.STATEFUL.equals(stateType)) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "{0} expected {1} Session bean, but called with {2} Session bean.",
- new Object[] {getClass(),EjbSessionDescriptor.STATELESS,stateType}));
- return result;
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed4",
- "Error: [ {0} ] is not valid stateType within bean [ {1} ].",
- new Object[] {stateType, descriptor.getName()}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "[ {0} ] expected {1} bean, but called with {2} bean.",
- new Object[] {getClass(),"Session","Entity"}));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/timer/HasValidEjbTimeoutDescriptor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/timer/HasValidEjbTimeoutDescriptor.java
deleted file mode 100644
index 66caea5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/timer/HasValidEjbTimeoutDescriptor.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.timer;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-
-/**
- * Check that the transaction attributes for the ejbTimeout method are one
- * of the following -
- * RequiresNew or NotSupported
- *
- * @version
- * @author Anisha Malhotra
- */
-public class HasValidEjbTimeoutDescriptor extends EjbTest {
- Result result = null;
- ComponentNameConstructor compName = null;
- /**
- * Run a verifier test to check the transaction attributes of the
- * ejbTimeout method. The allowed attributes are -
- * RequiresNew or NotSupported.
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(EjbDescriptor descriptor) {
-
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- if(descriptor.isTimedObject()) {
-
- if (descriptor.getTransactionType().equals
- (EjbDescriptor.CONTAINER_TRANSACTION_TYPE)) {
- MethodDescriptor methodDesc = descriptor.getEjbTimeoutMethod();
- ContainerTransaction txAttr =
- descriptor.getContainerTransactionFor(methodDesc);
- String version = getVerifierContext().getJavaEEVersion();
- if(txAttr != null) {
- String ta = txAttr.getTransactionAttribute();
- if ((version.compareTo(SpecVersionMapper.JavaEEVersion_5) >= 0) &&
- !(ContainerTransaction.REQUIRES_NEW.equals(ta)
- || ContainerTransaction.NOT_SUPPORTED.equals(ta)
- || ContainerTransaction.REQUIRED.equals(ta))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed1",
- "Error : Bean [ {0} ] Transaction attribute for timeout method" +
- "must be Required, RequiresNew or NotSupported",
- new Object[] {descriptor.getName()}));
- } else if ((version.compareTo(SpecVersionMapper.JavaEEVersion_5) < 0) &&
- !(ContainerTransaction.REQUIRES_NEW.equals(ta)
- || ContainerTransaction.NOT_SUPPORTED.equals(ta))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed2",
- "Error : Bean [ {0} ] Transaction attribute for ejbTimeout " +
- "must be RequiresNew or NotSupported",
- new Object[] {descriptor.getName()}));
-
- }
- } else if(version.compareTo(SpecVersionMapper.JavaEEVersion_5)<0) {
- // Transaction attribute for ejbTimeout not specified in the DD
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName()+".failed3",
- "Transaction attribute for Timeout is not specified for [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- }
- }
-
- if (result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName()+".passed",
- "Transaction attributes are properly specified"));
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/timer/ImplementsTimedObjectTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/timer/ImplementsTimedObjectTest.java
deleted file mode 100644
index 6f39ba6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/ejb/timer/ImplementsTimedObjectTest.java
+++ /dev/null
@@ -1,72 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.ejb.timer;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.ejb.EjbTest;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-import org.glassfish.ejb.deployment.descriptor.EjbSessionDescriptor;
-
-/**
- * Checks if the EJB class implements the TimedObject interface
- *
- * @version
- * @author Anisha Malhotra
- */
-public class ImplementsTimedObjectTest extends EjbTest {
-
- ComponentNameConstructor compName = null;
- /**
- * Checks if the EJB class implements the TimedObject interface
- *
- * @param descriptor the Enterprise Java Bean deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- @Override
- public Result check(EjbDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- boolean isEjb30 = descriptor.getEjbBundleDescriptor().getSpecVersion().equalsIgnoreCase("3.0");
- if(descriptor.isTimedObject()) {
- //Timers can be created for stateless session beans, message-driven beans,
- //and 2.1 entity beans.Timers cannot be created for stateful session beans or EJB 3.0 entities.
- if(((descriptor instanceof EjbEntityDescriptor) && isEjb30)
- || ( (descriptor instanceof EjbSessionDescriptor) &&
- ((((EjbSessionDescriptor)descriptor).getSessionType()).equals
- (EjbSessionDescriptor.STATEFUL)) )) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+
- ".failed1", "[ {0} ] must not implement the TimedObject interface." +
- "Only 2.1 entity beans or stateless session beans may " +
- "implement the TimedObject interface" ,
- new Object[] {descriptor.getEjbClassName()}));
- }
- }
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString (getClass().getName()+".passed",
- "[ {0} ] properly implements the TimedObject interface",
- new Object[] {descriptor.getEjbClassName()}));
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/ClassNotFound.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/ClassNotFound.java
deleted file mode 100644
index 558d843..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/ClassNotFound.java
+++ /dev/null
@@ -1,52 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.persistence;
-
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-
-/**
- * The names of classes specified in persistence.xml must be loadable.
- * TopLink simply ignores if class could not be loaded. So we need this test.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class ClassNotFound extends VerifierTest implements VerifierCheck {
- public Result check(Descriptor descriptor) {
- Result result = getInitializedResult();
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED);
- final PersistenceUnitDescriptor pu = PersistenceUnitDescriptor.class.cast(descriptor);
- for(String className : pu.getClasses()) {
- try {
- Class.forName(className, false, getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- result.failed(smh.getLocalString(getClass().getName() + "failed1",
- "Class [ {0} ] could not be loaded", new Object[]{className}));
- } catch (NoClassDefFoundError e) {
- result.failed(smh.getLocalString(getClass().getName() + "failed2",
- "Class [ {0} ] could not be loaded " +
- "because a dependent class could not be loaded. See reason:\n [ {1} ]",
- new Object[]{className,e.getMessage()}));
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/DefaultProviderVerification.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/DefaultProviderVerification.java
deleted file mode 100644
index 8353aeb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/DefaultProviderVerification.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.persistence;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.persistence.AVKPersistenceUnitInfoImpl;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-
-import jakarta.persistence.EntityManagerFactory;
-import jakarta.persistence.PersistenceException;
-
-import jakarta.persistence.spi.PersistenceProvider;
-import jakarta.persistence.spi.PersistenceUnitInfo;
-import java.util.logging.Level;
-import java.util.Properties;
-
-import org.eclipse.persistence.exceptions.IntegrityException;
-import org.eclipse.persistence.exceptions.ValidationException;
-import org.eclipse.persistence.exceptions.DatabaseException;
-import org.eclipse.persistence.config.PersistenceUnitProperties;
-import org.glassfish.api.deployment.InstrumentableClassLoader;
-
-/**
- * This test uses TopLink Essential to do the validation.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class DefaultProviderVerification extends VerifierTest
- implements VerifierCheck {
- public Result check(Descriptor descriptor) {
- PersistenceUnitDescriptor pu =
- PersistenceUnitDescriptor.class.cast(descriptor);
- Result result = getInitializedResult();
- result.setStatus(Result.PASSED);
- PersistenceProvider provider;
- final String appLocation =
- getVerifierContext().getAbstractArchive().getURI().getPath();
- final InstrumentableClassLoader cl =
- InstrumentableClassLoader.class.cast(pu.getParent().getClassLoader());
- PersistenceUnitInfo pi = new AVKPersistenceUnitInfoImpl(pu, appLocation, cl);
- logger.fine("PersistenceInfo for PU is :\n" + pi);
- Properties props = new Properties();
- // This property is set to indicate that TopLink should only
- // validate the descriptors etc. and not try to login to database.
- props.put(PersistenceUnitProperties.VALIDATION_ONLY_PROPERTY,
- "TRUE"); // NOI18N
- // This property is used so that TopLink throws validation exceptions
- // as opposed to printing CONFIG level messages to console.
- // e.g. if mapping file does not exist, we will get an exception.
- props.put(PersistenceUnitProperties.THROW_EXCEPTIONS,
- "TRUE"); // NOI18N
-
- // the following property is needed as it initializes the logger in TL
- props.put(PersistenceUnitProperties.TARGET_SERVER,
- "SunAS9"); // NOI18N
-
- // Turn off enhancement during verification. For details,
- // refer to http://glassfish.dev.java.net/issues/show_bug.cgi?id=3295
- props.put(PersistenceUnitProperties.WEAVING, "FALSE");
-
- provider = new org.eclipse.persistence.jpa.PersistenceProvider();
- EntityManagerFactory emf = null;
- try {
- emf = provider.createContainerEntityManagerFactory(pi, props);
- logger.logp(Level.FINE, "DefaultProviderVerification", "check",
- "emf = {0}", emf);
- } catch(IntegrityException ie){
- result.setStatus(Result.FAILED);
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
- for(Object o: ie.getIntegrityChecker().getCaughtExceptions()){
- Exception e = Exception.class.cast(o);
- result.addErrorDetails(e.getMessage());
- }
- } catch (ValidationException ve) {
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
- result.failed(ve.getMessage());
- logger.logp(Level.FINE, "DefaultProviderVerification", "check", "Following exception occurred", ve);
- } catch(DatabaseException de) {
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
- result.failed(de.getMessage());
- logger.logp(Level.FINE, "DefaultProviderVerification", "check", "Following exception occurred", de);
- } catch(PersistenceException pe) {
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
- result.failed(pe.getMessage());
- logger.logp(Level.FINE, "DefaultProviderVerification", "check", "Following exception occurred", pe);
- } finally {
- if(emf != null) {
- emf.close();
- }
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/DuplicatePUNameTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/DuplicatePUNameTest.java
deleted file mode 100644
index e5c8501..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/DuplicatePUNameTest.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.persistence;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import com.sun.enterprise.deployment.PersistenceUnitsDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import java.util.List;
-import java.util.ArrayList;
-
-/**
- * A persistence unit must have a name.
- * Only one persistence unit of any given name may be defined
- * within a single EJB-JAR file, within a single WAR file,
- * within a single application client jar, or within
- * an EAR (in the EAR root or lib directory).
- * See section #6.2 of EJB 3.0 Persistence API spec
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class DuplicatePUNameTest extends VerifierTest implements VerifierCheck {
- public Result check(Descriptor descriptor) {
- PersistenceUnitDescriptor pu = PersistenceUnitDescriptor.class.cast(
- descriptor);
- Result result = getInitializedResult();
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED); // default status is PASSED
- int count = 0;
- for(PersistenceUnitDescriptor nextPU : getPUsInSameScope(pu)) {
- result.addErrorDetails(smh.getLocalString(getClass().getName() + "puName",
- "Found a persistence unit by name [ {0} ] in persistence unit root [ {1} ]",
- new Object[]{nextPU.getName(), nextPU.getPuRoot()}));
- if (nextPU.getName().equals(pu.getName())) count++;
- }
- if (count != 1) {
- result.failed(smh.getLocalString(getClass().getName() + "failed",
- "There are [ {0} ] number of persistence units by name [ {1} ]",
- new Object[]{count, pu.getName()}));
- }
- return result;
- }
-
- /**
- * @return the list of PersistenceUnits which will be tested to see if they contain duplicate PU name.
- */
- private List<PersistenceUnitDescriptor> getPUsInSameScope(PersistenceUnitDescriptor pu) {
- List<PersistenceUnitDescriptor> result;
- if(pu.getParent().getParent().isApplication()) {
- // for ear, the PU name has to be unique only within a jar file.
- result = pu.getParent().getPersistenceUnitDescriptors();
- } else {
- // for war/ejb-jar/appclient-jar, PU name has to be unique within the whole BundleDescriptor.
- result = new ArrayList<PersistenceUnitDescriptor>();
- for (PersistenceUnitsDescriptor pus : pu.getParent().getParent().getExtensionsDescriptors(PersistenceUnitsDescriptor.class)) {
- for(PersistenceUnitDescriptor nextPU : pus.getPersistenceUnitDescriptors()) {
- result.add(nextPU);
- }
- }
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/JarNotFound.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/JarNotFound.java
deleted file mode 100644
index f7db3a4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/JarNotFound.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.persistence;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import com.sun.enterprise.deployment.BundleDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-
-import java.io.File;
-import java.util.ArrayList;
-import java.util.List;
-
-import org.glassfish.deployment.common.DeploymentUtils;
-import org.glassfish.deployment.common.RootDeploymentDescriptor;
-
-/**
- * jar files specified using <jar-file> element in persistence.xml should be
- * present in the archive.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class JarNotFound extends VerifierTest implements VerifierCheck {
- public Result check(Descriptor descriptor) {
- Result result = getInitializedResult();
- result.setStatus(Result.PASSED);
- addErrorDetails(result,
- getVerifierContext().getComponentNameConstructor());
- PersistenceUnitDescriptor pu = PersistenceUnitDescriptor.class.cast(
- descriptor);
- File absolutePURootFile = getAbsolutePuRootFile(pu);
- logger.fine("Absolute PU Root: " + absolutePURootFile);
- String absolutePuRoot = absolutePURootFile.getAbsolutePath();
- List<String> jarFileNames = new ArrayList<String>(pu.getJarFiles());
- for (String jarFileName : jarFileNames) {
- // ASSUMPTION:
- // Because of the way deployment changes names of directories etc.
- // it is very difficult to back calculate path names. So,
- // the following code assumes user is specifying valid URIs.
-
- // in the xml, names always use '/'
- String nativeJarFileName = jarFileName.replace('/',
- File.separatorChar);
- final File parentFile = new File(absolutePuRoot).getParentFile();
- // only components are exploded, hence first look for original archives.
- File jarFile = new File(parentFile, nativeJarFileName);
- if (!jarFile.exists()) {
- // if the referenced jar is itself a component, then
- // it might have been exploded, hence let's see
- // if that is the case.
-
- // let's calculate the name component and path component from this URI
- // e.g. if URI is ../../foo_bar/my-ejb.jar,
- // name component is foo_bar/my-ejb.jar and
- // path component is ../../
- // These are my own notions used here.
- String pathComponent = "";
- String nameComponent = jarFileName;
- if(jarFileName.lastIndexOf("../") != -1) {
- final int separatorIndex = jarFileName.lastIndexOf("../")+3;
- pathComponent = jarFileName.substring(0,separatorIndex);
- nameComponent = jarFileName.substring(separatorIndex);
- }
- logger.fine("For jar-file="+ jarFileName+ ", " +
- "pathComponent=" +pathComponent +
- ", nameComponent=" + nameComponent);
- File parentPath = new File(parentFile, pathComponent);
- jarFile = new File(parentPath, DeploymentUtils.
- getRelativeEmbeddedModulePath(parentPath.
- getAbsolutePath(), nameComponent));
-
- if (!jarFile.exists()) {
- result.failed(smh.getLocalString(
- getClass().getName() + "failed",
- "[ {0} ] specified in persistence.xml does not exist in the application.",
- new Object[]{jarFileName}));
- }
- }
- }
- return result;
- }
-
- private File getAbsolutePuRootFile(
- PersistenceUnitDescriptor persistenceUnitDescriptor) {
- final String applicationLocation =
- getVerifierContext().getAbstractArchive().getURI().getPath();
- File absolutePuRootFile = new File(applicationLocation,
- getAbsolutePuRoot(applicationLocation,
- persistenceUnitDescriptor).replace('/', File.separatorChar));
- if (!absolutePuRootFile.exists()) {
- throw new RuntimeException(
- absolutePuRootFile.getAbsolutePath() + " does not exist!");
- }
- return absolutePuRootFile;
- }
-
- /**
- * This method calculates the absolute path of the root of a PU.
- * Absolute path is not the path with regards to root of file system.
- * It is the path from the root of the Java EE application this
- * persistence unit belongs to.
- * Returned path always uses '/' as path separator.
- * @param applicationLocation absolute path of application root
- * @param persistenceUnitDescriptor
- * @return the absolute path of the root of this persistence unit
- */
- private String getAbsolutePuRoot(String applicationLocation,
- PersistenceUnitDescriptor persistenceUnitDescriptor) {
- RootDeploymentDescriptor rootDD = persistenceUnitDescriptor.getParent(). getParent();
- String puRoot = persistenceUnitDescriptor.getPuRoot();
- if(rootDD.isApplication()){
- return puRoot;
- } else {
- ModuleDescriptor module = BundleDescriptor.class.cast(rootDD).
- getModuleDescriptor();
- if(module.isStandalone()) {
- return puRoot;
- } else {
- final String moduleLocation =
- DeploymentUtils.getRelativeEmbeddedModulePath(
- applicationLocation, module.getArchiveUri());
- return moduleLocation + '/' + puRoot; // see we always '/'
- }
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/MappingFileNotFound.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/MappingFileNotFound.java
deleted file mode 100644
index 06902e6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/persistence/MappingFileNotFound.java
+++ /dev/null
@@ -1,53 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.persistence;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.PersistenceUnitDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.VerifierCheck;
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import java.util.ArrayList;
-import java.util.List;
-
-/**
- * Mapping files specified using <mapping-file> element in persistence.xml
- * should be resource-loadable from the application classpath.
- *
- * @author bshankar@sun.com
- */
-public class MappingFileNotFound extends VerifierTest implements VerifierCheck {
-
- public Result check(Descriptor descriptor) {
- Result result = getInitializedResult();
- result.setStatus(Result.PASSED);
- addErrorDetails(result, getVerifierContext().getComponentNameConstructor());
-
- PersistenceUnitDescriptor pu = PersistenceUnitDescriptor.class.cast(descriptor);
- List<String> mappingFileNames = new ArrayList<String>(pu.getMappingFiles());
- for (String mappingFileName : mappingFileNames) {
- if(getVerifierContext().getClassLoader().getResource(mappingFileName) == null) {
- result.failed(smh.getLocalString(
- getClass().getName() + "failed",
- "Mapping file [ {0} ] specified in persistence.xml does not exist in the application.",
- new Object[]{mappingFileName}));
- }
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/ArchiveClassesLoadableHelper.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/ArchiveClassesLoadableHelper.java
deleted file mode 100644
index 98a4f40..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/ArchiveClassesLoadableHelper.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.util;
-
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompiler;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-import java.util.*;
-import java.io.File;
-
-/**
- * This class is a helper around {@link ClosureCompiler}.
- *
- * @author Sanjeeb.Sahoo@Sun.COM
- */
-public class ArchiveClassesLoadableHelper {
- /**
- * This method is used to print the result in various
- * *ArchiveClassesLoadable tests.
- * @param cc a closure compiler which provides the necesasry information
- * @return a localized string which contains the details.
- */
- public static String getFailedResult(ClosureCompiler cc){
- StringBuilder sb = new StringBuilder();
- sb.append("\n");
- for (Object o : cc.getFailed().entrySet()) {
- Map.Entry<String, List<String>> referencingPathToFailedList =
- (Map.Entry<String, List<String>>)o;
- LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
- String classes = "Failed to find following classes:";
- if (smh != null) {
- classes = smh.getLocalString(
- ArchiveClassesLoadableHelper.class.getName() + ".classes",
- classes);
- }
- sb.append(classes).append("\n[");
- for (Iterator<String> iii = referencingPathToFailedList.getValue().iterator();
- iii.hasNext();) {
- sb.append("\n\t").append(iii.next());
- if(iii.hasNext()) sb.append(",");
- }
- sb.append("\n]");
- String referencingPath = referencingPathToFailedList.getKey();
- if(referencingPath.length()==0) continue; // skip if a top level class is not found
- String ref = "referenced in the following call stack :\n";
- String reference = "at";
- if (smh != null) {
- ref = smh.getLocalString(
- ArchiveClassesLoadableHelper.class.getName() + ".ref",
- ref);
- reference = smh.getLocalString(
- ArchiveClassesLoadableHelper.class.getName() + ".reference",
- reference);
- }
- StringTokenizer st = new StringTokenizer(referencingPath, File.separator);
- Stack<String> referencingClassStack = new Stack<String>();
- while(st.hasMoreTokens()) {
- referencingClassStack.push(st.nextToken());
- }
- if(!referencingClassStack.isEmpty())
- sb.append("\n\n"+ref);
- while(!referencingClassStack.isEmpty()){
- sb.append("\n\t").append(reference).append(" ");
- sb.append(referencingClassStack.pop());
- }
- sb.append("\n\n");
- }
- return sb.toString();
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/BundledOptPkgHasDependencies.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/BundledOptPkgHasDependencies.java
deleted file mode 100644
index dba7df7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/BundledOptPkgHasDependencies.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * JarFileDependsOnOutsidePackage.java
- *
- * Created on August 30, 2004, 10:16 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.util;
-
-import com.sun.enterprise.tools.verifier.Result;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.util.StringTokenizer;
-import java.util.jar.Attributes;
-import java.util.jar.JarFile;
-import java.util.jar.Manifest;
-
-/**
- *
- * @author ss141213
- * This as per J2EE 1.4 spec section#8.2. Contents from spec is given below...
- * Only Jar format files containing class files or resources to be loaded directly
- * by a standard ClassLoader should be the target of a Class-Path reference;
- * such files are always named with a .jar extension.
- * Top level Jar files that are processed by a deployment tool
- * should not contain Class-Path entries;
- * such entries would, by definition,
- * reference other files external to the deployment unit.
- * A deployment tool is not required to process such external references.
- */
-public class BundledOptPkgHasDependencies {
- public static void test(String explodedJarPath, Result result){
- try (FileInputStream fis = new FileInputStream(new File(explodedJarPath+File.separator+JarFile.MANIFEST_NAME))){
- boolean failed=false;
- Manifest manifest=new Manifest(fis);
- String depClassPath=manifest.getMainAttributes().getValue(Attributes.Name.CLASS_PATH);
- if(depClassPath!=null){
- for(StringTokenizer st=new StringTokenizer(depClassPath);st.hasMoreTokens();){
- String entry=st.nextToken();
- String entryPath=new File(explodedJarPath).getParent()+File.separator+entry;
- File bundledOptPkg=new File(entryPath);
- if(!bundledOptPkg.isDirectory()){
- try (JarFile jf = new JarFile(bundledOptPkg)) {
- Manifest bundledManifest = jf.getManifest();
- String bundledCP = bundledManifest.getMainAttributes().getValue(Attributes.Name.CLASS_PATH);
- if (bundledCP != null && bundledCP.length() != 0) {
- failed = true;
- result.failed(entry + " contains Class-Path in it's manifest.");
- }
- }
- }
- }
- }//if
- if(!failed){
- result.setStatus(Result.PASSED);
- }
- }catch(Exception e){
- result.failed(e.toString());
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/WebArchiveLoadableHelper.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/WebArchiveLoadableHelper.java
deleted file mode 100644
index 4418104..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/util/WebArchiveLoadableHelper.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.util;
-
-import java.io.File;
-import java.util.Map;
-import java.util.List;
-import java.util.Iterator;
-import java.util.StringTokenizer;
-import java.util.Stack;
-
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompiler;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-
-/**
- * @author Sudipto Ghosh
- */
-public class WebArchiveLoadableHelper {
-
- public static String getFailedResults(ClosureCompiler cc, File jspDir) {
- StringBuilder sb = new StringBuilder();
- sb.append("\n");
- for (Object o : cc.getFailed().entrySet()) {
- Map.Entry<String, List<String>> referencingPathToFailedList =
- (Map.Entry<String, List<String>>)o;
- LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
- String classes = "Failed to find following classes:";
- if (smh != null) {
- classes = smh.getLocalString(
- WebArchiveLoadableHelper.class.getName() + ".classes",
- classes);
- }
- sb.append(classes).append("\n[");
- for (Iterator<String> iii = referencingPathToFailedList.getValue().iterator();
- iii.hasNext();) {
- sb.append("\n\t").append(iii.next());
- if(iii.hasNext()) sb.append(",");
- }
- sb.append("\n]");
- String referencingPath = referencingPathToFailedList.getKey();
- if(referencingPath.length()==0) continue; // skip if a top level class is not found
- String ref = "referenced in the following call stack :";
- String reference = "at";
- if (smh != null) {
- ref = smh.getLocalString(
- WebArchiveLoadableHelper.class.getName() + ".ref",
- ref);
- reference = smh.getLocalString(
- WebArchiveLoadableHelper.class.getName() + ".reference",
- reference);
- }
- StringTokenizer st = new StringTokenizer(referencingPath, File.separator);
- Stack<String> referencingClassStack = new Stack<String>();
- boolean jspDirExists = (jspDir != null && jspDir.exists());
- final String jspPkgName = "org.apache.jsp.";
- while(st.hasMoreTokens()) {
- String className = st.nextToken();
- //This logic is to map the compiled jsp class to original jsp name.
- //The logic is to find whether the ref class is in jsp out dir. If true
- //then maniputale the ref class to get the jsp name
- String fileName = className.replace(".", File.separator)+".class";
- if (jspDirExists &&
- className.startsWith(jspPkgName) &&
- new File(jspDir, fileName).exists()) {
- StringBuilder jspName = new StringBuilder(
- className.substring(jspPkgName.length()));
- int innerClassIndex = jspName.indexOf("$");
- if (innerClassIndex != -1) {
- jspName = jspName.replace(innerClassIndex, jspName.length(), "");
- }
- if(jspName.toString().endsWith("_jsp")) {
- jspName = jspName.replace(jspName.lastIndexOf("_jsp"),
- jspName.length(), ".jsp");
- } else if(jspName.toString().endsWith("_jspx")) {
- jspName = jspName.replace(jspName.lastIndexOf("_jspx"),
- jspName.length(), ".jspx");
- }
- className = jspName.toString();
- }
- referencingClassStack.push(className);
- }
- if ((!referencingClassStack.isEmpty()))
- sb.append("\n\n"+ref);
- while(!referencingClassStack.isEmpty()){
- sb.append("\n\t").append(reference).append(" ");
- sb.append(referencingClassStack.pop());
- }
- sb.append("\n\n");
- }
- return sb.toString();
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/AllJSPsMustBeCompilable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/AllJSPsMustBeCompilable.java
deleted file mode 100644
index cd2a743..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/AllJSPsMustBeCompilable.java
+++ /dev/null
@@ -1,127 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * AllJSPsMustBeCompilable.java
- *
- * Created on August 27, 2004, 11:57 AM
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-
-import java.io.File;
-import java.util.List;
-import java.util.logging.Level;
-import java.net.URI;
-
-import org.apache.jasper.JspC;
-import org.apache.jasper.JasperException;
-/**
- *
- * @author ss141213
- */
-public class AllJSPsMustBeCompilable extends WebTest implements WebCheck{
-
- public Result check(WebBundleDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- // initialize good result
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString(getClass().getName() + ".passed",
- "All JSPs are compilable."));
- // set default status to PASSED
- result.setStatus(Result.PASSED);
- // initialize error results.
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString(getClass().getName() + ".exception",
- "Error: Some JSPs bundled inside [ {0} ] could not be compiled. See details below.",
- new Object[] {descriptor.getName()}));
- for(JasperException e : compile(descriptor)){
- result.failed(formatMessage(descriptor, e.toString()));
- }
- return result;
- }
-
- protected List<JasperException> compile(WebBundleDescriptor descriptor) {
- String archiveUri = getAbstractArchiveUri(descriptor);
- File outDir=getVerifierContext().getOutDir();
- logger.log(Level.INFO, "Compiling JSPs in [ " +new File(archiveUri).getName()+ " ]");
- JspC jspc=new JspC();
- jspc.setUriroot(new File(URI.create(archiveUri)).getAbsolutePath());
- jspc.setCompile(true);
- jspc.setOutputDir(outDir.getAbsolutePath());
- jspc.setFailOnError(false);
- setClassPath(jspc);
- jspc.setSchemaResourcePrefix("/schemas/");
- jspc.setDtdResourcePrefix("/dtds/");
- if (logger.isLoggable(Level.FINEST))
- jspc.setVerbose(1);
- try {
- jspc.execute();
- } catch(JasperException je) {
- List<JasperException> errors = jspc.getJSPCompilationErrors();
- errors.add(je);
- return errors;
- }
- return jspc.getJSPCompilationErrors();
- }
-
- /**
- * @param jspc
- */
- private void setClassPath(JspC jspc) {
- /*
- ClassPath settings of JspC is tricky.
- JspC has two classpath settings, viz: classPath and systemClassPath.
- systemClassPath defaults to the value set in java.class.path
- system property. It is not clear how they differ.
- From the JspC code, it looks like that JspC uses systemClassPath to
- construct what they call a systemCL and it uses classPath to construct
- what they call loader whose parent is set as systemCL. loader is set as
- ThreadContextClassLoader during jspc. More over, when JspC invokes
- javac, it combines classPath and systemClassPath sets that as
- javac classpath. So, it does not really matter what goes in which variable
- as long as the order is preserved.
- There are three different modes:
- 1. standalone portable mode, 2. standalone appserver mode and
- 3. deployment backend.
- In all the cases, we only set the classPath. systemClassPath is
- internally set correctly using java.class.path variable in JspC.
- Any way our WebArchiveClassesLoadable will take care of
- proprietary class linking.
- */
- String cp = getVerifierContext().getClassPath();
- logger.log(Level.FINE, "JSPC classpath "+ cp);
- jspc.setClassPath(cp);
- }
-
- private String formatMessage(WebBundleDescriptor descriptor, String message) {
- if (message == null || descriptor == null) return null;
- String formattedMessage = message;
- String archiveUri = getAbstractArchiveUri(descriptor);
- int index = message.indexOf(archiveUri);
- if(index != -1) {
- formattedMessage = message.substring(index + archiveUri.length() + 1);
- }
- return formattedMessage;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/AuthMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/AuthMethod.java
deleted file mode 100755
index d07d680..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/AuthMethod.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/** The auth-method element is used to configure the authentication mechanism
- * for the web application. As a prerequisite to gaining access to any web
- * resources which are protected by an authorization constraint, a user must
- * have authenticated using the configured mechanism. Legal values for this
- * element are "BASIC", "DIGEST", "FORM", or "CLIENT-CERT".
- */
-public class AuthMethod extends WebTest implements WebCheck {
-
-
- /** The auth-method element is used to configure the authentication mechanism
- * for the web application. As a prerequisite to gaining access to any web
- * resources which are protected by an authorization constraint, a user must
- * have authenticated using the configured mechanism. Legal values for this
- * element are "BASIC", "DIGEST", "FORM", or "CLIENT-CERT".
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getLoginConfiguration() != null) {
- boolean foundIt = false;
- boolean na = false;
- String authMethod = descriptor.getLoginConfiguration().getAuthenticationMethod();
- if (authMethod.length() > 0) {
- // use hard-coded strings until DOL gets updated
- if ((authMethod.equals("BASIC")) ||
- (authMethod.equals("FORM")) ||
- (authMethod.equals("CLIENT-CERT")) ||
- (authMethod.equals("DIGEST"))) {
- foundIt = true;
- } else {
- foundIt = false;
- }
- } else {
- na = true;
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The auth-method [ {0} ] is legal value within web application [ {1} ]",
- new Object[] {authMethod, descriptor.getName()}));
- } else if (na) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no auth-method elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The auth-method [ {0} ] is not legal value within web application [ {1} ]. It must be either [ {2} ], [ {3} ], [ {4} ] or [ {5} ].",
- new Object[] {authMethod, descriptor.getName(),"BASIC","FORM","CLIENT-CERT","DIGEST"}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no auth-method elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/EjbLinkElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/EjbLinkElement.java
deleted file mode 100644
index 7395e2e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/EjbLinkElement.java
+++ /dev/null
@@ -1,161 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import java.util.logging.Level;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.EjbBundleDescriptor;
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.deployment.Application;
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/** The value of the ejb-link element is the ejb-name of an enterprise
- * bean in the same J2EE Application archive.
- */
-public class EjbLinkElement extends WebTest implements WebCheck {
-
-
- /** The value of the ejb-link element is the ejb-name of an enterprise
- * bean in the same J2EE Application archive.
- *
- * @param descriptor the Web Application deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean resolved = false;
- boolean oneFailed = false;
- int na = 0;
-
- // The value of the ejb-link element must be the ejb-name of an enterprise
- // bean in the same J2EE Application archive.
- String applicationName = null;
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- if (nextEjbReference.isLinked()) {
- String ejb_link = nextEjbReference.getLinkName();
- ejb_link = ejb_link.substring(ejb_link.indexOf("#") + 1);
- // get the application descriptor and check all ejb-jars in the application
- try {
- Application application = descriptor.getApplication();
- applicationName = application.getName();
-// File tmpFile = new File(System.getProperty("java.io.tmpdir"));
-// tmpFile = new File(tmpFile, Verifier.TMPFILENAME + ".tmp");
- // iterate through the ejb jars in this J2EE Application
- Set ejbBundles = application.getBundleDescriptors(EjbBundleDescriptor.class);
- Iterator ejbBundlesIterator = ejbBundles.iterator();
- EjbBundleDescriptor ejbBundle = null;
- while (ejbBundlesIterator.hasNext()) {
- ejbBundle = (EjbBundleDescriptor)ejbBundlesIterator.next();
-// if (Verifier.getEarFile() != null){
-// archivist.extractEntry(ejbBundle.getModuleDescriptor().getArchiveUri(), tmpFile);
-// }
- for (Iterator itr2 = ejbBundle.getEjbs().iterator(); itr2.hasNext();) {
- EjbDescriptor ejbDescriptor = (EjbDescriptor) itr2.next();
- if (ejbDescriptor.getName().equals(ejb_link)) {
- resolved = true;
- logger.log(Level.FINE, getClass().getName() + ".passed",
- new Object[] {ejb_link,ejbDescriptor.getName()});
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "ejb-link [ {0} ] found same value as EJB [ {1} ]",
- new Object[] {ejb_link,ejbDescriptor.getName()}));
- break;
- }
- }
- }
- } catch (Exception e) {
-
-
- logger.log(Level.FINE, "com.sun.enterprise.tools.verifier.testsprint {0}", new Object[] {"[" + getClass() + "] Error: " + e.getMessage()});
- if (!oneFailed) {
- oneFailed = true;
- }
- }
-
- // before you go onto the next ejb-link, tell me whether you
- // resolved the last ejb-link okay
- if (!resolved) {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No EJB matching [ {0} ] found within [ {1} ] ear file.",
- new Object[] {ejb_link, applicationName}));
- } else {
- // clear the resolved flag for the next ejb-link
- resolved =false;
- }
-
- } else {
- // Cannot get the link name of an ejb reference referring
- // to an external bean
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails
- (smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Not Applicable: Cannot verify the existance of an ejb reference [ {0} ] to external bean within different .ear file.",
- new Object[] {nextEjbReference.getName()}));
- na++;
- }
- }
-
- if (oneFailed) {
- result.setStatus(result.FAILED);
- } else if (na == descriptor.getEjbReferenceDescriptors().size()) {
- result.setStatus(result.NOT_APPLICABLE);
- } else {
- result.setStatus(result.PASSED);
- }
-// File tmpFile = new File(System.getProperty("java.io.tmpdir"));
-// tmpFile = new File(tmpFile, Verifier.TMPFILENAME + ".tmp");
-// tmpFile.delete();
- return result;
-
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/EntityManagerInjection.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/EntityManagerInjection.java
deleted file mode 100644
index a20727f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/EntityManagerInjection.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.InjectionTarget;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.EntityManagerReferenceDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import java.util.Set;
-import jakarta.servlet.Servlet;
-import jakarta.servlet.SingleThreadModel;
-
-/**
- * Assertion
- *
- * EntityManager should not be injected into a web application that uses multithread model.
- * EntityManager is not thread safe, hence it should not be injected into a web application
- * that uses multithreaded model.
- *
- * @author bshankar@sun.com
- */
-public class EntityManagerInjection extends WebTest implements WebCheck {
-
- final static String className = EntityManagerInjection.class.getName();
-
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- addWarningDetails(result,
- getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED); //default status is PASSED
-
- for(EntityManagerReferenceDescriptor emRefDesc : descriptor.getEntityManagerReferenceDescriptors()) {
- Set<InjectionTarget> injectionTargets = emRefDesc.getInjectionTargets();
- if(injectionTargets != null) {
- for(InjectionTarget it : injectionTargets) {
- String itClassName = it.getClassName();
- String errMsg = smh.getLocalString(className + ".warning",
- "Found a persistence unit by name [ {0} ] injected into [ {1} ].",
- new Object[]{emRefDesc.getUnitName(), itClassName});
- try {
- Class c = Class.forName(itClassName, false, getVerifierContext().getClassLoader());
- if(!(Servlet.class.isAssignableFrom(c))) {
- result.warning(errMsg);
- } else if (!(SingleThreadModel.class.isAssignableFrom(c))) {
- result.warning(errMsg);
- }
- } catch(Exception ex) {
- result.warning(errMsg);
- }
- }
- }
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ErrorCode.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ErrorCode.java
deleted file mode 100644
index 9b7ef99..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ErrorCode.java
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.ErrorPageDescriptor;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-
-/** Error code element contains an HTTP error code within web application test.
- * i.e. 404
- */
-public class ErrorCode extends WebTest implements WebCheck {
-
-
- /**
- * Determine is Error Code is valid.
- *
- * @param errorCodeTypeInteger error code type
- *
- * @return <code>boolean</code> true if error code is valid, false otherwise
- */
- public static boolean isValidErrorCode(Integer errorCodeTypeInteger) {
- int errorCodeType = errorCodeTypeInteger.intValue();
- if ((errorCodeType == ErrorCodeTypes.CONTINUE) ||
- (errorCodeType == ErrorCodeTypes.SWITCHING_PROTOCOLS) ||
- (errorCodeType == ErrorCodeTypes.OK) ||
- (errorCodeType == ErrorCodeTypes.CREATED) ||
- (errorCodeType == ErrorCodeTypes.ACCEPTED) ||
- (errorCodeType == ErrorCodeTypes.NON_AUTHORITATIVE_INFORMATION) ||
- (errorCodeType == ErrorCodeTypes.NO_CONTENT) ||
- (errorCodeType == ErrorCodeTypes.RESET_CONTENT) ||
- (errorCodeType == ErrorCodeTypes.PARTIAL_CONTENT) ||
- (errorCodeType == ErrorCodeTypes.MULTIPLE_CHOICES) ||
- (errorCodeType == ErrorCodeTypes.MOVED_PERMANENTLY) ||
- (errorCodeType == ErrorCodeTypes.FOUND) ||
- (errorCodeType == ErrorCodeTypes.SEE_OTHER) ||
- (errorCodeType == ErrorCodeTypes.NOT_MODIFIED) ||
- (errorCodeType == ErrorCodeTypes.USE_PROXY) ||
- (errorCodeType == ErrorCodeTypes.UNUSED) ||
- (errorCodeType == ErrorCodeTypes.TEMPORARY_REDIRECT) ||
- (errorCodeType == ErrorCodeTypes.BAD_REQUEST) ||
- (errorCodeType == ErrorCodeTypes.UNAUTHORIZED) ||
- (errorCodeType == ErrorCodeTypes.PAYMENT_REQUIRED) ||
- (errorCodeType == ErrorCodeTypes.FORBIDDEN) ||
- (errorCodeType == ErrorCodeTypes.NOT_FOUND) ||
- (errorCodeType == ErrorCodeTypes.METHOD_NOT_ALLOWED) ||
- (errorCodeType == ErrorCodeTypes.NOT_ACCEPTABLE) ||
- (errorCodeType == ErrorCodeTypes.PROXY_AUTHENTICATION_REQUIRED) ||
- (errorCodeType == ErrorCodeTypes.REQUEST_TIMEOUT) ||
- (errorCodeType == ErrorCodeTypes.CONFLICT) ||
- (errorCodeType == ErrorCodeTypes.GONE) ||
- (errorCodeType == ErrorCodeTypes.LENGTH_REQUIRED) ||
- (errorCodeType == ErrorCodeTypes.PRECONDITION_FAILED) ||
- (errorCodeType == ErrorCodeTypes.REQUEST_ENTITY_TOO_LARGE) ||
- (errorCodeType == ErrorCodeTypes.REQUEST_URI_TOO_LONG) ||
- (errorCodeType == ErrorCodeTypes.UNSUPPORTED_MEDIA_TYPE) ||
- (errorCodeType == ErrorCodeTypes.REQUESTED_RANGE_NOT_SATISFIABLE) ||
- (errorCodeType == ErrorCodeTypes.EXPECTATION_FAILED) ||
- (errorCodeType == ErrorCodeTypes.INTERNAL_SERVER_ERROR) ||
- (errorCodeType == ErrorCodeTypes.NOT_IMPLEMENTED) ||
- (errorCodeType == ErrorCodeTypes.BAD_GATEWAY) ||
- (errorCodeType == ErrorCodeTypes.SERVICE_UNAVAILABLE) ||
- (errorCodeType == ErrorCodeTypes.GATEWAY_TIMEOUT) ||
- (errorCodeType == ErrorCodeTypes.HTTP_VERSION_NOT_SUPPORTED)) {
- return true;
- } else {
- return false;
- }
-
- }
-
- /** Error code element contains an HTTP error code within web application test.
- * i.e. 404
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (((WebBundleDescriptorImpl)descriptor).getErrorPageDescriptors().hasMoreElements()) {
- boolean oneFailed = false;
- boolean foundIt = false;
- int oneErrorCode = 0;
- int oneNA = 0;
- // get the errorpage's in this .war
- for (Enumeration e = ((WebBundleDescriptorImpl)descriptor).getErrorPageDescriptors() ; e.hasMoreElements() ;) {
- foundIt = false;
- oneErrorCode++;
- ErrorPageDescriptor errorpage = (ErrorPageDescriptor) e.nextElement();
- String exceptionType = errorpage.getExceptionType();
- if (!((exceptionType != null) && (exceptionType.length() > 0))) {
- Integer errorCode = new Integer( errorpage.getErrorCode() );
- if (isValidErrorCode(errorCode)) {
- foundIt = true;
- } else {
- foundIt = false;
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Error code [ {0} ] contains valid HTTP error code within web application [ {1} ]",
- new Object[] {errorCode.toString(), descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: error-code [ {0} ] does not contain valid HTTP error code within web application [ {1} ]",
- new Object[] {errorCode.toString(), descriptor.getName()}));
- }
- } else {
- // maybe ErrorCode is not used 'cause we are using Exception
- // if that is the case, then test is N/A,
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Not Applicable: Error-code is [ {0} ], using [ {1} ] instead within web application [ {2} ]",
- new Object[] {new Integer(errorpage.getErrorCode()), exceptionType, descriptor.getName()}));
- oneNA++;
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (oneNA == oneErrorCode) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no error-code elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ErrorCodeTypes.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ErrorCodeTypes.java
deleted file mode 100644
index 4b27712..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ErrorCodeTypes.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-/** Error code element contains an HTTP error code type within web application
- * test.
- * i.e. 404
- * Define all error code type here
- * taken from -
- * http://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-rev-05.txt
- */
-public class ErrorCodeTypes {
- // taken from -
- // http://www.w3.org/Protocols/HTTP/1.1/draft-ietf-http-v11-spec-rev-05.txt
- // Chapter 10 Status Code Definitions ......................................53
-
- // 10.1 Informational 1xx ...........................................53
- public static final int CONTINUE = 100; // Continue
- public static final int SWITCHING_PROTOCOLS = 101; // Switching Protocols
-
- // 10.2 Successful 2xx ...........................................54
- public static final int OK = 200; // OK
- public static final int CREATED = 201; // Created
- public static final int ACCEPTED = 202; // Accepted
- public static final int NON_AUTHORITATIVE_INFORMATION = 203; // Non-Authoritative Information
- public static final int NO_CONTENT = 204; // No Content
- public static final int RESET_CONTENT = 205; // Reset Content
- public static final int PARTIAL_CONTENT = 206; // Partial Content
-
- // Redirection 3xx ..........................................57
- public static final int MULTIPLE_CHOICES = 300; // Multiple Choices
- public static final int MOVED_PERMANENTLY = 301; // Moved Permanently
- public static final int FOUND = 302; // Found
- public static final int SEE_OTHER = 303; // See Other
- public static final int NOT_MODIFIED = 304; // Not Modified
- public static final int USE_PROXY = 305; // Use Proxy
- public static final int UNUSED = 306; // (Unused)
- public static final int TEMPORARY_REDIRECT = 307; // Temporary Redirect
-
- // Client Error 4xx .........................................60
- public static final int BAD_REQUEST = 400; // Bad Request
- public static final int UNAUTHORIZED = 401; // Unauthorized
- public static final int PAYMENT_REQUIRED = 402; // Payment Required
- public static final int FORBIDDEN = 403; // Forbidden
- public static final int NOT_FOUND = 404; // Not Found
- public static final int METHOD_NOT_ALLOWED = 405; // Method Not Allowed
- public static final int NOT_ACCEPTABLE = 406; // Not Acceptable
- public static final int PROXY_AUTHENTICATION_REQUIRED = 407; // Proxy Authentication Required
- public static final int REQUEST_TIMEOUT = 408; // Request Timeout
- public static final int CONFLICT = 409; // Conflict
- public static final int GONE = 410; // Gone
- public static final int LENGTH_REQUIRED = 411; // Length Required
- public static final int PRECONDITION_FAILED = 412; // Precondition Failed
- public static final int REQUEST_ENTITY_TOO_LARGE = 413; // Request Entity Too Large
- public static final int REQUEST_URI_TOO_LONG = 414; // Request-URI Too Long
- public static final int UNSUPPORTED_MEDIA_TYPE = 415; // Unsupported Media Type
- public static final int REQUESTED_RANGE_NOT_SATISFIABLE = 416; // Requested Range Not Satisfiable
- public static final int EXPECTATION_FAILED = 417; // Expectation Failed
-
- // Server Error 5xx .........................................65
- public static final int INTERNAL_SERVER_ERROR = 500; // Internal Server Error
- public static final int NOT_IMPLEMENTED = 501; // Not Implemented
- public static final int BAD_GATEWAY = 502; // Bad Gateway
- public static final int SERVICE_UNAVAILABLE = 503; // Service Unavailable
- public static final int GATEWAY_TIMEOUT = 504; // Gateway Timeout
- public static final int HTTP_VERSION_NOT_SUPPORTED = 505; // HTTP Version Not Supported
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ExceptionType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ExceptionType.java
deleted file mode 100644
index 317ed8d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ExceptionType.java
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.ErrorPageDescriptor;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-
-/**
- * Exception-type element contains a fully qualified class name of a Java
- * exception type.
- */
-public class ExceptionType extends WebTest implements WebCheck {
-
-
- /**
- * Exception-type element contains a fully qualified class name of a Java
- * exception type.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = loadWarFile(descriptor);
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (((WebBundleDescriptorImpl)descriptor).getErrorPageDescriptors().hasMoreElements()) {
- boolean oneFailed = false;
- int oneExceptionType = 0;
- int oneNA = 0;
- boolean foundIt = false;
- // get the errorpage's in this .war
- for (Enumeration e = ((WebBundleDescriptorImpl)descriptor).getErrorPageDescriptors() ; e.hasMoreElements() ;) {
- foundIt = false;
- oneExceptionType++;
- ErrorPageDescriptor errorpage = (ErrorPageDescriptor) e.nextElement();
- if (errorpage.getErrorCode() == 0) {
- String exceptionType = errorpage.getExceptionType();
- if ((exceptionType != null) && (exceptionType.length() > 0)) {
- boolean isValidExceptionType = false;
- try {
- Class c = loadClass(result, exceptionType);
- if (isSubclassOf(c, "java.lang.Exception")) {
- isValidExceptionType = true;
- }
- } catch (Exception ex) {
- // should already be set
- isValidExceptionType = false;
- }
-
- if (isValidExceptionType) {
- foundIt = true;
- } else {
- foundIt = false;
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Exception type [ {0} ] contains a fully qualified class name of a Java exception type within web application [ {1} ]",
- new Object[] {exceptionType, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Exception type [ {0} ] does not contain a fully qualified class name of a Java exception type within web application [ {1} ]",
- new Object[] {exceptionType, descriptor.getName()}));
- }
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- Integer errorCode = new Integer( errorpage.getErrorCode() );
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Exception type [ {0} ] does not contain a fully qualified class name of a Java exception type within web application [ {1} ]",
- new Object[] {errorCode.toString(), descriptor.getName()}));
- oneNA++;
- }
- } else {
- // maybe Exception is null 'cause we are using ErrorCode
- // if that is the case, then test is N/A,
- Integer errorCode = new Integer( errorpage.getErrorCode() );
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Exception type is null, using error-code [ {0} ] instead within web application [ {1} ]",
- new Object[] {errorCode.toString(), descriptor.getName()}));
- oneNA++;
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (oneNA == oneExceptionType) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no exception-type elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClass.java
deleted file mode 100644
index f362dfc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClass.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.Enumeration;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.ServletFilterDescriptor;
-
-/**
- * Super class for all filter tests.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public abstract class FilterClass extends WebTest implements WebCheck {
-
- /**
- * <p>
- * Run the verifier test against a declared individual filter class
- * </p>
- *
- * @param result is used to put the test results in
- * @param filterClass is the individual filter class object to test
- * @return true if the test pass
- */
- abstract protected boolean runIndividualFilterTest(Result result, Class listenerClass);
-
- /**
- * iterates over all declared filter in the archive file and
- * delegates actual test on individual filter class to
- * runIndividualFilterTest
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Enumeration filterEnum = descriptor.getServletFilterDescriptors().elements();
- if (filterEnum.hasMoreElements()) {
- boolean oneFailed = false;
- // test the filters in this .war
- result = loadWarFile(descriptor);
- while (filterEnum.hasMoreElements()) {
- ServletFilterDescriptor filter = (ServletFilterDescriptor) filterEnum.nextElement();
- Class filterClass = loadClass(result, filter.getClassName());
-
- if (!runIndividualFilterTest(result, filterClass))
- oneFailed=true;
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result = getInitializedResult();
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.FilterClass" + ".notApplicable",
- "There are no filter components within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
- }
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassExists.java
deleted file mode 100644
index c61a346..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassExists.java
+++ /dev/null
@@ -1,54 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Filter class exists tests.
- * Verify that the Filter class exists inside the .war file and is loadable.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class FilterClassExists extends FilterClass implements WebCheck {
-
- /**
- * <p>
- * Run the verifier test against a declared individual filter class
- * </p>
- *
- * @param result is used to put the test results in
- * @param filterClass is the individual filter class object to test
- * @return true if the test pass
- */
-
- protected boolean runIndividualFilterTest(Result result, Class filterClass) {
-
- if (filterClass != null) {
-
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Filter class [ {0} ] resides in the WEB-INF/classes or WEB-INF/lib directory.",
- new Object[] {filterClass.getName()}));
- return true;
- } else
- return false;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassHasValidConstructor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassHasValidConstructor.java
deleted file mode 100644
index 043f1e6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassHasValidConstructor.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.lang.reflect.*;
-import java.util.logging.Level;
-
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Filter class must implement a no arg constructor.
- * Verify that the Filter class implements a no arg constructor.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class FilterClassHasValidConstructor extends FilterClass implements WebCheck {
- /**
- * <p>
- * Run the verifier test against a declared individual filter class
- * </p>
- *
- * @param result is used to put the test results in
- * @param filterClass is the individual filter class object to test
- * @return true if the test pass
- */
- protected boolean runIndividualFilterTest(Result result, Class filterClass) {
-
- boolean validConstructor = false;
- boolean foundIt = false;
- Class clazz = filterClass;
-
- if (filterClass == null)
- return false;
-
- // walk up the class tree
- do {
- Constructor[] constructors = filterClass.getDeclaredConstructors();
- for (int i = 0; i < constructors.length; i++) {
- logger.log(Level.FINE, getClass().getName() + ".debug",
- new Object[] {constructors[i].toString()});
- Class[] parameters = constructors[i].getParameterTypes();
- if (parameters.length == 0) {
- // we found it, let's look if it is public
- if (Modifier.isPublic(constructors[i].getModifiers())) {
- validConstructor = true;
- } else {
- validConstructor = false;
- }
- // we exit anyway...
- foundIt = true;;
- }
- }
- } while ((!foundIt) && ((filterClass=filterClass.getSuperclass()) != null));
-
- if (validConstructor) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Listener class [ {0} ] implements a valid constructor.",
- new Object[] {filterClass.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Listener class [ {0} ] does not implement a valid constructor.",
- new Object[] {clazz.getName()}));
- }
- return validConstructor;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassImplementsValidInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassImplementsValidInterface.java
deleted file mode 100644
index bab12b3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterClassImplementsValidInterface.java
+++ /dev/null
@@ -1,46 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Filter class must implement a valid interface.
- * Verify that the Filter class implements the jakarta.servlet.Filter interface
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class FilterClassImplementsValidInterface extends FilterClass implements WebCheck {
-
- /**
- * <p>
- * Run the verifier test against a declared individual filter class
- * </p>
- *
- * @param result is used to put the test results in
- * @param filterClass is the individual filter class object to test
- * @return true if the test pass
- */
- protected boolean runIndividualFilterTest(Result result, Class filterClass) {
-
- if (filterClass==null) {
- return false;
- }
- return testImplementationOf(filterClass, "jakarta.servlet.Filter", result);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterInitParamName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterInitParamName.java
deleted file mode 100644
index 82b1565..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterInitParamName.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-
-import java.util.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.ServletFilterDescriptor;
-
-/**
- *
- * @author Arun Jain
- */
-public class FilterInitParamName extends WebTest implements WebCheck {
-
- /**
- * Filter Param Name exists test.
- *
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
-
- Enumeration filterEnum = descriptor.getServletFilterDescriptors().elements();
-
- if (filterEnum.hasMoreElements()) {
-
- // get the filters in this .war
- while (filterEnum.hasMoreElements()) {
- ServletFilterDescriptor filter = (ServletFilterDescriptor)filterEnum.nextElement();
- HashSet<String> envSet = new HashSet<String>();
- Vector epVector = filter.getInitializationParameters();
- for ( int i = 0; i < epVector.size(); i++) {
-
- EnvironmentProperty ep = (EnvironmentProperty)epVector.elementAt(i);
- String epName = ep.getName();
-
- if (epName.length() == 0) {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Param name/value entry should of finite length."));
- }
- else {
- // Do duplicate name test.
- if (!envSet.contains(epName)) {
- envSet.add(epName);
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Error: Duplicate param names are not allowed."));
- }
- }
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All init parameter names are unique"));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no initialization parameters for the filter within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterInitParamValue.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterInitParamValue.java
deleted file mode 100644
index c26d483..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterInitParamValue.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.EnvironmentProperty;
-import org.glassfish.web.deployment.descriptor.ServletFilterDescriptor;
-
-import java.util.Enumeration;
-import java.util.Vector;
-
-
-
-/**
- *
- * @author Jerome Dochez
- */
-public class FilterInitParamValue extends WebTest implements WebCheck {
-
- /**
- * Param Value exists test.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneWarning = false, onePassed = false;
-
- Enumeration filterEnum = descriptor.getServletFilterDescriptors().elements();
- if (filterEnum.hasMoreElements()) {
- // get the filters in this .war
- while (filterEnum.hasMoreElements()) {
- ServletFilterDescriptor filter = (ServletFilterDescriptor) filterEnum.nextElement();
- Vector epVector = filter.getInitializationParameters();
-
- if (epVector.size() != 0) {
- for ( int i = 0; i < epVector.size(); i++) {
- EnvironmentProperty ep = (EnvironmentProperty)epVector.elementAt(i);
- String epValue = ep.getValue();
- if (epValue.length() != 0) {
- onePassed=true;
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue" + ".passed",
- "Param value exists for the filter [ {0} ].",
- new Object[] {filter.getName()}));
- } else {
- oneWarning = true;
- addWarningDetails(result, compName);
- result.addWarningDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue" + ".warning",
- "WARNING: Param value entry for the filter [ {0} ] should be of finite length.",
- new Object[] {filter.getName()}));
- }
- }
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue" + ".notApplicable",
- "There are no initialization parameters for the filter [ {0} ] within the web archive [ {1} ]",
- new Object[] {filter.getName(), descriptor.getName()}));
-
- }
- }
- if (oneWarning) {
- result.setStatus(Result.WARNING);
- } else if (onePassed){
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue" + ".notApplicable1",
- "There are no filters defined within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterMapping.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterMapping.java
deleted file mode 100644
index ba8dbba..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FilterMapping.java
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-/*
- * FilterMapping.java
- *
- * Created on November 29, 2000, 2:59 PM
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.ArrayList;
-import java.util.Enumeration;
-import java.util.Iterator;
-import java.util.List;
-import java.util.Set;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.web.deployment.descriptor.ServletFilterDescriptor;
-import org.glassfish.web.deployment.descriptor.ServletFilterMappingDescriptor;
-
-/**
- * Check that all the mappings for the declated filters are correct.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class FilterMapping extends WebTest {
- Result result;
- ComponentNameConstructor compName;
-
- /**
- * Check that the mappings for all filters are correct
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
- result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
- Enumeration filterEnum = descriptor.getServletFilterDescriptors().elements();
- if (filterEnum.hasMoreElements()) {
- while (filterEnum.hasMoreElements()) {
- ServletFilterDescriptor filter = (ServletFilterDescriptor) filterEnum.nextElement();
- hasValidMapping(descriptor, filter.getName());
- }
- }
- if (result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All filter mappings are correct"));
- }
- return result;
- }
-
- private void hasValidMapping(WebBundleDescriptor descriptor, String filterName) {
- Enumeration filtermapperEnum = descriptor.getServletFilterMappingDescriptors().elements();
- if (filtermapperEnum.hasMoreElements()) {
- ServletFilterMappingDescriptor filterMapper = null;
- boolean mappingFound = false;
- do {
- filterMapper = (ServletFilterMappingDescriptor)filtermapperEnum.nextElement();
- String filterMapping = filterMapper.getName();
- mappingFound = filterName.equals(filterMapping);
- } while (!mappingFound && filtermapperEnum.hasMoreElements());
-
- if (mappingFound) {
- List<String> urlPatterns = filterMapper.getUrlPatterns();
- for(String url : urlPatterns) {
- if (!((url.startsWith("/")) ||
- ((url.startsWith("/")) && (url.endsWith("/*"))) ||
- (url.startsWith("*.")))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Filter Mapping for [ {0} ] has invalid " +
- "url-mapping [ {1} ] ",
- new Object[] {filterName, url} ));
- }
- }
- List<String> servletsInFilter = filterMapper.getServletNames();
- // Section SRV.18.0.2 Filter All Dispatches of Servlet 2.5 spec allows "*"
- // to be specified as Servlet name to allow filtering of requests for all servlets.
- final String ALL_SERVLETS_NAME = "*";
- servletsInFilter.remove(ALL_SERVLETS_NAME);
- List<String> servletsInWAR = new ArrayList<String>();
-
- if(servletsInFilter.size() > 0) {
- Set servletDescriptor = descriptor.getServletDescriptors();
- Iterator itr = servletDescriptor.iterator();
- // test the servlets in this .war
- while (itr.hasNext()) {
- WebComponentDescriptor servlet = (WebComponentDescriptor) itr.next();
- servletsInWAR.add(servlet.getCanonicalName());
- }
- if (!(servletsInWAR != null && servletsInWAR.containsAll(servletsInFilter))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Filter Mapping for [ {0} ] has invalid servlet-name",
- new Object[] {filterName}));
- }
- }
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FormErrorPage.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FormErrorPage.java
deleted file mode 100755
index fd9b2e5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FormErrorPage.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-
-
-/**
- * The Web form-error-page value defines the location in the web application
- * where the page can be used for error page can be found within web
- * application test
- */
-public class FormErrorPage extends WebTest implements WebCheck {
-
-
- /**
- * The Web form-error-page value defines the location in the web application
- * where the page can be used for error page can be found within web
- * application test
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getLoginConfiguration() != null) {
- boolean foundIt = false;
-// ZipEntry ze=null;
-// JarFile jar=null;
- FileArchive arch=null;
-
- String formErrorPage = descriptor.getLoginConfiguration().getFormErrorPage();
- if (formErrorPage.length() > 0) {
-
- try{
-
-// File f = Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
-// if(f==null){
-
- String uri=getAbstractArchiveUri(descriptor);
-
- try{
- arch = new FileArchive();
- arch.open(uri);
- }catch(IOException e){
- throw e;
- }
-// }else{
-// jar = new JarFile(f);
-// }
- if (formErrorPage.startsWith("/"))
- formErrorPage=formErrorPage.substring(1);
-// if (f!=null){
-// ze = jar.getEntry(formErrorPage);
-// foundIt = (ze != null);
-// }
-// else{
- File fep = new File(new File(arch.getURI()), formErrorPage);
- if(fep.exists())
- foundIt=true;
- fep = null;
-// }
-// if (jar!=null)
-// jar.close();
- }catch (Exception ex) {
- //should be aldready set?
- foundIt = false;
- }
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The form-error-page [ {0} ] value defines the location in the web application where the error page that is displayed when login is not successful can be found within web application [ {1} ]",
- new Object[] {formErrorPage, descriptor.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The form-error-page [ {0} ] value does not define the location in the web application where the error page that is displayed when login is not successful can be found within web application [ {1} ]",
- new Object[] {formErrorPage, descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no form-error-page elements within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no form-error-page elements within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FormLoginPage.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FormLoginPage.java
deleted file mode 100755
index 501c905..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/FormLoginPage.java
+++ /dev/null
@@ -1,128 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * The Web form-login-page value defines the location in the web application
- * where the page can be used for login page can be found within web application
- * test
- */
-public class FormLoginPage extends WebTest implements WebCheck {
-
-
- /**
- * The Web form-login-page value defines the location in the web application
- * where the page can be used for login page can be found within web application
- * test
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getLoginConfiguration() != null) {
- boolean foundIt = false;
-// ZipEntry ze = null;
-// JarFile jar =null;
- FileArchive arch=null;
-
- String formLoginPage = descriptor.getLoginConfiguration().getFormLoginPage();
- if (formLoginPage.length() > 0) {
-
- try{
-// File f = Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
-// if(f==null){
- String uri=getAbstractArchiveUri(descriptor);
- try{
- arch = new FileArchive();
- arch.open(uri);
- }catch(IOException e){throw e;}
-// }else{
-// jar = new JarFile(f);
-// }
- if (formLoginPage.startsWith("/"))
- formLoginPage=formLoginPage.substring(1);
-// if (f!=null){
-// ze = jar.getEntry(formLoginPage);
-// foundIt = (ze != null);
-// }
-// else{
- File flp = new File(new File(arch.getURI()), formLoginPage);
- if(flp.exists())
- foundIt=true;
- flp = null;
-// }
-// if (jar!=null)
-// jar.close();
- }catch (Exception ex) {
- //should be aldready set?
- foundIt = false;
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The form-login-page [ {0} ] value does define the location in the web application [ {1} ] where the page can be used for login page can be found.",
- new Object[] {formLoginPage, descriptor.getName()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The form-login-page [ {0} ] value does not define the location in the web application [ {1} ] where the page to be used for the login page can be found.",
- new Object[] {formLoginPage, descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no form-login-page name elements within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no form-login-page name elements within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JarContainsXMLFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JarContainsXMLFile.java
deleted file mode 100644
index ada84a3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JarContainsXMLFile.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import org.glassfish.web.deployment.io.WebDeploymentDescriptorFile;
-
-import java.io.*;
-
-/**
- * An web-war file must contain the XML-based deployment descriptor. The
- * deployment descriptor must be name META-INF/web.xml in the WAR file.
- */
-
-public class JarContainsXMLFile extends WebTest implements WebCheck {
-
-
-
- /**
- * An web-war file must contain the XML-based deployment descriptor. The
- * deployment descriptor must be name META-INF/web.xml in the WAR file.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
-
- // This test can not have a max-version set in xml file,
- // hence we must exclude this test based on platform version.
- if(getVerifierContext().getJavaEEVersion().
- compareTo(SpecVersionMapper.JavaEEVersion_5) >= 0) {
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
- }
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-// JarFile jarFile = null;
- InputStream deploymentEntry=null;
- try {
-// File applicationJarFile = Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
-
-// if (applicationJarFile == null) {
- String uri = getAbstractArchiveUri(descriptor);
- try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry("WEB-INF/web.xml");
- }catch (IOException e) { throw e;}
-/*
- }
- else {
- jarFile = new JarFile(applicationJarFile);
-
- ZipEntry deploymentEntry1 =
- jarFile.getEntry(WebDeploymentDescriptorFile.DESC_PATH);
- deploymentEntry = jarFile.getInputStream(deploymentEntry1);
- }
-*/
-
- if (deploymentEntry != null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Found deployment descriptor xml file [ {0} ]",
- new Object[] {"WEB-INF/web.xml"}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: No deployment descriptor xml file found, looking for [ {0} ]",
- new Object[] {"WEB-INF/web.xml"}));
- }
-
- } catch (FileNotFoundException ex) {
- Verifier.debug(ex);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: File not found trying to read deployment descriptor file [ {0} ]",
- new Object[] {"WEB-INF/web.xml"}));
- } catch (IOException ex) {
- Verifier.debug(ex);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException1",
- "Error: IO Error trying to read deployment descriptor file [ {0} ]",
- new Object[] {"WEB-INF/web.xml"}));
- } finally {
- try {
-// if (jarFile != null)
-// jarFile.close();
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JspFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JspFile.java
deleted file mode 100644
index e0d93f6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JspFile.java
+++ /dev/null
@@ -1,136 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * Jsp file element contains the full path to Jsp file within web application
- * test.
- */
-public class JspFile extends WebTest implements WebCheck {
-
-
- /**
- * Jsp file element contains the full path to Jsp file within web application
- * test.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getJspDescriptors().isEmpty()) {
- boolean oneFailed = false;
- boolean foundIt = false;
-// ZipEntry ze=null;
-// JarFile jar=null;
- FileArchive arch=null;
- // get the jsps in this .war
- Set jsps = descriptor.getJspDescriptors();
- Iterator itr = jsps.iterator();
- // test the jsps in this .war
- while (itr.hasNext()) {
- foundIt = false;
- WebComponentDescriptor jsp = (WebComponentDescriptor)itr.next();
- String jspFilename = jsp.getWebComponentImplementation();
- String uri = null;
- try{
-// File f = Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
-// if(f==null){
- uri=getAbstractArchiveUri(descriptor);
- try{
- arch = new FileArchive();
- arch.open(uri);
- }catch(IOException e){throw e;}
-// }
-// else{
-// jar = new JarFile(f);
-// }
-
- if (jspFilename.startsWith("/"))
- jspFilename = jspFilename.substring(1);
-// if(f!=null){
-// ze = jar.getEntry(jspFilename);
-// foundIt=(ze !=null);
-// }else{
- File jspf = new File(new File(arch.getURI()), jspFilename);
- if(jspf.exists())
- foundIt=true;
- jspf = null;
-// }
-// if (jar!=null)
-// jar.close();
- }catch (Exception e){
- if (!oneFailed ) {
- oneFailed = true;
- }
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Jsp file [ {0} ] contains the full path to Jsp file within web application [ {1} ]",
- new Object[] {jspFilename, descriptor.getName()}));
- } else {
- if (!oneFailed ) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Jsp file [ {0} ] is not found within [ {1} ] or does not contain the full path to Jsp file within web application [ {2} ]",
- new Object[] {jspFilename, uri, descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no Jsp components within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JspLoadOnStartup.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JspLoadOnStartup.java
deleted file mode 100644
index 313855e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/JspLoadOnStartup.java
+++ /dev/null
@@ -1,110 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The load-on-startup element contains an integer indicating the order
- * in which the JSP should be loaded.
- */
-public class JspLoadOnStartup extends WebTest implements WebCheck {
-
-
- /**
- * The load-on-startup element contains an integer indicating the order
- * in which the JSP should be loaded.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-
- boolean oneFailed = false;
- if (!descriptor.getJspDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getJspDescriptors().iterator();
- itr.hasNext();) {
-
- WebComponentDescriptor nextJspDescriptor = (WebComponentDescriptor) itr.next();
- Integer loadOnStartUp = new Integer(nextJspDescriptor.getLoadOnStartUp());
- // DOL only allows int's to be stored, test will always pass as written, so need to check against -1 placeholder
- if (loadOnStartUp.intValue() >= 0) {
- // DOL needs to store string value representing load-on-startup value
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "load-on-startup [ {0} ] value found in [ {1} ]",
- new Object[] {loadOnStartUp.toString(),nextJspDescriptor.getName()}));
- } else {
- if (loadOnStartUp.intValue() == -1) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(
- getClass().getName() + ".passed2",
- "load-on-startup is not specified for [ {0} ]",
- new Object[] {nextJspDescriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: load-on-startup [ {0} ] invalid value found in [ {1} ]",
- new Object[] {loadOnStartUp.toString(),nextJspDescriptor.getName()}));
- }
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no JSP's within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/LibDirExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/LibDirExists.java
deleted file mode 100644
index 1dd36cd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/LibDirExists.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Servlet lib directory resides in WEB-INF/lib directory test.
- */
-public class LibDirExists extends WebTest implements WebCheck {
-
- final String servletLibDirPath = "WEB-INF/lib";
-
- /**
- * Servlet lib directory resides in WEB-INF/lib directory test.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getServletDescriptors().isEmpty()) {
- boolean oneFailed = false;
- int na = 0;
- boolean foundIt = false;
- // get the servlets in this .war
- Set servlets = descriptor.getServletDescriptors();
- Iterator itr = servlets.iterator();
- // test the servlets in this .war
- while (itr.hasNext()) {
- foundIt = false;
- WebComponentDescriptor servlet = (WebComponentDescriptor)itr.next();
-// try {
- File warfile = new File(System.getProperty("java.io.tmpdir"));
- warfile = new File(warfile, "wartmp");
-// File f = Verifier.getArchiveFile(
-// descriptor.getModuleDescriptor().getArchiveUri());
- File warLibDir = null;
-
-// if (f != null) {
-// VerifierUtils.copyArchiveToDir(f, warfile);
-// warLibDir = new File(warfile, servletLibDirPath);
-// }
-// else {
- String uri = getAbstractArchiveUri(descriptor);
- warLibDir = new File(uri, servletLibDirPath);
-// }
-
- if (warLibDir.isDirectory()) {
- foundIt = true;
- }
-/* } catch (IOException e) {
- if (!oneFailed ) {
- oneFailed = true;
- }
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".IOException",
- "Error: IOError trying to open [ {0} ], {1}",
- new Object[] {Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri()), e.getMessage()}));
- }*/
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Servlet lib dir [ {0} ] resides in WEB-INF/lib directory of [ {1} ].",
- new Object[] {servletLibDirPath,uri}));
- } else {
- na++;
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Servlet lib dir [ {0} ] does not reside in [ {1} ].",
- new Object[] {servletLibDirPath,uri}));
- }
- }
- File wartmp = new File(System.getProperty("java.io.tmpdir"));
- wartmp = new File(wartmp, "wartmp");
- deleteDirectory(wartmp.getAbsolutePath());
- if (na == descriptor.getServletDescriptors().size()) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no servlet components within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClass.java
deleted file mode 100644
index cc10d44..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClass.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.Enumeration;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.web.AppListenerDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.tests.*;
-/**
- * Super class for all Listener tests.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public abstract class ListenerClass extends WebTest implements WebCheck {
-
- /**
- * <p>
- * Run the verifier test against a declared individual listener class
- * </p>
- *
- * @param result is used to put the test results in
- * @param listenerClass is the individual listener class object to test
- * @return true if the test pass
- */
- abstract protected boolean runIndividualListenerTest(Result result, Class listenerClass);
-
- /**
- * Listener class must implement a no arg constructor.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- AppListenerDescriptor listener = null;
- Enumeration listenerEnum;
- Result result;
- boolean oneFailed = false;
- Class listenerClass = null;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- listenerEnum = descriptor.getAppListenerDescriptors().elements();
- if (listenerEnum.hasMoreElements()) {
- result = loadWarFile(descriptor);
- while (listenerEnum.hasMoreElements()) {
- listener = (AppListenerDescriptor)listenerEnum.nextElement();
-
- if (listener.getListener().equals(smh.getLocalString("JAXRPCContextListener","com.sun.xml.rpc.server.http.JAXRPCContextListener"))) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed1",
- "Listener Class Name is [ {0} ], make sure it is available in classpath at runtime.",
- new Object[] {listener.getListener()}));
- continue;
- }
-
- if ("".equals(listener.getListener())) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "Empty or Null String specified for Listener Class Name in [ {0} ].",
- new Object[] {compName.toString()}));
- oneFailed = true;
- continue;
- }
-
- listenerClass = loadClass(result, listener.getListener());
- if (!runIndividualListenerTest(result, listenerClass))
- oneFailed=true;
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result = getInitializedResult();
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.ListenerClass" + ".notApplicable",
- "There are no listener components within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassExists.java
deleted file mode 100644
index 98cb028..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassExists.java
+++ /dev/null
@@ -1,50 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Listener class exists tests.
- * Verify that the Listener class exists inside the .war file and is loadable.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class ListenerClassExists extends ListenerClass implements WebCheck {
-
- /**
- * <p>
- * Run the verifier test against a declared individual listener class
- * </p>
- *
- * @param result is used to put the test results in
- * @param listenerClass is the individual listener class object to test
- * @return true if the test pass
- */
- protected boolean runIndividualListenerTest(Result result, Class listenerClass) {
- if (listenerClass != null) {
-
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Listener class [ {0} ] resides in the WEB-INF/classes directory.",
- new Object[] {listenerClass.getName()}));
- return true;
- } else
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassHasValidConstructor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassHasValidConstructor.java
deleted file mode 100644
index b7549f3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassHasValidConstructor.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.lang.reflect.Constructor;
-import java.lang.reflect.Modifier;
-import java.util.logging.Level;
-
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Listener class must implement a no arg constructor.
- * Verify that the Listener class implements a no arg constructor.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class ListenerClassHasValidConstructor extends ListenerClass implements WebCheck {
- /**
- * <p>
- * Run the verifier test against a declared individual listener class
- * </p>
- *
- * @param result is used to put the test results in
- * @param listenerClass is the individual listener class object to test
- * @return true if the test pass
- */
- protected boolean runIndividualListenerTest(Result result, Class listenerClass) {
-
- boolean validConstructor = false;
- boolean foundIt = false;
-
- if (listenerClass == null)
- return false;
-
- // walk up the class tree
- do {
- Constructor[] constructors = listenerClass.getDeclaredConstructors();
- for (int i = 0; i < constructors.length; i++) {
- logger.log(Level.FINE, getClass().getName() + ".debug",
- new Object[] {constructors[i].toString()});
- Class[] parameters = constructors[i].getParameterTypes();
- if (parameters.length == 0) {
- if (Modifier.isPublic(constructors[i].getModifiers())) {
- validConstructor=true;
- } else {
- validConstructor=false;
- }
- foundIt = true;
- break;
- }
- }
- } while ((!foundIt) && ((listenerClass=listenerClass.getSuperclass()) != null));
-
- if (validConstructor) {
-
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Listener class [ {0} ] implements a valid constructor.",
- new Object[] {listenerClass.getName()}));
- } else {
-
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Listener class [ {0} ] does not implement a valid constructor.",
- new Object[] {listenerClass.getName()}));
- }
- return validConstructor;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassImplementsValidInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassImplementsValidInterface.java
deleted file mode 100644
index 2a5cd53..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ListenerClassImplementsValidInterface.java
+++ /dev/null
@@ -1,80 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.Result;
-
-/**
- * Listener class must implement a valid interface.
- * Verify that the Listener class implements one of five valid interfaces.
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-public class ListenerClassImplementsValidInterface extends ListenerClass implements WebCheck {
-
- /**
- * <p>
- * Run the verifier test against a declared individual listener class
- * </p>
- *
- * @param result is used to put the test results in
- * @param listenerClass is the individual listener class object to test
- * @return true if the test pass
- */
- protected boolean runIndividualListenerTest(Result result, Class listenerClass) {
-
- boolean validInterface = false;
- Class clazz = listenerClass;
-
- if (listenerClass==null) {
- return false;
- }
-
- validInterface = isImplementorOf(clazz,"jakarta.servlet.ServletContextAttributeListener");
- if (validInterface != true) {
- validInterface = isImplementorOf(clazz,"jakarta.servlet.ServletContextListener");
- }
- if (validInterface != true) {
- validInterface = isImplementorOf(clazz,"jakarta.servlet.http.HttpSessionAttributeListener");
- }
- if (validInterface != true) {
- validInterface = isImplementorOf(clazz,"jakarta.servlet.http.HttpSessionListener");
- }
- if (validInterface != true) {
- validInterface = isImplementorOf(clazz,"jakarta.servlet.ServletRequestAttributeListener");
- }if (validInterface != true) {
- validInterface = isImplementorOf(clazz,"jakarta.servlet.ServletRequestListener");
- }if (validInterface != true) {
- validInterface = isImplementorOf(clazz,"jakarta.servlet.http.HttpSessionBindingListener");
- }
-
- if (validInterface) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Listener class [ {0} ] implements a valid interface.",
- new Object[] {listenerClass.getName()}));
- } else if (!validInterface){
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Listener class [ {0} ] does not implement one or more of the following valid interface.\n jakarta.servlet.ServletContextAttributeListener, jakarta.servlet.ServletContextListener, jakarta.servlet.http.HttpSessionAttributeListener, jakarta.servlet.http.HttpSessionListener",
- new Object[] {clazz.getName()}));
- }
-
- return validInterface;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/Location.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/Location.java
deleted file mode 100644
index df99d23..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/Location.java
+++ /dev/null
@@ -1,132 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-import org.glassfish.web.deployment.descriptor.ErrorPageDescriptor;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-
-/**
- * Location element contains the location of the resource in the web
- * application
- */
-public class Location extends WebTest implements WebCheck {
-
-
- /**
- * Location element contains the location of the resource in the web
- * application
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (((WebBundleDescriptorImpl)descriptor).getErrorPageDescriptors().hasMoreElements()) {
- boolean oneFailed = false;
- boolean foundIt = false;
-// ZipEntry ze = null;
-// JarFile jar =null;
- FileArchive arch=null;
- // get the errorpage's in this .war
- for (Enumeration e = ((WebBundleDescriptorImpl)descriptor).getErrorPageDescriptors() ; e.hasMoreElements() ;) {
- foundIt = false;
- ErrorPageDescriptor errorpage = (ErrorPageDescriptor) e.nextElement();
- String location = errorpage.getLocation();
- String uri = null;
- try{
-// File f = Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
-// if(f==null){
- uri=getAbstractArchiveUri(descriptor);
- try{
- arch = new FileArchive();
- arch.open(uri);
- }catch(IOException ioe){throw ioe;}
-// }else{
-// jar = new JarFile(f);
-// }
- if (location.startsWith("/"))
- location = location.substring(1);
-// if (f!=null){
-// ze = jar.getEntry(location);
-// foundIt = (ze != null);
-// }
-// else{
- File loc = new File(new File(arch.getURI()), location);
- if(loc.exists())
- foundIt=true;
- loc = null;
-// }
-// if (jar!=null)
-// jar.close();
- }catch (Exception ex) {
- if (!oneFailed){
- oneFailed = true;
- }
- }
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Location [ {0} ] contains the location of the resource within web application [ {1} ]",
- new Object[] {location, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Location [ {0} ] is not found within [ {1} ] or does not contain the location of the resource within web application [ {2} ]",
- new Object[] {location, uri, descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no location elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PUMatchingEMandEMFRefTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PUMatchingEMandEMFRefTest.java
deleted file mode 100644
index 98582aa..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PUMatchingEMandEMFRefTest.java
+++ /dev/null
@@ -1,49 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EntityManagerReferenceDescriptor;
-import com.sun.enterprise.deployment.EntityManagerFactoryReferenceDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPUMatchingEMandEMFRefTest;
-
-import java.util.Collection;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- * @see AbstractPUMatchingEMRefTest
- */
-public class PUMatchingEMandEMFRefTest extends AbstractPUMatchingEMandEMFRefTest {
- protected WebBundleDescriptor getBundleDescriptor(Descriptor descriptor) {
- return WebBundleDescriptor.class.cast(descriptor);
- }
-
- protected Collection<EntityManagerReferenceDescriptor>
- getEntityManagerReferenceDescriptors(Descriptor descriptor) {
- return WebBundleDescriptor.class.cast(descriptor)
- .getEntityManagerReferenceDescriptors();
- }
-
- protected Collection<EntityManagerFactoryReferenceDescriptor>
- getEntityManagerFactoryReferenceDescriptors(Descriptor descriptor) {
- return WebBundleDescriptor.class.cast(descriptor)
- .getEntityManagerFactoryReferenceDescriptors();
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ParamName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ParamName.java
deleted file mode 100644
index c24afd6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ParamName.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * Check the context param's name. It should not be duplicate.
- * @author Arun Jain
- */
-public class ParamName extends WebTest implements WebCheck {
-
-
- /**
- * Param name should not be duplicate.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- String epName;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- Enumeration en;
- HashSet<String> envSet = new HashSet<String>();
- EnvironmentProperty ep;
- boolean oneFailed = false;
- boolean duplicate = false;
-
- if (!descriptor.getContextParametersSet().isEmpty()) {
-
- // get the context parameters
- for ( en = descriptor.getContextParameters(); en.hasMoreElements(); ) {
- ep = (EnvironmentProperty)en.nextElement();
- epName = ep.getName();
- if (epName.length() != 0)
- duplicate = checkDuplicate(epName, envSet);
- else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Param name/value entry should not be empty strings."));
- }
- if ( !duplicate) {
- envSet.add(epName);
- }
- else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Duplicate param names are not allowed."));
- }
- }
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Param named/value exists for in the web app [ {0} ].",
- new Object[] {descriptor.getName()}));
-
- } else {
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no context parameters within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
- private boolean checkDuplicate(String epName, HashSet theSet) {
-
- return theSet.contains(epName);
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ParamValue.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ParamValue.java
deleted file mode 100644
index c529e07..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ParamValue.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * Param value should not be empty string
- * @author Arun Jain
- */
-public class ParamValue extends WebTest implements WebCheck {
-
-
- /**
- *
- * Param value should not be empty string
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Set contextParameters;
- Iterator itr;
- String epValue;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- EnvironmentProperty ep;
- boolean passed = true;
- boolean oneFailed = false;
- boolean notApp = false;
-
- if (!descriptor.getContextParametersSet().isEmpty()) {
-
- // get the context parameters
- contextParameters = descriptor.getContextParametersSet();
- itr = contextParameters.iterator();
- // test the environment property
- while (itr.hasNext()) {
- ep = (EnvironmentProperty)itr.next();
- epValue = ep.getValue();
- if ( epValue.length() != 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Param named/value exists for in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Param name/value should not be empty strings"));
-
- }
- }
-
- } else {
- notApp = true;
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no context parameters within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PersistenceContextType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PersistenceContextType.java
deleted file mode 100644
index eb17a64..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PersistenceContextType.java
+++ /dev/null
@@ -1,42 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.EntityManagerReferenceDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPersistenceContextType;
-
-import java.util.Collection;
-
-/**
- * @author Sanjeeb.Sahoo@Sun.COM
- * @see AbstractPUMatchingEMRefTest
- */
-public class PersistenceContextType extends AbstractPersistenceContextType {
-
- protected Collection<EntityManagerReferenceDescriptor>
- getEntityManagerReferenceDescriptors(Descriptor descriptor) {
- return WebBundleDescriptor.class.cast(descriptor)
- .getEntityManagerReferenceDescriptors();
- }
-
- protected boolean isStatefulSessionBean(Descriptor d) {
- return false;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PersistenceUnitCount.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PersistenceUnitCount.java
deleted file mode 100644
index 6dea333..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/PersistenceUnitCount.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.AbstractPersistenceUnitCount;
-
-
-/**
- * @author bshankar@sun.com
- * @see AbstractPersistenceUnitCount
- */
-public class PersistenceUnitCount extends AbstractPersistenceUnitCount {
-
- protected WebBundleDescriptor getRootDescriptor(Descriptor descriptor) {
- return WebBundleDescriptor.class.cast(descriptor);
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/RealmName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/RealmName.java
deleted file mode 100755
index e79572f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/RealmName.java
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * The Web realm name specifies the realm name to use in HTTP Basic
- * authentication
- */
-public class RealmName extends WebTest implements WebCheck {
-
-
- /**
- * The Web realm name specifies the realm name to use in HTTP Basic
- * authentication
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getLoginConfiguration() != null) {
- String realmName = descriptor.getLoginConfiguration().getRealmName();
- if (realmName.length() > 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The realm name [ {0} ] value specifies the realm name to use in HTTP Basic authentication within web application [ {1} ]",
- new Object[] {realmName, descriptor.getName()}));
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Not Applicable: The realm name [ {0} ] value does not specify the realm name to use in HTTP Basic authentication within web application [ {1} ]",
- new Object[] {realmName, descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no realm name elements within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ResourceAuth.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ResourceAuth.java
deleted file mode 100644
index a855aca..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ResourceAuth.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-
-/**
- * Must check for the correct authorization.
- * @author Arun Jain
- */
-public class ResourceAuth extends WebTest implements WebCheck{
-
-
- /**
- * Resource authority exists test. Must be Container or Servlet.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Set resourceRefs;
- ResourceReferenceDescriptor resrefDes;
- Iterator itr;
- String resAuth;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
-
- if (!descriptor.getResourceReferenceDescriptors().isEmpty()) {
-
- // get the Resource Reference Descriptors set
- resourceRefs = descriptor.getResourceReferenceDescriptors();
- itr = resourceRefs.iterator();
- // test the Resource Reference Descriptor
- while (itr.hasNext()) {
- resrefDes = (ResourceReferenceDescriptor)itr.next();
- resAuth = resrefDes.getAuthorization();
- if (resAuth.equals("Application") || resAuth.equals("Container")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Resource reference has valid authorization."));
- }
-
- else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Resource reference auth has to be either Container or Application."));
-
- }
- }
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no resource references defined within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ResourceRefName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ResourceRefName.java
deleted file mode 100644
index bec37e3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ResourceRefName.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.ResourceReferenceDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-
-/**
- * Resource ref name exists test.
- * @author Arun Jain
- */
-public class ResourceRefName extends WebTest implements WebCheck {
-
-
- /**
- * Resource Ref Name must be of finite length.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Set resourceRefs;
- ResourceReferenceDescriptor resrefDes;
- Iterator itr;
- String resrefName;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- //boolean foundIt = false;
- boolean oneFailed = false;
- boolean notApp = false;
-
- if (!descriptor.getResourceReferenceDescriptors().isEmpty()) {
-
- // get the Resource Reference Descriptors set
- resourceRefs = descriptor.getResourceReferenceDescriptors();
- itr = resourceRefs.iterator();
- // test the Resource Reference Descriptor
- while (itr.hasNext()) {
- resrefDes = (ResourceReferenceDescriptor)itr.next();
- resrefName = resrefDes.getName();
- if (resrefName.length() != 0) {
- // foundIt = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Resource Reference exists in the web application."));
- } else {
- if (!oneFailed)
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Resource reference entry must be of finite length."));
- }
- }
-
- } else {
- notApp = true;
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no resource references defined within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/RoleLink.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/RoleLink.java
deleted file mode 100644
index dd2fcd4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/RoleLink.java
+++ /dev/null
@@ -1,134 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.util.logging.Level;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * The role-link element is used to link a security role reference to a
- * defined security role. The role-link element must contain the name of
- * one of the security roles defined in the security-role elements.
- */
-public class RoleLink extends WebTest implements WebCheck {
-
- /**
- * The role-link element is used to link a security role reference to a
- * defined security role. The role-link element must contain the name of
- * one of the security roles defined in the security-role elements.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getWebComponentDescriptors().isEmpty()) {
- boolean oneFailed = false;
- int na = 0;
- int noWd = 0;
- for (WebComponentDescriptor next : descriptor.getWebComponentDescriptors()) {
- noWd++;
- boolean foundIt = false;
- // get the security role-link's in this .war
- if (next.getSecurityRoleReferences().hasMoreElements()) {
- for (Enumeration ee = next.getSecurityRoleReferences(); ee.hasMoreElements();) {
- RoleReference rr = (RoleReference) ee.nextElement();
- foundIt = false;
- String linkName = rr.getValue();
- logger.log(Level.FINE, "servlet linkName: " + linkName);
- // now check to see if role-link exist in security role names
- if (descriptor.getSecurityRoles().hasMoreElements()) {
- for (Enumeration eee = descriptor.getSecurityRoles(); eee.hasMoreElements();) {
- SecurityRoleDescriptor srdNext = (SecurityRoleDescriptor) eee.nextElement();
-
- if (linkName.equals(srdNext.getName())) {
- foundIt = true;
- break;
- } else {
- continue;
- }
- }
- } else {
- // if descriptor.getSecurityRoles().hasMoreElements())
- foundIt = false;
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "role-link [ {0} ] links security role reference to a defined security role within web application [ {1} ]",
- new Object[] {linkName, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: role-link [ {0} ] does not link security role reference to a defined security role within web application [ {1} ]",
- new Object[] {linkName, descriptor.getName()}));
- }
- } // for loop next.getSecurityRoleReferences() has more elements
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "[ {0} ] has no role-link element defined within the web archive [ {1} ]",
- new Object[] {next.getName(),descriptor.getName()}));
- na++;
- }
- } // for loop descriptor.getWebComponentDescriptors(); e.hasMoreElements()
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (na == noWd) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no location elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletClassDeclared.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletClassDeclared.java
deleted file mode 100644
index 2a4ffd8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletClassDeclared.java
+++ /dev/null
@@ -1,145 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import java.lang.reflect.Modifier;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * All Servlet class of an war bundle should be declared in the deployment
- * descriptor for portability
- *
- * @author Jerome Dochez
- * @version
- */
-public class ServletClassDeclared extends WebTest implements WebCheck {
-
- final String servletClassPath = "WEB-INF/classes";
-
- /**
- * All Servlet class of an war bundle should be declared in the deployment
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- // See bug #6332745
- if(getVerifierContext().getJavaEEVersion().compareTo(SpecVersionMapper.JavaEEVersion_5) >=0){
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
- }
-// ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneWarning = false;
- boolean foundOne=false;
-
-// File f = Verifier.getArchiveFile(descriptor.getModuleDescriptor().getArchiveUri());
- result = loadWarFile(descriptor);
-
-// ZipFile zip = null;
- FileArchive arch = null;
- Enumeration entries= null;
- //ZipEntry entry;
- Object entry;
-
- try {
-// if (f == null) {
- String uri = getAbstractArchiveUri(descriptor);
- try {
- arch = new FileArchive();
- arch.open(uri);
- entries = arch.entries();
- }catch (Exception e) { throw e; }
-// }
-// else {
-// zip = new ZipFile(f);
-// entries = zip.entries();
-// }
- } catch(Exception e) {
- e.printStackTrace();
- result.failed(smh.getLocalString
- (getClass().getName() + ".exception",
- "IOException while loading the war file [ {0} ]",
- new Object[] {descriptor.getName()}));
-
- return result;
- }
- while (entries.hasMoreElements()) {
- entry = entries.nextElement();
-// if (f == null) {
- String name = (String)entry;
-// }
-// else {
-// name = ((ZipEntry)entry).getName();
-// }
- if (name.startsWith(servletClassPath)) {
- if (name.endsWith(".class")) {
- String classEntryName = name.substring(0, name.length()-".class".length());
- classEntryName = classEntryName.substring(servletClassPath.length()+1, classEntryName.length());
- String className = classEntryName.replace('/','.');
- Class servletClass = loadClass(result, className);
- if (!Modifier.isAbstract(servletClass.getModifiers()) &&
- isImplementorOf(servletClass, "jakarta.servlet.Servlet")) {
- foundOne=true;
- // let's find out if this servlet has associated deployment descriptors...
- Set servlets = descriptor.getServletDescriptors();
- boolean foundDD = false;
- for (Iterator itr = servlets.iterator();itr.hasNext();) {
- WebComponentDescriptor servlet = (WebComponentDescriptor)itr.next();
- String servletClassName = servlet.getWebComponentImplementation();
- if (servletClassName.equals(className)) {
- foundDD=true;
- break;
- }
- }
- if (foundDD) {
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Servlet class [ {0} ] found in war file is defined in the Deployement Descriptors",
- new Object[] {className}));
- } else {
- oneWarning=true;
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "Servlet class [ {0} ] found in war file is not defined in the Deployement Descriptors",
- new Object[] {className}));
- }
- }
- }
- }
- }
- if (!foundOne) {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no servlet implementation within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- } else {
- if (oneWarning) {
- result.setStatus(Result.WARNING);
- } else {
- result.setStatus(Result.PASSED);
- }
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletInterface.java
deleted file mode 100644
index 1c988e1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletInterface.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.io.*;
-import jakarta.servlet.*;
-import jakarta.servlet.http.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Servlet Interface test.
- * Servlets must implement the jakarta.servlet.Servlet interface
- * either directly or indirectly through GenericServlet or HttpServlet
- */
-public class ServletInterface extends WebTest implements WebCheck {
-
- final String servletClassPath = "WEB-INF/classes";
-
- /**
- * Servlet Interface test.
- * Servlets must implement the jakarta.servlet.Servlet interface
- * either directly or indirectly through GenericServlet or HttpServlet
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.getServletDescriptors().isEmpty()) {
- boolean oneFailed = false;
- boolean notPassOrFail = true;
- // get the servlets in this .war
- Set servlets = descriptor.getServletDescriptors();
- Iterator itr = servlets.iterator();
-
- result = loadWarFile(descriptor);
-
- // test the servlets in this .war
-
- while (itr.hasNext()) {
- WebComponentDescriptor servlet = (WebComponentDescriptor)itr.next();
- String servletClassName = servlet.getWebComponentImplementation();
- Class c = loadClass(result, servletClassName);
-
- // if the class could not be loaded we dont want to fail
- // , it will be caught by the ServletClass test anyway
- if (c == null) {
- continue;
- }
- if (isJAXRPCEndpoint(servlet)) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Not Applicable since, Servlet [ {0} ] is a JAXRPC Endpoint.",
- new Object[] {servletClassName}));
- notPassOrFail = false;
- }
- else if (isImplementorOf(c, "jakarta.servlet.Servlet")) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Servlet class [ {0} ] directly or indirectly implements jakarta.servlet.Servlet",
- new Object[] {servletClassName}));
- notPassOrFail = false;
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Servlet class [ {0} ] does not directly or indirectly implement jakarta.servlet.Servlet",
- new Object[] {servletClassName}));
- notPassOrFail = false;
- }
- }
- // this means classloader returned null for all servlets
- if (notPassOrFail) {
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "Some servlet classes could not be loaded."));
- }
- else if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no servlet components within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-
- private boolean isJAXRPCEndpoint(WebComponentDescriptor servlet) {
-
- String servletClassName = servlet.getWebComponentImplementation();
-
- if (servletClassName.equals(smh.getLocalString("JAXRPCServlet","com.sun.xml.rpc.server.http.JAXRPCServlet"))) {
- // This is a standard JAXRPC servlet
- return true;
- }
-
- WebBundleDescriptor descriptor = servlet.getWebBundleDescriptor();
- if (descriptor.hasWebServices()) {
- WebServicesDescriptor wsdesc = descriptor.getWebServices();
- if (wsdesc.hasEndpointsImplementedBy(servlet)) {
- return true;
- }
- }
- return false;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletLoadOnStartup.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletLoadOnStartup.java
deleted file mode 100644
index b858ee9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletLoadOnStartup.java
+++ /dev/null
@@ -1,86 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The load-on-startup element contains an integer indicating the order
- * in which the servlet should be loaded.
- */
-public class ServletLoadOnStartup extends WebTest implements WebCheck {
-
-
- /**
- * The load-on-startup element contains an integer indicating the order
- * in which the servlet should be loaded.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-
- boolean oneFailed = false;
- if (!descriptor.getServletDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getServletDescriptors().iterator();
- itr.hasNext();) {
-
- WebComponentDescriptor nextServletDescriptor = (WebComponentDescriptor) itr.next();
- // DOL only allows int's to be stored, test will always pass as written, so need to check against -1 placeholder
- Integer loadOnStartUp = new Integer(nextServletDescriptor.getLoadOnStartUp());
- if (loadOnStartUp.intValue() >= 0) {
- // DOL needs to store string value representing load-on-startup value
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "load-on-startup [ {0} ] value found in [ {1} ]",
- new Object[] {loadOnStartUp,nextServletDescriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: load-on-startup [ {0} ] invalid value found in [ {1} ]",
- new Object[] {loadOnStartUp,nextServletDescriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no servlets within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletParamName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletParamName.java
deleted file mode 100644
index 1f265e2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletParamName.java
+++ /dev/null
@@ -1,130 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-
-/**
- *
- * @author Arun Jain
- */
-public class ServletParamName extends WebTest implements WebCheck {
-
-
- /**
- * Servlet Param Name exists test.
- *
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Set servlets;
- Iterator servItr;
- String epName = null;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- WebComponentDescriptor servlet = null;
- Enumeration en;
- EnvironmentProperty ep = null;
- boolean oneFailed = false;
- boolean duplicate = false;
-
- if (!descriptor.getServletDescriptors().isEmpty()) {
-
- // get the servlets in this .war
- servlets = descriptor.getServletDescriptors();
- servItr = servlets.iterator();
- // test the servlets in this .war
- while (servItr.hasNext()) {
- servlet = (WebComponentDescriptor)servItr.next();
- HashSet<String> envSet = new HashSet<String>();
- for ( en = servlet.getInitializationParameters(); en.hasMoreElements();) {
- ep = (EnvironmentProperty)en.nextElement();
- epName = ep.getName();
-
- if (epName.length() != 0) {
- // Do duplicate name test.
- duplicate = checkDuplicate(epName, envSet);
-
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Param name/value entry should of finite length."));
- }
- if ( !duplicate) {
- envSet.add(epName);
- }
- else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Duplicate param names are not allowed."));
- }
- }
- }
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Param named/value exists for in the servlet [ {0} ].",
- new Object[] {servlet.getName()}));
-
- } else {
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no initialization parameters for the servlet within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-
- private boolean checkDuplicate(String epName, HashSet theSet) {
-
- return theSet.contains(epName);
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletParamValue.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletParamValue.java
deleted file mode 100644
index 27c56c9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/ServletParamValue.java
+++ /dev/null
@@ -1,109 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-
-
-/**
- *
- * @author Arun Jain
- */
-public class ServletParamValue extends WebTest implements WebCheck {
-
-
- /**
- * Param Value exists test.
- * *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Set servlets;
- Iterator itr;
- String epValue;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- WebComponentDescriptor servlet;
- Enumeration en;
- EnvironmentProperty ep = null;
- boolean oneFailed = false;
- boolean status = false;
- boolean notApp = false;
-
- if (!descriptor.getServletDescriptors().isEmpty()) {
-
- // get the servlets in this .war
- servlets = descriptor.getServletDescriptors();
- itr = servlets.iterator();
- // test the servlets in this .war
- while (itr.hasNext()) {
- servlet = (WebComponentDescriptor)itr.next();
- en = servlet.getInitializationParameters();
- if (en.hasMoreElements()) {
- ep = (EnvironmentProperty)en.nextElement();
- epValue = ep.getValue();
- if (epValue.length() != 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Param named/value exists for in the servlet [ {0} ].",
- new Object[] {servlet.getName()}));
- } else {
- // failed
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Param name/value entry should of finite length."));
- }
- }
- }
-
- } else {
- notApp = true;
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no initialization parameters for the servlet within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (notApp){
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/SessionConfigTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/SessionConfigTest.java
deleted file mode 100644
index 05b1a7f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/SessionConfigTest.java
+++ /dev/null
@@ -1,67 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.XpathPrefixResolver;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-
-
-/**
- *
- *
- */
-public class SessionConfigTest extends WebTest implements WebCheck {
-
-
- /**
- * The session-config element defines the session parameters for this web application
- * The deployment descriptor instance file must not contain multiple elements of session-config.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
-
- public Result check(WebBundleDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- //This test is not applicable for application based on Servlet Spec 2.3
- String prefix = XpathPrefixResolver.fakeXPrefix;
- String query = prefix + ":" + "web-app/" + prefix + ":" + "session-config";
- int count = getNonRuntimeCountNodeSet(query);
-
- if ( count == 0 || count == -1) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "Not Applicable: Servlet session-config element is not Specified."));
- } else if ( count == 1 ) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed" ,
- "The session-config element is specified correctly"));
- } else if ( count > 1 ) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor instance contains multiple elements of session-config element"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/SessionTimeout.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/SessionTimeout.java
deleted file mode 100644
index a6eaa4a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/SessionTimeout.java
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.io.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * The session-timeout element deinfes the default session timeout interval
- * for all sessions created in this web application. The units used must
- * be expressed in whole minutes.
- */
-public class SessionTimeout extends WebTest implements WebCheck {
-
-
- /**
- * The session-timeout element deinfes the default session timeout interval
- * for all sessions created in this web application. The units used must
- * be expressed in whole minutes.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
-ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean na = false;
- boolean foundIt = false;
- Integer sessionTimeout = descriptor.getSessionConfig().getSessionTimeout();
- // tomcat doesn't throw exception to DOL if you pass "ten" to xml element,
- // it initializes session-timeout to -1, hence this check
- if (sessionTimeout.intValue() == -1 ) {
- na = true;
- } else if (sessionTimeout.intValue() >= 0 ) {
- foundIt = true;
- } else {
- foundIt = false;
- }
-
- // always true until DOL lets something other than integer thru...
- if (na) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "Not Applicable: Servlet session-timeout [ {0} ] element does not define the default session timeout interval.",
- new Object[] {sessionTimeout.toString()}));
- } else if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Servlet session-timeout [ {0} ] element defines the default session timeout interval expressed in whole minutes.",
- new Object[] {sessionTimeout.toString()}));
- } else {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Servlet session-timeout [ {0} ] element does not define the default session timeout interval expressed in whole minutes.",
- new Object[] {sessionTimeout.toString()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/StatefulSessionBeanInjection.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/StatefulSessionBeanInjection.java
deleted file mode 100644
index b184782..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/StatefulSessionBeanInjection.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.EjbDescriptor;
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.deployment.InjectionTarget;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.types.EjbReference;
-
-import java.util.Set;
-
-/**
- * Assertion
- *
- * A stateful session bean should not be injected into a servlet.
- *
- * @author bshankar@sun.com
- */
-public class StatefulSessionBeanInjection extends WebTest implements WebCheck {
-
- final static String className = StatefulSessionBeanInjection.class.getName();
-
- public Result check(WebBundleDescriptor descriptor) {
- // initialize the result object
- Result result = getInitializedResult();
- addWarningDetails(result,
- getVerifierContext().getComponentNameConstructor());
- result.setStatus(Result.PASSED); //default status is PASSED
-
- Set<EjbReference> s = descriptor.getEjbReferenceDescriptors();
- if (s == null) return result;
-
- for(EjbReference ejbRefDesc : s) {
- EjbDescriptor ejbDescriptor = ejbRefDesc.getEjbDescriptor();
- if (ejbDescriptor instanceof EjbSessionDescriptor) { // instaceof returns false if ejbDescriptor=null.
- String stateType = ((EjbSessionDescriptor)ejbDescriptor).getSessionType();
- if(EjbSessionDescriptor.STATEFUL.equals(stateType)) {
- Set<InjectionTarget> injectionTargets = ejbRefDesc.getInjectionTargets();
- if(injectionTargets != null) {
- for(InjectionTarget it : injectionTargets) {
- String itClassName = it.getClassName();
- result.warning(smh.getLocalString(className + ".warning",
- "Found a stateful session bean [ {0} ] injected into [ {1} ].",
- new Object[]{ejbDescriptor.getEjbClassName(), itClassName}));
- }
- }
- }
- }
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagClassExtendsValidInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagClassExtendsValidInterface.java
deleted file mode 100644
index ae6a9d0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagClassExtendsValidInterface.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.tools.verifier.web.TagDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-/**
- * Tag class implements jakarta.servlet.jsp.tagext.JspTag for JSP version 2.0,
- * jakarta.servlet.jsp.tagext.Tag for earlier versions of JSP specification.
- *
- * @author sg133765
- */
-
-public class TagClassExtendsValidInterface extends WebTest implements WebCheck {
- public Result check(WebBundleDescriptor descriptor) {
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- VerifierTestContext context = getVerifierContext();
- Result result = loadWarFile(descriptor);
- TagLibDescriptor tlds[] = context.getTagLibDescriptors();
- boolean failed=false;
- boolean oneFailed = false;
-
- if (tlds == null) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "No tag lib files are specified"));
- return result;
-
- }
- for(TagLibDescriptor tld : tlds) {
- TagDescriptor[] tagDesc = tld.getTagDescriptors();
- for(TagDescriptor td : tagDesc) {
- String tagclass = td.getTagClass();
- Class c = loadClass(result, tagclass);
- if (c!=null) {
- if (tld.getSpecVersion().trim().equalsIgnoreCase("2.0")) {
- failed = !jakarta.servlet.jsp.tagext.JspTag.class.isAssignableFrom(c);
- } else {
- failed = !jakarta.servlet.jsp.tagext.Tag.class.isAssignableFrom(c);
- }
- if(failed) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString(getClass().getName() + ".failed",
- "Error: tag class [ {0} ] in [ {1} ] does not implements valid interface",
- new Object[] {c.getName(), tld.getUri()}));
- } else {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed1",
- "tag class [ {0} ] in [ {1} ] implements valid interface",
- new Object[] {c.getName(), tld.getUri()}));
- }
- }
- }//for
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- else
- result.setStatus(Result.PASSED);
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagClassImplementsValidInterface.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagClassImplementsValidInterface.java
deleted file mode 100644
index c4c7e15..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagClassImplementsValidInterface.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.tools.verifier.web.TagDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-/**
- * dynamic-attributes element in tag element describes whether this tag supports
- * additional attributes with dynamic names. If true, the tag-class must
- * implement the jakarta.servlet.jsp.tagext.DynamicAttributes interface.
- * Defaults to false.
- * @author Sudipto Ghosh
- *
- */
-public class TagClassImplementsValidInterface extends WebTest implements WebCheck {
- public Result check(WebBundleDescriptor descriptor) {
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- VerifierTestContext context = getVerifierContext();
- Result result = getInitializedResult();
- ClassLoader cl = context.getClassLoader();
- TagLibDescriptor tlds[] = context.getTagLibDescriptors();
- if (tlds == null) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "No tag lib files are specified"));
- return result;
- }
-
- for (TagLibDescriptor tld : tlds) {
- if (tld.getSpecVersion().compareTo("2.0")>=0) {
- for (TagDescriptor tagdesc : tld.getTagDescriptors()) {
- Class c = null;
- try {
- c = Class.forName(tagdesc.getTagClass(), false, cl);
- } catch (ClassNotFoundException e) {
- //do nothing
- }
- if (tagdesc.getDynamicAttributes().equalsIgnoreCase("true") &&
- !jakarta.servlet.jsp.tagext.DynamicAttributes.class.
- isAssignableFrom(c) ) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass()
- .getName() +
- ".failed",
- "Error: tag class [ {0} ] in [ {1} ] does not " +
- "implements interface " +
- "jakarta.servlet.jsp.tagext.DynamicAttributes",
- new Object[]{c.getName(), tld.getUri()}));
-
- }
- }
- }
- }
-
- if(result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass()
- .getName() +
- ".passed1", "All tag-class defined in the tag lib descriptor" +
- " files implement valid interface"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagLibPublicID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagLibPublicID.java
deleted file mode 100644
index 5059cc0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagLibPublicID.java
+++ /dev/null
@@ -1,88 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-/**
- *
- */
-public class TagLibPublicID extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- String acceptablePubidLiterals[] = {
- "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" ,
- "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.2//EN" };
-
- String acceptableURLs[] = {"http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd",
- "http://java.sun.com/dtd/web-jsptaglibrary_1_2.dtd"};
- VerifierTestContext context = getVerifierContext();
- TagLibDescriptor tlds[] = context.getTagLibDescriptors();
-
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Test passed successfully"));
-
- if (tlds != null && tlds.length !=0) {
- boolean oneFailed = false;
- // iterate over all the tag lib descriptors present in war file
- for (int i=0;i<tlds.length;i++) {
- String publicID = tlds[i].getPublicID();
- String systemID = tlds[i].getSystemID();
- if (publicID==null) continue;
- boolean match = false;
- for (int k=0;k<acceptablePubidLiterals.length;k++) {
- if (publicID.compareTo(acceptablePubidLiterals[k])==0 && systemID.compareTo(acceptableURLs[k])==0) {
- match=true;
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "The deployment descriptor [ {0} ] has the proper PubidLiteral: [ {1} ] and sytemID: [ {2} ]",
- new Object[] {tlds[i].getUri(), acceptablePubidLiterals[k], acceptableURLs[k]}));
- break;
- }
- }
-
- if (!match) {
- oneFailed=true;
- addErrorDetails(result, compName);
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor for [ {0} ] does not have an expected PubidLiteral or SystemID",
- new Object[] {tlds[i].getUri()}));
-
- }
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- return result;
-
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagNameIsUnique.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagNameIsUnique.java
deleted file mode 100644
index db49496..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TagNameIsUnique.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.ArrayList;
-import java.util.List;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.web.TagDescriptor;
-
-
-/**
- * The name of tag must be unique.
- * @author Sudipto Ghosh
- */
-
-public class TagNameIsUnique extends WebTest implements WebCheck {
- boolean oneFailed=false;
-
- public Result check(WebBundleDescriptor descriptor) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- VerifierTestContext context = getVerifierContext();
- Result result = loadWarFile(descriptor);
-
- TagLibDescriptor tlds[] = context.getTagLibDescriptors();
- if (tlds == null) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "No tag lib files are specified"));
- return result;
- }
- for(TagLibDescriptor tld : tlds) {
- TagDescriptor[] tagDesc = tld.getTagDescriptors();
- List<String> name = new ArrayList<String>();
- for(TagDescriptor td : tagDesc) {
- name.add(td.getTagName());
- }
- if (name != null) {
- String[] names = (String[])name.toArray(new String[0]);
- if (!checkForDuplicateNames(result, compName, names, tld)) {
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed1",
- "All 'name' elements are defined properly under tag element of [ {0} ]",
- new Object[]{tld.getUri()}));
- }
- }
- }
- if(oneFailed){
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- return result;
- }
-
- public boolean checkForDuplicateNames(Result result, ComponentNameConstructor compName, String[] names, TagLibDescriptor tld) {
- boolean duplicate = false;
- for(int i=0; i<names.length-1;i++){
- for (int j=i+1; j<names.length; j++) {
- duplicate = names[i].trim().equals(names[j]);
- if(duplicate) {
- oneFailed=true;
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "The name element value [ {0} ] under tag " +
- "element in [ {1} ] is not unique",
- new Object[] {names[i], tld.getUri()}));
- }
- }
- }
- return oneFailed;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/Taglib.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/Taglib.java
deleted file mode 100644
index b03774f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/Taglib.java
+++ /dev/null
@@ -1,63 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.*;
-import java.io.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * @author Arun Jain
- *
- */
-public abstract class Taglib extends WebTest {
-
-
- /**
- * @param descriptor the Web deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public boolean check(WebBundleDescriptor descriptor, String taglibEntry, Result result) {
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String uri = getAbstractArchiveUri(descriptor);
-
- if (taglibEntry.startsWith("/"))
- taglibEntry = taglibEntry.substring(1);
- else taglibEntry = "WEB-INF/" + taglibEntry;
- File tlf = new File(uri + File.separator + taglibEntry);
- if (tlf.exists()) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Tag library/.tld file exist in web application."));
- return true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "[ {0} ] is not a valid tld location.", new Object[] {taglibEntry}));
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibFunctionMethodTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibFunctionMethodTest.java
deleted file mode 100644
index fca3795..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibFunctionMethodTest.java
+++ /dev/null
@@ -1,111 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.lang.reflect.Method;
-import java.lang.reflect.Modifier;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.TagLibTest;
-import com.sun.enterprise.tools.verifier.web.FunctionDescriptor;
-
-/**
- * The specified method, in function-signature element, must be a public static
- * method in the specified class, and must be specified using a fully-qualified
- * return type followed by the method name, followed by the fully-qualified
- * argument types in parenthesis, separated by commas.
- *
- * @author Sudipto Ghosh
- */
-public class TaglibFunctionMethodTest extends TagLibTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- Result result = getInitializedResult();
- VerifierTestContext context = getVerifierContext();
- TagLibDescriptor tlds[] = context.getTagLibDescriptors();
- FunctionDescriptor[] fnDesc = null;
-
- if (tlds == null) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "No tag lib files are specified"));
- return result;
- }
-
- for (TagLibDescriptor tld : tlds) {
- if (tld.getSpecVersion().compareTo("2.0") >= 0) {
- fnDesc = tld.getFunctionDescriptors();
- if (fnDesc != null)
- for (FunctionDescriptor fd : fnDesc)
- checkMethodExistence(result, fd, tld, compName);
- }
- }
- if (result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass()
- .getName() +
- ".passed", "All methods defined in the function-signature element" +
- "of the tag lib descriptor are properly defined."));
- }
- return result;
- }
-
- private void checkMethodExistence(Result result, FunctionDescriptor fnDesc,
- TagLibDescriptor tld,
- ComponentNameConstructor compName) {
- ClassLoader cl = getVerifierContext().getClassLoader();
- String signature = fnDesc.getFunctionSignature();
- String className = fnDesc.getFunctionClass();
- String methodName = getName(signature);
- String retType = getRetType(signature);
- String[] par = getParameters(signature);
- Class [] param = getParamTypeClass(par, cl);
- try {
- Class c = Class.forName(className, false, cl);
- boolean passed = false;
- Method[] methods= c.getMethods();
- for (Method m : methods) {
- if (m.getName().equals(methodName) &&
- parametersMatch(m, param) &&
- Modifier.toString(m.getModifiers()).contains("static") &&
- returnTypeMatch(m, retType)) {
- passed = true;
- break;
- }
- }
- if(!passed) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName() +
- ".failed",
- "Error: The method [ {0} ] as defined in function-signature" +
- "element of [ {1} ] does not exists or is not a" +
- "public static method in class [ {2} ]",
- new Object[]{methodName, tld.getUri(), className }));
- }
- } catch (ClassNotFoundException e) {
- //do nothing. If class is not found, JSP compiler will anyway report
- }
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibFunctionSignatureIsValid.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibFunctionSignatureIsValid.java
deleted file mode 100644
index 6320066..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibFunctionSignatureIsValid.java
+++ /dev/null
@@ -1,138 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-
-import com.sun.enterprise.tools.verifier.tests.TagLibTest;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.tools.verifier.web.FunctionDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-/**
- * The function-signature must be specified using a fully-qualified return type
- * followed by the method name, followed by the fully-qualified argument types
- * in parenthesis, separated by commas.
- *
- * @author Sudipto Ghosh
- */
-public class TaglibFunctionSignatureIsValid extends TagLibTest implements WebCheck {
- public Result check(WebBundleDescriptor descriptor) {
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- Result result = getInitializedResult();
- VerifierTestContext context = getVerifierContext();
- TagLibDescriptor tlds[] = context.getTagLibDescriptors();
- FunctionDescriptor[] fnDesc = null;
-
- if (tlds == null) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "No tag lib files are specified"));
- return result;
- }
-
- for (TagLibDescriptor tld : tlds) {
- if (tld.getSpecVersion().compareTo("2.0") >= 0) {
- fnDesc = tld.getFunctionDescriptors();
- if (fnDesc != null)
- for (FunctionDescriptor fd : fnDesc)
- checkSignature(result, fd, tld, compName);
- }
- }
- if (result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass()
- .getName() +
- ".passed", "function-signature element of the tag lib " +
- "descriptor are properly defined."));
- }
- return result;
- }
-
- /**
- * Checks the validity of the signature string contained in function-signature
- * object
- * @param result
- * @param fnDesc
- * @param tld
- * @param compName
- */
- private void checkSignature(Result result, FunctionDescriptor fnDesc,
- TagLibDescriptor tld,
- ComponentNameConstructor compName) {
- String signature = fnDesc.getFunctionSignature();
- ClassLoader cl = getVerifierContext().getClassLoader();
- String retType = getRetType(signature);
- String[] parameter = getParameters(signature);
- if (checkIfPrimitive(retType) == null && !checkValidRType(retType)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName() +
- ".failed",
- "ERROR: In the tld [ {0} ] return type is not specified correctly in " +
- "this signature [ {1} ]",
- new Object[]{tld.getUri(), signature}));
- }
- //parameter is a basic type or fully qualified Type
- if(!checkParamTypeClass(parameter, cl)) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName() +
- ".failed1",
- "ERROR: In the tld [ {0} ] parameters are not specified correctly in " +
- "this signature [ {1} ]",
- new Object[]{tld.getUri(), signature}));
- }
- }
-
- /**
- *
- * @param retType
- * @return true if the return type is specified correctly, false otherwise
- */
- private boolean checkValidRType(String retType) {
- boolean valid = true;
- try {
- Class.forName(retType);
- } catch (ClassNotFoundException e) {
- valid=false;
- }
- return valid;
- }
-
- /**
- * return true, if all the parameters specified by par String[] are correctly
- * specified, false otherwise.
- * @param par
- * @param cl
- * @return
- */
- private boolean checkParamTypeClass(String[] par, ClassLoader cl) {
- for(String s : par) {
- Class c = checkIfPrimitive(s);
- if (c == null)
- try {
- c = Class.forName(s, false, cl);
- } catch (ClassNotFoundException e) {
- return false;
- }
- }
- return true;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibListenerClassExists.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibListenerClassExists.java
deleted file mode 100644
index c9fcb69..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibListenerClassExists.java
+++ /dev/null
@@ -1,75 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-
-/**
- * Listener class exists tests.
- * Verify that the Listener class exists inside the .tld file and is loadable.
- * @author Sudipto Ghosh
- */
-
-public class TaglibListenerClassExists extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- VerifierTestContext context = getVerifierContext();
- Result result = getInitializedResult();
- TagLibDescriptor tlds[] = context.getTagLibDescriptors();
- ClassLoader cl = context.getClassLoader();
-
- if (tlds == null) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "No tag lib files are specified"));
- return result;
- }
-
- for (TagLibDescriptor tld:tlds) {
- String[] classes = tld.getListenerClasses();
- if(classes != null) {
- for ( String s : classes ) {
- Class c = null;
- try {
- c = Class.forName(s, false, cl);
- } catch (ClassNotFoundException e) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Taglib listener class [ {0} ] found in " +
- "[ {1} ] is not loadable ",
- new Object[] {s, tld.getUri()}));
- }
- }
- }
- }
- if (result.getStatus()!=Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "taglib listener classes, if any, specified in tlds are loadable"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibLocation.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibLocation.java
deleted file mode 100644
index aff0355..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibLocation.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import jakarta.servlet.descriptor.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-
-/**
- * Must check for the existence of the tld file.
- * @author Arun Jain
- */
-public class TaglibLocation extends Taglib implements WebCheck {
-
-
- /**
- * .tld file exists test.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean passed = true;
- String taglibLocation;
- Iterable<TaglibDescriptor> taglibConfig = null;
- if (((WebBundleDescriptorImpl)descriptor).getJspConfigDescriptor() != null) {
- taglibConfig = ((WebBundleDescriptorImpl)descriptor).getJspConfigDescriptor().getTaglibs();
- }
-
- if (taglibConfig != null) {
- for (TaglibDescriptor taglibDescriptor : taglibConfig) {
- // test all the Tag lib descriptors.
- taglibLocation = taglibDescriptor.getTaglibLocation();
- if(passed == false)
- check(descriptor, taglibLocation, result);
- else
- passed = check(descriptor, taglibLocation, result);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no TagLibConfigurationDescriptors within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
-
- }
-
- if ( passed) {
- result.setStatus(Result.PASSED);
- } else {
- result.setStatus(Result.FAILED);
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibUri.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibUri.java
deleted file mode 100644
index 4567de6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TaglibUri.java
+++ /dev/null
@@ -1,97 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import jakarta.servlet.descriptor.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-
-/**
- * Must check for the existence of the tag library relative to the web.xml.
- * @author Arun Jain
- */
-public class TaglibUri extends Taglib implements WebCheck {
-
-
- /**
- * Tag library existence test.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean failed = false;
- Iterable<TaglibDescriptor> taglibs = null;
- if (((WebBundleDescriptorImpl)descriptor).getJspConfigDescriptor() != null) {
- taglibs = ((WebBundleDescriptorImpl)descriptor).getJspConfigDescriptor().getTaglibs();
- }
-
- if (taglibs != null){
- for (TaglibDescriptor taglibDescriptor : taglibs) {
- // test all the Tag lib descriptors.
- String taglibUri = taglibDescriptor.getTaglibURI();
- if (taglibUri.equals("")) {
- failed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: taglib-uri should not be an empty string."));
- result.setStatus(Result.FAILED);
- return result;
- }
- }
- if (failed == false) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "taglib-uri element is a non-empty string."));
- result.setStatus(Result.PASSED);
- } else {
- result.setStatus(Result.FAILED);
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no TagLibConfigurationDescriptors within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- result.setStatus(Result.NOT_APPLICABLE);
- return result;
-
- }
-
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TestNamesWeb.xml b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TestNamesWeb.xml
deleted file mode 100644
index a9c1159..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TestNamesWeb.xml
+++ /dev/null
@@ -1,316 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Web App tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TagLibPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.JspFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WelcomeFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ErrorCode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ExceptionType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.RoleLink
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebResourceType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebResourceName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.AuthMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FormLoginPage
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FormErrorPage
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.RealmName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.SessionTimeout
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.URLPattern
- </test-class>
- <minimum-version>2.3</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.LibDirExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletSmallIcon
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletLargeIcon
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ApplicationLargeIcon
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ApplicationSmallIcon
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ParamName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ParamValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletParamValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletParamName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ResourceRefName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ResourceAuth
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TaglibUri
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TaglibLocation
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterClassExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterMapping
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterClassImplementsValidInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterSmallIcon
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterLargeIcon
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName
- </test-class>
- <maximum-version>2.2</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists
- </test-class>
- <minimum-version>2.3</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TransportGuarantee.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TransportGuarantee.java
deleted file mode 100644
index 27bb749..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/TransportGuarantee.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.SecurityConstraintImpl;
-import org.glassfish.web.deployment.descriptor.UserDataConstraintImpl;
-
-/**
- * The transport-guarantee element specifies that the communication between
- * client and server should be "SECURE", "NONE", or "CONFIDENTIAL".
- */
-public class TransportGuarantee extends WebTest implements WebCheck {
-
-
- /**
- * The transport-guarantee element specifies that the communication between
- * client and server should be "SECURE", "NONE", or "CONFIDENTIAL".
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getSecurityConstraints().hasMoreElements()) {
- boolean oneFailed = false;
- boolean foundIt = false;
- int na = 0;
- int noSc = 0;
- // get the errorpage's in this .war
- for (Enumeration e = descriptor.getSecurityConstraints() ; e.hasMoreElements() ;) {
- foundIt = false;
- noSc++;
- SecurityConstraintImpl securityConstraintImpl = (SecurityConstraintImpl) e.nextElement();
- UserDataConstraintImpl userDataConstraint = (UserDataConstraintImpl) securityConstraintImpl.getUserDataConstraint();
- if (userDataConstraint != null) {
- String transportGuarantee = userDataConstraint.getTransportGuarantee();
- if (transportGuarantee.length() > 0) {
- if ((transportGuarantee.equals("NONE")) ||
- (transportGuarantee.equals("INTEGRAL")) ||
- (transportGuarantee.equals("CONFIDENTIAL"))) {
- foundIt = true;
- } else {
- foundIt = false;
- }
- } else {
- foundIt = false;
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "transport-guarantee [ {0} ] specifies that the communication between client and server should be one of \"SECURE\", \"NONE\", or \"CONFIDENTIAL\" within web application [ {1} ]",
- new Object[] {transportGuarantee, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: transport-guarantee [ {0} ] does not specify that the communication between client and server is one of \"SECURE\", \"NONE\", or \"CONFIDENTIAL\" within web application [ {1} ]",
- new Object[] {transportGuarantee, descriptor.getName()}));
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no transport-guarantee elements within the web application [ {0} ]",
- new Object[] {descriptor.getName()}));
- na++;
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if (na == noSc) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no transport-guarantee elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPattern.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPattern.java
deleted file mode 100644
index 680480a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPattern.java
+++ /dev/null
@@ -1,121 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.Enumeration;
-import java.util.Iterator;
-
-import jakarta.servlet.descriptor.*;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import com.sun.enterprise.deployment.web.SecurityConstraint;
-import com.sun.enterprise.deployment.web.ServletFilterMapping;
-import com.sun.enterprise.deployment.web.WebResourceCollection;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.web.deployment.descriptor.JspConfigDescriptorImpl;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-/**
- * The content of the url-pattern element follows the rules specified in
- * section 10 of the servlet spec.
- * This abstract class serves as the base of some concrete classes like
- * URLPatternErrorCheck, URLPatternWarningCheck & URLPatternContainsCRLF.
- * This class implements the check method, but inside the check method it calls a pure virtual function
- * called checkUrlPatternAndSetResult. This pure virtual function is implemented in the two derived classes.
- */
-public abstract class URLPattern extends WebTest implements WebCheck {
- //These variables are needed because Result object does not maintain state.
- protected boolean oneFailed=false, oneWarning=false;
-
- /**
- * The content of the url-pattern element follows the rules specified in
- * section 10 of the servlet spec.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There is no url-pattern element within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- checkWebResourceCollections(descriptor, result, compName);
- checkServletMappings(descriptor, result, compName);
- checkServletFilterMappings(descriptor, result, compName);
- checkJspGroupProperties(descriptor, result, compName);
-
- if(oneFailed) result.setStatus(Result.FAILED);
- else if(oneWarning) result.setStatus(Result.WARNING);
- return result;
- }
-
- //Each derived test should implement this method
- protected abstract void checkUrlPatternAndSetResult(String urlPattern, Descriptor descriptor, Result result, ComponentNameConstructor compName);
-
- private void checkWebResourceCollections(WebBundleDescriptor descriptor, Result result, ComponentNameConstructor compName){
- Enumeration e=descriptor.getSecurityConstraints();
- while (e.hasMoreElements()) {
- SecurityConstraint securityConstraint = (SecurityConstraint) e.nextElement();
- for (WebResourceCollection webResourceCollection : securityConstraint.getWebResourceCollections()) {
- for (String s : webResourceCollection.getUrlPatterns()) {
- checkUrlPatternAndSetResult(s, descriptor, result, compName);
- }
- }
- }
- }
-
- private void checkServletMappings(WebBundleDescriptor descriptor, Result result, ComponentNameConstructor compName){
- for(Iterator iter=descriptor.getWebComponentDescriptors().iterator();iter.hasNext();)
- for(Iterator iter2=((WebComponentDescriptor)iter.next()).getUrlPatternsSet().iterator(); iter2.hasNext();
- checkUrlPatternAndSetResult((String)iter2.next(), descriptor, result, compName));
- }
-
- private void checkServletFilterMappings(WebBundleDescriptor descriptor, Result result, ComponentNameConstructor compName){
- for(Iterator iter=descriptor.getServletFilterMappings().iterator();iter.hasNext();){
- ServletFilterMapping filterMapping=(ServletFilterMapping)iter.next();
- if(filterMapping.getUrlPatterns().size() > 0) {
- for(String url : filterMapping.getUrlPatterns())
- checkUrlPatternAndSetResult(url, descriptor, result, compName);
- }
- }
- }
-
- //This method checks for url-patterns appearing in jsp-config element in an web-app.
- private void checkJspGroupProperties(WebBundleDescriptor descriptor, Result result, ComponentNameConstructor compName){
- JspConfigDescriptorImpl jspC=((WebBundleDescriptorImpl)descriptor).getJspConfigDescriptor();
- if (jspC==null) return;
- for (JspPropertyGroupDescriptor desc : jspC.getJspPropertyGroups()) {
- for (String urlPattern : desc.getUrlPatterns()) {
- checkUrlPatternAndSetResult(urlPattern, descriptor, result,
- compName);
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternContainsCRLF.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternContainsCRLF.java
deleted file mode 100644
index cd2c0c4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternContainsCRLF.java
+++ /dev/null
@@ -1,65 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.deployment.common.Descriptor;
-
-/**
- * url-pattern element must not contain New Line (NL) or Carriage Return (CR)
- * In the schema j2ee_1_4.xsd it states that
- The url-patternType contains the url pattern of the mapping.
- It must follow the rules specified in Section 11.2 of the
- Servlet API Specification. This pattern is assumed to be in
- URL-decoded form and must not contain CR(#xD) or LF(#xA).
- If it contains those characters, the container must inform
- the developer with a descriptive error message.
- */
-//This test won't be exercised now as DOL already has this test (see bug#4903530)
-//But we should have it so that if any day DOL removes that test, we would catch it.
-public class URLPatternContainsCRLF extends URLPattern {
-
- protected void checkUrlPatternAndSetResult(String urlPattern, Descriptor descriptor, Result result, ComponentNameConstructor compName){
- if (urlPattern == null) return; //some other test takes care of this.
- // In Ascii table, Line Feed (LF) decimal value is 10 and Carriage Return (CR) decimal value is 13
- final int LF = 10, CR = 13;
- if (urlPattern.indexOf(CR)!=-1 || urlPattern.indexOf(LF)!=-1) {
- oneFailed=true;
- result.failed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails (smh.getLocalString
- (getClass().getName() + ".failed",
- "url-pattern [ {0} ] within [ {1} ] contains a carriage return or line feed char",
- new Object[] {urlPattern, descriptor.getName()}));
- } else {
- result.passed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails (smh.getLocalString
- (getClass().getName() + ".passed",
- "url-pattern [ {0} ] within [ {1} ] does not contain carriage return or line feed char",
- new Object[] {urlPattern, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternErrorCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternErrorCheck.java
deleted file mode 100644
index 3c249f1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternErrorCheck.java
+++ /dev/null
@@ -1,57 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.deployment.common.Descriptor;
-
-/**
- * The content of the url-pattern element follows the rules specified in
- * section 10 of the servlet spec.
- * In this test, we only check for failure conditions.
- * In URLPatternWarningCheck class we check for warnings.
- */
-public class URLPatternErrorCheck extends URLPattern {
-
- protected void checkUrlPatternAndSetResult(String urlPattern, Descriptor descriptor, Result result, ComponentNameConstructor compName){
- if (urlPattern != null &&
- (urlPattern.startsWith("/") || (urlPattern.startsWith("*.") && urlPattern.length()!=2))){
- result.passed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails (smh.getLocalString
- (getClass().getName() + ".passed",
- "url-pattern [ {0} ] within [ {1} ] follows the rules specified in servlet specification",
- new Object[] {urlPattern, descriptor.getName()}));
- } else {
- oneFailed=true;
- result.failed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Content of the url-pattern element [ {0} ] does not follow the rules specified in servlet specification within [ {1} ]",
- new Object[] {urlPattern, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUnique.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUnique.java
deleted file mode 100644
index 6680b63..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUnique.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-public abstract class URLPatternUnique extends WebTest implements WebCheck {
- /**
- * the url-pattern should be unique. Refer to bug#4903615
- * This test serves as a base class for three classes.
- * It has a pure virtual function which has to be implemented in concrete subclasses.
- * Note: This right now reports WARNING, as it is not clear from spec
- * if it should report a failure.
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
- boolean na=true, warning=false;
- Result result = getInitializedResult();
- ComponentNameConstructor compName =
- getVerifierContext().getComponentNameConstructor();
- //this warning will be displayed depending on the final status.
- result.addWarningDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
- //Assumes that DOL gives us the list of url-patterns including duplicates
- Set<String> urlPatterns=new HashSet<String>();
- for(Iterator iter=getUrlPatterns(descriptor).iterator();iter.hasNext();){
- na=false;
- String urlPattern=(String)iter.next();
- if(!urlPatterns.add(urlPattern)){
- warning=true;
- result.setStatus(Result.WARNING);
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".warning",
- "url-pattern [ {0} ] already exists in web archive [ {1} ]",
- new Object[] {urlPattern, descriptor.getName()}));
- }
- }
-
- if(na){
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There is no url-pattern element within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }else if(!warning) {
- result.passed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the url-patterns are unique within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
- protected abstract Collection getUrlPatterns(WebBundleDescriptor descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUniqueInSecurityConstraints.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUniqueInSecurityConstraints.java
deleted file mode 100644
index 3405e19..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUniqueInSecurityConstraints.java
+++ /dev/null
@@ -1,35 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.deployment.web.SecurityConstraint;
-import com.sun.enterprise.deployment.web.WebResourceCollection;
-
-public class URLPatternUniqueInSecurityConstraints extends URLPatternUnique{
- protected Collection getUrlPatterns(WebBundleDescriptor descriptor) {
- ArrayList<Object>patterns=new ArrayList<Object>();
- for (Enumeration e=descriptor.getSecurityConstraints(); e.hasMoreElements();){
- for (WebResourceCollection c : ((SecurityConstraint) e.nextElement()).getWebResourceCollections()) {
- for (String s : c.getUrlPatterns()) {
- patterns.add(s);
- }
- }
- }
- return patterns;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUniqueInServletMappings.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUniqueInServletMappings.java
deleted file mode 100644
index f8f845a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternUniqueInServletMappings.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-
-import java.util.Iterator;
-public class URLPatternUniqueInServletMappings extends URLPatternUnique{
- protected Collection getUrlPatterns(WebBundleDescriptor descriptor) {
- ArrayList patterns=new ArrayList();
- for(Iterator iter=descriptor.getWebComponentDescriptors().iterator();
- iter.hasNext();
- patterns.addAll(((WebComponentDescriptor)iter.next()).getUrlPatternsSet()));
- return patterns;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternWarningCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternWarningCheck.java
deleted file mode 100644
index 9e54bd9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/URLPatternWarningCheck.java
+++ /dev/null
@@ -1,60 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.deployment.common.Descriptor;
-
-/**
- * The content of the url-pattern element follows the rules specified in
- * section 10 of the servlet spec.
- * In this test we check for warnings. See bug#4880426 for more details about the motivation.
- */
-public class URLPatternWarningCheck extends URLPattern {
-
- protected void checkUrlPatternAndSetResult(String urlPattern, Descriptor descriptor, Result result, ComponentNameConstructor compName){
-
- if(urlPattern==null) return;//URLPattern1 will take care of this condition. So don't do any thing. More over, the super class would have set NA status, so we don't do that either.
-
- int count = new StringTokenizer(urlPattern,"*", true).countTokens();
- // See bug#4880426
- if((count ==2 && !urlPattern.endsWith("/*") && !urlPattern.startsWith("*.")) // patterns like /abc*, but not /abc/*, /*, *.jsp or *.
- || (count > 2)) //patterns like *.*, *.j*p, /*.jsp, /**, but not *.jsp
- {
- oneWarning=true;
- result.warning(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addWarningDetails (smh.getLocalString
- (getClass().getName() + ".warning",
- "url-pattern [ {0} ] within [ {1} ] will be used for exact match only, although it contains a *",
- new Object[] {urlPattern, descriptor.getName()}));
- } else {
- result.passed(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails (smh.getLocalString
- (getClass().getName() + ".passed",
- "url-pattern [ {0} ] within [ {1} ] follows the rules specified in servlet spec",
- new Object[] {urlPattern, descriptor.getName()}));
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebArchiveClassesLoadable.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebArchiveClassesLoadable.java
deleted file mode 100644
index dba14f2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebArchiveClassesLoadable.java
+++ /dev/null
@@ -1,148 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import com.sun.enterprise.deployment.web.ServletFilter;
-import com.sun.enterprise.deployment.web.AppListenerDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompiler;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClosureCompilerImpl;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.util.WebArchiveLoadableHelper;
-import com.sun.enterprise.deploy.shared.FileArchive;
-import org.glassfish.web.deployment.descriptor.ErrorPageDescriptor;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-import java.util.*;
-import java.io.File;
-
-/**
- * A j2ee archive should be self sufficient and should not depend on any classes to be
- * available at runtime.
- * The test checks whether all the classes found in the web archive are loadable and the
- * classes that are referenced inside their code are also loadable within the jar.
- *
- * @author Vikas Awasthi
- */
-public class WebArchiveClassesLoadable extends WebTest implements WebCheck {
- public Result check(WebBundleDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String archiveUri = getAbstractArchiveUri(descriptor);
-
- Iterator entries;
- try{
- entries=getClassNames(descriptor).iterator();
- } catch(Exception e) {
-// e.printStackTrace();
- result.failed(smh.getLocalString(getClass().getName() + ".exception",
- "Error: [ {0} ] exception while loading the archive [ {1} ].",
- new Object[] {e, descriptor.getName()}));
- return result;
- }
-
- boolean allPassed = true;
- ClosureCompiler closureCompiler=getVerifierContext().getClosureCompiler();
-
- // org.apache.jasper takes care of internal JSP stuff
- ((ClosureCompilerImpl)closureCompiler).addExcludedPattern("org.apache.jasper");
-
- // DefaultServlet takes care of the default servlet in GlassFish.
- // For some reason, for every web app, this is returned as a component
- ((ClosureCompilerImpl)closureCompiler).addExcludedClass("org.apache.catalina.servlets.DefaultServlet");
- if(getVerifierContext().isAppserverMode())
- ((ClosureCompilerImpl)closureCompiler).addExcludedPattern("com.sun.enterprise");
-
- while (entries.hasNext()) {
- String className=(String)entries.next();
- boolean status=closureCompiler.buildClosure(className);
- allPassed=status && allPassed;
- }
- if (allPassed) {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "All the classes are loadable within [ {0} ] without any linkage error.",
- new Object[] {archiveUri}));
- } else {
- result.setStatus(Result.FAILED);
- addErrorDetails(result, compName);
- result.addErrorDetails(WebArchiveLoadableHelper.getFailedResults(closureCompiler, getVerifierContext().getOutDir()));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.loadableError",
- "Please either bundle the above mentioned classes in the application " +
- "or use optional packaging support for them."));
- }
- return result;
- }
-
- /**
- * Looks for Servlet classes, ServletFilter classes, Listener classes and
- * Exception classes in the webBundleDescriptor. The closure is computed
- * starting from these classes.
- * @param descriptor
- * @return returns a list of class names in the form that can be used in
- * classloader.load()
- * @throws Exception
- */
- private List getClassNames(WebBundleDescriptor descriptor) throws Exception{
- final List<String> results=new LinkedList<String>();
- for(Object obj : descriptor.getServletDescriptors()) {
- String servletClassName = (WebComponentDescriptor.class.cast(obj))
- .getWebComponentImplementation();
- results.add(servletClassName);
- }
-
- for (Object obj : descriptor.getServletFilterDescriptors()) {
- String filterClassName = (ServletFilter.class.cast(obj)).getClassName();
- results.add(filterClassName);
- }
-
- for (Object obj : descriptor.getAppListenerDescriptors()) {
- String listenerClassName = (AppListenerDescriptor.class.cast(obj)).getListener();
- results.add(listenerClassName);
- }
-
- results.addAll(getVerifierContext().getFacesConfigDescriptor().getManagedBeanClasses());
-
- Enumeration en = ((WebBundleDescriptorImpl)descriptor).getErrorPageDescriptors();
- while (en.hasMoreElements()) {
- ErrorPageDescriptor errorPageDescriptor = (ErrorPageDescriptor) en.nextElement();
- String exceptionType = errorPageDescriptor.getExceptionType();
- if (exceptionType != null && !exceptionType.equals(""))
- results.add(exceptionType);
- }
-
- File file = getVerifierContext().getOutDir();
- if(!file.exists())
- return results;
-
- FileArchive arch= new FileArchive();
- arch.open(file.toURI());
- Enumeration entries = arch.entries();
- while(entries.hasMoreElements()){
- String name=(String)entries.nextElement();
- if(name.startsWith("org/apache/jsp") && name.endsWith(".class"))
- results.add(name.substring(0, name.lastIndexOf(".")).replace('/','.'));
- }
- return results;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebCheck.java
deleted file mode 100755
index 97bccb0..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebCheck.java
+++ /dev/null
@@ -1,28 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.*;
-
-/**
- * The interface that all Web test implement
- */
-public interface WebCheck {
-
- Result check(WebBundleDescriptor descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryName.java
deleted file mode 100755
index 2a83ec1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryName.java
+++ /dev/null
@@ -1,92 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The environment entry name must be of finite length.
- */
-public class WebEnvEntryName extends WebTest implements WebCheck {
-
-
- /**
- * The environment entry name must be of finite length.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- EnvironmentProperty nextEnvironmentProperty;
- String envName;
- if (!descriptor.getEnvironmentProperties().isEmpty()) {
-
- for (Iterator itr = descriptor.getEnvironmentProperties().iterator();
- itr.hasNext();) {
- nextEnvironmentProperty = (EnvironmentProperty) itr.next();
- envName = nextEnvironmentProperty.getName();
- if (envName.length() > 0) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Environment entry value [ {0} ] has valid name within web archive [ {1} ]",
- new Object[] {nextEnvironmentProperty.getName(),descriptor.getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Environment entry name must be of finite length"));
- }
- }
- if (!oneFailed){
- result.setStatus(Result.PASSED);
- } else {
- result.setStatus(Result.FAILED);
- }
- } else {
- result.setStatus(Result.NOT_APPLICABLE);
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no environment entry elements defined within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryValue.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryValue.java
deleted file mode 100755
index ad32727..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryValue.java
+++ /dev/null
@@ -1,212 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * If the Bean Provider provides a value for an environment entry using the
- * env-entry-value element, the value can be changed later by the Application
- * Assembler or Deployer. The value must be a string that is valid for the
- * constructor of the specified type that takes a single String parameter.
- */
-public class WebEnvEntryValue extends WebTest implements WebCheck {
-
-
- /**
- * If the Bean Provider provides a value for an environment entry using the
- * env-entry-value element, the value can be changed later by the Application
- * Assembler or Deployer. The value must be a string that is valid for the
- * constructor of the specified type that takes a single String parameter.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- boolean globalFailed = false;
- if (!descriptor.getEnvironmentProperties().isEmpty()) {
- int oneEnvValue = 0;
- int oneNA = 0;
- // The value must be a string that is valid for the
- // constructor of the specified type that takes a single String parameter
- for (Iterator itr2 = descriptor.getEnvironmentProperties().iterator();
- itr2.hasNext();) {
- oneEnvValue++;
- EnvironmentProperty nextEnvironmentProperty =
- (EnvironmentProperty) itr2.next();
- if ((nextEnvironmentProperty.getValue() != null) && (nextEnvironmentProperty.getValue().length() > 0)) {
- if (nextEnvironmentProperty.getType().equals("java.lang.String")) {
- // don't need to do anything in this case, since any string results
- // in a valid object creation
- try {
- new String(nextEnvironmentProperty.getValue());
- } catch (Exception e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Character")) {
- try {
- if (nextEnvironmentProperty.getValue().length() == 1) {
- char c = (nextEnvironmentProperty.getValue()).charAt(0);
- new Character(c);
- }
- else oneFailed = true;
- } catch (Exception e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- }else if (nextEnvironmentProperty.getType().equals("java.lang.Integer")) {
- try {
- new Integer(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Boolean")) {
- // don't need to do anything in this case, since any string results
- // in a valid object creation
- try {
- new Boolean(nextEnvironmentProperty.getValue());
- } catch (Exception e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Double")) {
- try {
- new Double(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Byte")) {
- try {
- new Byte(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Short")) {
- try {
- new Short(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Long")) {
- try {
- new Long(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else if (nextEnvironmentProperty.getType().equals("java.lang.Float")) {
- try {
- new Float(nextEnvironmentProperty.getValue());
- } catch (NumberFormatException e) {
- if (debug) {
- e.printStackTrace();
- }
- oneFailed = true;
- }
- } else {
- oneFailed = true;
- }
- if (oneFailed) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Environment entry value [ {0} ] does not have valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within web archive [ {3} ]",
- new Object[] {nextEnvironmentProperty.getName(),nextEnvironmentProperty.getValue(),nextEnvironmentProperty.getType(),descriptor.getName()}));
- globalFailed = true;
- oneFailed = false;
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Environment entry value [ {0} ] has valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within web archive [ {3} ]",
- new Object[] {nextEnvironmentProperty.getName(),nextEnvironmentProperty.getValue(),nextEnvironmentProperty.getType(),descriptor.getName()}));
- }
- } else {
- // maybe nextEnvironmentProperty.getValue is null 'cause we
- // are not using nextEnvironmentProperty.getValue
- // if that is the case, then test is N/A,
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Environment entry [ {0} ] initial value is not defined within web application [ {1} ]",
- new Object[] {nextEnvironmentProperty.getName(), descriptor.getName()}));
- oneNA++;
- }
- }
- if (globalFailed){
- result.setStatus(Result.FAILED);
- } else if (oneNA == oneEnvValue) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no environment entry elements defined within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryValueType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryValueType.java
deleted file mode 100755
index 75236ee..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebEnvEntryValueType.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * The environment entry value type must be one of the following Java types:
- * String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- */
-public class WebEnvEntryValueType extends WebTest implements WebCheck {
-
-
- /**
- * The environment entry value type must be one of the following Java types:
- * String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- if (!descriptor.getEnvironmentProperties().isEmpty()) {
- // environment entry value type must be one of the following Java types:
- // String, Integer, Boolean, Double, Byte, Short, Long, and Float.
- for (Iterator itr2 = descriptor.getEnvironmentProperties().iterator();
- itr2.hasNext();) {
- EnvironmentProperty nextEnvironmentProperty =
- (EnvironmentProperty) itr2.next();
- String envType = nextEnvironmentProperty.getType();
- if ((envType.equals("java.lang.String")) ||
- (envType.equals("java.lang.Integer")) ||
- (envType.equals("java.lang.Boolean")) ||
- (envType.equals("java.lang.Double")) ||
- (envType.equals("java.lang.Byte")) ||
- (envType.equals("java.lang.Short")) ||
- (envType.equals("java.lang.Long")) ||
- (envType.equals("java.lang.Character")) ||
- (envType.equals("java.lang.Float"))) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Environment entry value [ {0} ] has valid value type [ {1} ] within web archive [ {2} ]",
- new Object[] {nextEnvironmentProperty.getName(),envType,descriptor.getName()}));
- } else {
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Environment entry value [ {0} ] does not have valid value type [ {1} ] within web archive [ {2} ]",
- new Object[] {nextEnvironmentProperty.getName(),envType,descriptor.getName()}));
- }
- }
- if (!oneFailed){
- result.setStatus(Result.PASSED);
- } else {
- result.setStatus(Result.FAILED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no environment entry elements defined within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebName.java
deleted file mode 100644
index ddbdc7a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebName.java
+++ /dev/null
@@ -1,71 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Web name test.
- * The Web provider must assign a display-name to each web application
- *
- */
-public class WebName extends WebTest implements WebCheck {
-
-
- /**
- * Web name test.
- * The Web provider must assign a display-name to each web application
- *
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String webName = descriptor.getName();
-
- if (webName.length() > 0) {
- // as long as it's not blank, test should pass
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "Web-App display name is : [ {0} ]",
- new Object [] {webName}));
- } else {
- // it's blank, test should be N/A since <display-name> is optional
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable
- (smh.getLocalString
- (getClass().getName() + ".failed",
- "Not Applicable: Web-App display name is not defined."));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebPublicID.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebPublicID.java
deleted file mode 100644
index 4c430ea..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebPublicID.java
+++ /dev/null
@@ -1,167 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.io.*;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-/**
- * Web PUBLIC identifier test
- * The Web deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
- */
-public class WebPublicID extends WebTest implements WebCheck {
-
-
- /**
- * Web PUBLIC identifier test
- * The Web deployment descriptor has PUBLIC identifier with a PubidLiteral
- * of "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String acceptablePubidLiterals[] = {
- "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN" ,
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN" };
-
- String acceptableURLs[] = {"http://java.sun.com/j2ee/dtds/web-app_2_2.dtd",
- "http://java.sun.com/dtd/web-app_2_3.dtd"};
-
-
- // open the jar and read the XML deployment descriptor
- if (descriptor.getSpecVersion().compareTo("2.4") < 0){
-
- InputStream deploymentEntry=null;
- try {
- String uri = getAbstractArchiveUri(descriptor);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(
- "WEB-INF/web.xml");
- if (deploymentEntry != null) {
- BufferedReader in = new BufferedReader(new InputStreamReader(deploymentEntry));
- String s = in.readLine();
- boolean foundDOCTYPE = false, foundPubid = false, foundURL = false;
- while (s != null) {
- // did we find the DOCTYPE entry?
- if (s.indexOf("DOCTYPE") > -1)
- foundDOCTYPE = true;
- if (foundDOCTYPE) {
- for (int i=0;i<acceptablePubidLiterals.length;i++) {
- if (s.indexOf(acceptablePubidLiterals[i]) > -1) {
- foundPubid = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "The deployment descriptor has the proper PubidLiteral: {0}",
- new Object[] {acceptablePubidLiterals[i]}));
- }
- if (s.indexOf(acceptableURLs[i]) > -1) {
- foundURL = true;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails
- (smh.getLocalString
- (getClass().getName() + ".passed1",
- "The deployment descriptor has the proper URL corresponding the the PubIdLiteral: {0}",
- new Object[] {acceptableURLs[i]}));
- }
- }
- }
- if (foundPubid && foundURL) {
- result.setStatus(Result.PASSED);
- break;
- } else if(foundDOCTYPE && s.endsWith(">")) break; // DOCTYPE doesn't have any more lines to check
- s = in.readLine();
- }
-
- if (!foundDOCTYPE){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed1",
- "No document type declaration found in the deployment descriptor for {0}",
- new Object[] {descriptor.getName()}));
- } else if (!foundPubid) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed
- (smh.getLocalString
- (getClass().getName() + ".failed2",
- "The deployment descriptor for {0} does not have an expected PubidLiteral ",
- new Object[] {descriptor.getName()}));
- }else if (!foundURL) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The deployment descriptor {0} doesnot have the right URL corresponding to the PubIdLiteral",
- new Object[] {descriptor.getName()}));
- }
- }
-
- } catch (IOException e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".IOException",
- "I/O error trying to open {0}", new Object[] {getAbstractArchiveUri(descriptor)}));
- } finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- } catch (Exception x) {}
- }
- }else{
- //NOT APPLICABLE
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT-APPLICABLE: No DOCTYPE found for [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceHTTPMethod.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceHTTPMethod.java
deleted file mode 100644
index d3dc028..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceHTTPMethod.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.web.WebResourceCollection;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.web.deployment.descriptor.SecurityConstraintImpl;
-
-import java.util.Enumeration;
-
-
-/**
- * The http-method element contains the name of web resource collection's HTTP
- * method
- */
-public class WebResourceHTTPMethod extends WebTest implements WebCheck
-{
-
-
- /**
- * The http-method element contains the name of web resource collection's HTTP
- * method
- *
- * @param descriptor the Web deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor)
- {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getSecurityConstraints().hasMoreElements())
- {
- boolean oneFailed = false;
- boolean foundIt = false;
- int na = 0;
- int noSc = 0;
- int naWRC = 0;
- int noWRC = 0;
- // get the http method's in this .war
- for (Enumeration e = descriptor.getSecurityConstraints(); e.hasMoreElements();)
- {
- foundIt = false;
- noSc++;
- SecurityConstraintImpl securityConstraintImpl = (SecurityConstraintImpl) e.nextElement();
- if (!securityConstraintImpl.getWebResourceCollections().isEmpty())
- {
- for (WebResourceCollection webResourceCollection : securityConstraintImpl.getWebResourceCollections())
- {
- noWRC++;
- if (!webResourceCollection.getHttpMethods().isEmpty())
- {
- for (String webRCHTTPMethod : webResourceCollection.getHttpMethods())
- {
- // valid methods are the following
- if ((webRCHTTPMethod.equals("OPTIONS")) ||
- (webRCHTTPMethod.equals("GET")) ||
- (webRCHTTPMethod.equals("HEAD")) ||
- (webRCHTTPMethod.equals("POST")) ||
- (webRCHTTPMethod.equals("PUT")) ||
- (webRCHTTPMethod.equals("DELETE")) ||
- (webRCHTTPMethod.equals("TRACE")) ||
- (webRCHTTPMethod.equals("CONNECT")))
- {
- foundIt = true;
- }
- else
- {
- foundIt = false;
- }
-
- if (foundIt)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "http-method [ {0} ] is valid HTTP method name within web resource collection [ {1} ] in web application [ {2} ]",
- new Object[]{webRCHTTPMethod, webResourceCollection.getName(), descriptor.getName()}));
- }
- else
- {
- if (!oneFailed)
- {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: http-method [ {0} ] is not valid HTTP method name within web resource collection [ {1} ] in web application [ {2} ]",
- new Object[]{webRCHTTPMethod, webResourceCollection.getName(), descriptor.getName()}));
- }
- }
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no web http-methods in the web resource collection [ {0} ] within [ {1} ]",
- new Object[]{webResourceCollection.getName(), descriptor.getName()}));
- naWRC++;
- }
- }
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "There are no web web resource collections in the web security constraint within [ {0} ]",
- new Object[]{descriptor.getName()}));
- na++;
- }
- }
- if (oneFailed)
- {
- result.setStatus(Result.FAILED);
- }
- else if ((na == noSc) || (naWRC == noWRC))
- {
- result.setStatus(Result.NOT_APPLICABLE);
- }
- else
- {
- result.setStatus(Result.PASSED);
- }
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no http-method elements within the web archive [ {0} ]",
- new Object[]{descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceName.java
deleted file mode 100644
index a35dcfe..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceName.java
+++ /dev/null
@@ -1,144 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.web.WebResourceCollection;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.web.deployment.descriptor.SecurityConstraintImpl;
-
-import java.util.Enumeration;
-
-
-/**
- * The web-resource-name element contains the name of this web resource
- * collection
- */
-public class WebResourceName extends WebTest implements WebCheck
-{
-
-
- /**
- * The web-resource-name element contains the name of this web resource
- * collection
- *
- * @param descriptor the Web deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor)
- {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getSecurityConstraints().hasMoreElements())
- {
- boolean oneFailed = false;
- int na = 0;
- int noSc = 0;
- boolean foundIt = false;
- // get the security constraint's in this .war
- for (Enumeration e = descriptor.getSecurityConstraints(); e.hasMoreElements();)
- {
- foundIt = false;
- noSc++;
- SecurityConstraintImpl securityConstraintImpl = (SecurityConstraintImpl) e.nextElement();
- if (!securityConstraintImpl.getWebResourceCollections().isEmpty())
- {
- for (WebResourceCollection webResCollection: securityConstraintImpl.getWebResourceCollections())
- {
- String webRCName = webResCollection.getName();
- // cannot be blank
- if (webRCName.length() > 0)
- {
- foundIt = true;
- }
- else
- {
- foundIt = false;
- }
-
- if (foundIt)
- {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "web-resource-name [ {0} ] contains the name of this web resource collection within web application [ {1} ]",
- new Object[]{webRCName, descriptor.getName()}));
- }
- else
- {
- if (!oneFailed)
- {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: web-resource-name [ {0} ] does not contain the name of this web resource collection within web application [ {1} ]",
- new Object[]{webRCName, descriptor.getName()}));
- }
- }
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "There are no web web resource collections in the web security constraint within [ {0} ]",
- new Object[]{descriptor.getName()}));
- na++;
- }
- }
- if (oneFailed)
- {
- result.setStatus(Result.FAILED);
- }
- else if (na == noSc)
- {
- result.setStatus(Result.NOT_APPLICABLE);
- }
- else
- {
- result.setStatus(Result.PASSED);
- }
- }
- else
- {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[]{compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no web-resource-name elements within the web archive [ {0} ]",
- new Object[]{descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceType.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceType.java
deleted file mode 100644
index 75600ef..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebResourceType.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.util.logging.Level;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * The web application resource-type element specifies the Java class type of
- * the data source.
- */
-public class WebResourceType extends WebTest implements WebCheck {
-
- /**
- * The web application resource-type element specifies the Java class type of
- * the data source.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getResourceReferences().hasMoreElements()) {
- boolean oneFailed = false;
- boolean foundIt = false;
- // get the errorpage's in this .war
- for (Enumeration e = descriptor.getResourceReferences() ; e.hasMoreElements() ;) {
- foundIt = false;
- ResourceReferenceDescriptor next = (ResourceReferenceDescriptor) e.nextElement();
- String resType = next.getType();
- logger.log(Level.FINE, "servlet resType: " + resType);
- if ((resType.equals("javax.sql.DataSource")) ||
- (resType.equals("jakarta.jms.QueueConnectionFactory")) ||
- (resType.equals("jakarta.jms.TopicConnectionFactory")) ||
- (resType.equals("jakarta.mail.Session")) ||
- (resType.equals("java.net.URL"))) {
- foundIt = true;
- } else {
- foundIt = false;
- String specVerStr = descriptor.getSpecVersion();
- double specVer = 0;
- specVer = (Double.valueOf(specVerStr)).doubleValue();
- if (Double.compare(specVer, 2.4) >= 0) {
- // with J2EE 1.4, resource-ref can be any userdefined types
- foundIt = true;
- }
- }
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The resource-type [ {0} ] element specifies the Java class type of the data source within web application [ {1} ]",
- new Object[] {resType, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The resource-type [ {0} ] element does not specify valid Java class type of the data source within web application [ {1} ]",
- new Object[] {resType, descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no resource-type elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebSecurityRoleName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebSecurityRoleName.java
deleted file mode 100755
index 646e7ba..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebSecurityRoleName.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.AuthorizationConstraintImpl;
-import org.glassfish.web.deployment.descriptor.SecurityConstraintImpl;
-
-
-/**
- * The Web role-name element contains the name of a security role.
- */
-public class WebSecurityRoleName extends WebTest implements WebCheck {
-
-
- /**
- * The Web role-name element contains the name of a security role.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getSecurityConstraints().hasMoreElements()) {
- boolean oneFailed = false;
- boolean foundIt = false;
- int naSr = 0;
- int naAci = 0;
- int noAci = 0;
- int noSc = 0;
- // get the security role name's in this .war
- for (Enumeration e = descriptor.getSecurityConstraints() ; e.hasMoreElements() ;) {
- foundIt = false;
- noSc++;
- SecurityConstraintImpl securityConstraintImpl = (SecurityConstraintImpl)
- e.nextElement();
- AuthorizationConstraintImpl aci = (AuthorizationConstraintImpl) securityConstraintImpl.getAuthorizationConstraint();
- if (aci != null) {
- noAci++;
- if (aci.getSecurityRoles().hasMoreElements()) {
- for (Enumeration ee = aci.getSecurityRoles(); ee.hasMoreElements();) {
- SecurityRoleDescriptor srd = (SecurityRoleDescriptor) ee.nextElement();
- String roleName = srd.getName();
- // jsb, nothing to test here...?
- if (roleName.length() > 0) {
- foundIt = true;
- } else {
- foundIt = false;
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "The security role name [ {0} ] found within web application [ {1} ]",
- new Object[] {roleName, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The security role name [ {0} ] not found within web application [ {1} ]",
- new Object[] {roleName, descriptor.getName()}));
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "Not Applicable: There are no security roles in this security constraint within [ {0} ]",
- new Object[] {descriptor.getName()})); naSr++;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Not Applicable: There is no authorization constraint in this security constraint within [ {0} ]",
- new Object[] {descriptor.getName()}));
- naAci++;
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if ((noSc == naAci) || (noAci == naSr)) {
- result.setStatus(Result.NOT_APPLICABLE);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no role-name elements within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebTest.java
deleted file mode 100644
index 59f8b61..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebTest.java
+++ /dev/null
@@ -1,194 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.VerifierTest;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.Verifier;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.util.io.FileUtils;
-
-import java.io.*;
-
-
-/**
- * Common code and helper methods and properties for all tests
- * in the web-app space (jsp and servlets).
- *
- * @author Jerome Dochez
- * @version 1.0
- */
-abstract public class WebTest extends VerifierTest implements VerifierCheck, WebCheck {
-
- // variables ensuring that result details are added only once
- private boolean addedError = false;
- private boolean addedGood = false;
- private boolean addedNa = false;
- private boolean addedWarning = false;
-
- final String separator= System.getProperty("file.separator");
- VerifierTestContext context = null;
-
- /**
- * <p>
- * run an individual test against the deployment descriptor for the
- * archive the verifier is performing compliance tests against.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor) {
- return check((WebBundleDescriptor) descriptor);
- }
-
- /**
- * <p>
- * all connector tests should implement this method. it run an individual
- * test against the resource adapter deployment descriptor.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive file
- * @return result object containing the result of the individual test
- * performed
- */
- public abstract Result check(WebBundleDescriptor descriptor);
-
- /**
- * load the war file
- *
- * @param descriptor the Enumeration
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result loadWarFile(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- context = getVerifierContext();
- try {
- // TODO : check whether this method is required?
- WebTestsUtil webTestsUtil = WebTestsUtil.getUtil(context.getClassLoader());
-// File f = Verifier.getArchiveFile(descriptor.getModuleDescriptor().
-// getArchiveUri());
-// if (f != null) {
-// webTestsUtil.extractJarFile(f);
-// }
-// else {
-// // dont bother about extracting JarFile
-// }
- //Sheetal: 09/30/02
- //dont need to call Verifier's appendCLWithWebInfContents() since J2EEClassLoader takes care of it
- //webTestsUtil.appendCLWithWebInfContents();
- } catch (Throwable e) {
-// e.printStackTrace();
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.WebTest" + ".Exception",
- "Error: Unexpected exception occurred [ {0} ]",
- new Object[] {e.toString()}));
- }
- return result;
- }
-
- /**
- * <p>
- * load a class from the web bundle archive file
- * </p>
- *
- * @param result to put error if necessary
- * @param className the class to load
- * @return the loaded class or null is cannot be loaded from the archive
- */
- public Class loadClass(Result result, String className) {
-
- try {
- WebTestsUtil webTestsUtil = WebTestsUtil.getUtil(context.getClassLoader());
- //webTestsUtil.appendCLWithWebInfContents();
- return webTestsUtil.loadClass(className);
- } catch (Throwable e) {
-
- // @see preVerify Method of Verifier.java
- try {
- ClassLoader cl = getVerifierContext().getAlternateClassLoader();
- if (cl == null) {
- throw e;
- }
- Class c = cl.loadClass(className);
- return c;
- }catch(Throwable ex) {
- /*
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.web.WebTest.Exception",
- "Error: Unexpected exception occurred [ {0} ]",
- new Object[] {ex.toString()}));
- */
- }
- }
- return null;
- }
-
- /**
- * Method for recursively deleting all temporary directories
- */
-
- protected void deleteDirectory(String oneDir) {
-
- File[] listOfFiles;
- File cleanDir;
-
- cleanDir = new File(oneDir);
- if (!cleanDir.exists()) {// Nothing to do. Return;
- return;
- }
- listOfFiles = cleanDir.listFiles();
- if(listOfFiles != null) {
- for(int countFiles = 0; countFiles < listOfFiles.length; countFiles++) {
- if (listOfFiles[countFiles].isFile()) {
- listOfFiles[countFiles].delete();
- } else { // It is a directory
- String nextCleanDir = cleanDir + separator + listOfFiles[countFiles].getName();
- File newCleanDir = new File(nextCleanDir);
- deleteDirectory(newCleanDir.getAbsolutePath());
- }
- }// End for loop
- } // End if statement
- cleanDir.delete();
- }
-
- protected String getAbstractArchiveUri(WebBundleDescriptor desc) {
- String archBase = getVerifierContext().getAbstractArchive().
- getURI().toString();
- final ModuleDescriptor moduleDescriptor = desc.getModuleDescriptor();
- if (moduleDescriptor.isStandalone()) {
- return archBase; // it must be a stand-alone module; no such physical dir exists
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(moduleDescriptor.getArchiveUri());
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebTestsUtil.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebTestsUtil.java
deleted file mode 100644
index 6a0c8a6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WebTestsUtil.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.web.WebCheckMgrImpl;
-
-import java.io.*;
-import java.net.*;
-import java.util.*;
-import java.util.EventObject;
-
-/**
- * Singleton Utility class to load war archive and get class loader
- *
- * @author Jerome Dochez
- * @author Sheetal Vartak
- * @version 1.0
- */
-public class WebTestsUtil implements VerifierEventsListener {
-
- protected final String listenerClassPath = "WEB-INF/classes";
- protected final String libraryClassPath = "WEB-INF/lib";
-
- private final String separator= System.getProperty("file.separator");
- private static File warFile = new File(System.getProperty("java.io.tmpdir"), "listenertmp");
- private static WebTestsUtil util = null;
- private static ClassLoader cl = null;
-
-
- /**
- * <p>
- * Get the unique instance for this class
- * </p>
- */
- public static WebTestsUtil getUtil(ClassLoader cLoader) {
-
- if (util==null) {
- util = new WebTestsUtil();
- WebCheckMgrImpl.addVerifierEventsListener(util);
- cl = cLoader;
- }
- return util;
- }
-
-
- private void deleteDirectory(String oneDir) {
-
- File[] listOfFiles;
- File cleanDir;
-
- cleanDir = new File(oneDir);
- if (!cleanDir.exists()) // Nothing to do. Return;
- return;
-
- listOfFiles = cleanDir.listFiles();
- if(listOfFiles != null) {
- for(int countFiles = 0; countFiles < listOfFiles.length; countFiles++) {
- if (listOfFiles[countFiles].isFile()) {
- listOfFiles[countFiles].delete();
- } else { // It is a directory
- String nextCleanDir = cleanDir + separator + listOfFiles[countFiles].getName();
- File newCleanDir = new File(nextCleanDir);
- deleteDirectory(newCleanDir.getAbsolutePath());
- }
- }// End for loop
- } // End if statement
-
- cleanDir.delete();
- }
-
- /**
- * <p>
- * Individual test completion notification event
- * </p>
- * @param e event object which source is the result of the individual test
- */
- public void testFinished(EventObject e) {
- // do nothing, we don't care
- }
-
- /**
- * <p>
- * Notification that all tests pertinent to a verifier check manager have
- * been completed
- * </p>
- * @param e event object which source is the check manager for the
- * completed tests
- */
- public void allTestsFinished(EventObject e) {
- // remove tmp files
- if ((warFile != null) && (warFile.exists())) {
- deleteDirectory(warFile.getAbsolutePath());
- }
- warFile=null;
- util=null;
- cl=null;
- WebCheckMgrImpl.removeVerifierEventsListener(this);
- }
-
- private ClassLoader getClassLoader() {
- return cl;
- }
-
- /**
- * <p>
- * load a class from the war archive file
- * </p>
- * @param className the class to load
- * @return the class object if it can be loaded
- */
- public Class loadClass(String className) throws Throwable {
-
- if ((warFile==null || !warFile.exists())
- && (getClassLoader() == null)) {
- throw new ClassNotFoundException();
- }
- Class c = getClassLoader().loadClass(className);
- return c;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WelcomeFile.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WelcomeFile.java
deleted file mode 100644
index 197295f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/WelcomeFile.java
+++ /dev/null
@@ -1,163 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.jar.*;
-import java.util.*;
-import java.io.*;
-import java.util.regex.Pattern;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/**
- * Welcome file element contains the file name to use as a default welcome file
- * within web application test.
- */
-public class WelcomeFile extends WebTest implements WebCheck {
-
- /**
- * Welcome file element contains the file name to use as a default welcome file
- * within web application test.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if(!isApplicable(descriptor, result)) {
- return result;
- }
-
- // Check whether the syntax of welcome-file is correct or not.
- boolean syntaxOK = checkSyntax(descriptor, result);
-
- // check whether each welcome-file exists or not
- //boolean exists = checkExists(descriptor, result);
- boolean exists = true;
-
- // report WARNING if the syntax is wrong or none of welcome-files exist.
- if (!syntaxOK) {
- result.setStatus(Result.FAILED);
- } else if (!exists) {
- result.setStatus(Result.WARNING);
- } else {
- result.setStatus(Result.PASSED);
- }
-
- return result;
- }
-
- private boolean isApplicable(WebBundleDescriptor descriptor, Result result) {
- boolean applicable = true;
- if (!descriptor.getWelcomeFiles().hasMoreElements()) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no welcome files within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- applicable = false;
- }
- return applicable;
- }
-
- private boolean checkSyntax(WebBundleDescriptor descriptor, Result result) {
- boolean syntaxOK = true;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- for (Enumeration e = descriptor.getWelcomeFiles() ; e.hasMoreElements() ;) {
- String welcomefile = (String) e.nextElement();
- if (welcomefile.startsWith("/") || welcomefile.endsWith("/")) {
- addErrorDetails(result, compName);
- result.addErrorDetails(smh.getLocalString(
- getClass().getName() + ".failed1",
- "Error : Servlet 2.3 Spec 9.9 Welcome file URL [ {0} ] must be partial URLs with no trailing or leading /",
- new Object[] {welcomefile, descriptor.getName()}));
- syntaxOK = false;
- }
- }
- return syntaxOK;
- }
-
- private boolean checkExists(WebBundleDescriptor descriptor, Result result) {
- findDynamicResourceURIs(descriptor);
- boolean exists = false;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- for (Enumeration e = descriptor.getWelcomeFiles() ; e.hasMoreElements() ;) {
- String welcomeFile = (String) e.nextElement();
- if(fileExists(descriptor, welcomeFile) || urlMatches(welcomeFile)) {
- exists = true;
- addGoodDetails(result, compName);
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Welcome file [ {0} ] contains the file name to use as a default welcome file within web application [ {1} ]",
- new Object[] {welcomeFile, descriptor.getName()}));
- } else {
- addWarningDetails(result, compName);
- result.addWarningDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Welcome file [ {0} ] is not found within [ {1} ] or does not contain the file name to use as a default welcome file within web application [ {2} ]",
- new Object[] {welcomeFile, descriptor.getModuleDescriptor().getArchiveUri(), descriptor.getName()}));
- }
- }
- return exists;
- }
-
- private boolean fileExists(WebBundleDescriptor descriptor, String fileName) {
- File webCompRoot = new File(getAbstractArchiveUri(descriptor));
- File welcomeFile = new File(webCompRoot, fileName);
- return welcomeFile.exists();
- }
-
- private Set dynamicResourceUrlPatterns = new HashSet();
-
- private void findDynamicResourceURIs(WebBundleDescriptor descriptor) {
- Set webComponentDescriptors = descriptor.getWebComponentDescriptors();
- for(Iterator iter = webComponentDescriptors.iterator(); iter.hasNext(); ) {
- WebComponentDescriptor webComponentDescriptor = (WebComponentDescriptor) iter.next();
- dynamicResourceUrlPatterns.addAll(webComponentDescriptor.getUrlPatternsSet());
- }
- // Remove the leading and trailing '/' character from each dynamicResourceUrlPatters
- Set newUrlPatterns = new HashSet();
- for(Iterator iter = dynamicResourceUrlPatterns.iterator(); iter.hasNext() ;) {
- String urlPattern = (String) iter.next();
- if (urlPattern.startsWith("/")) {
- urlPattern = urlPattern.substring(1);
- }
- if (urlPattern.endsWith("/")) {
- urlPattern = urlPattern.substring(0, urlPattern.length() - 1);
- }
- newUrlPatterns.add(urlPattern);
- }
- dynamicResourceUrlPatterns = newUrlPatterns;
- }
-
- private boolean urlMatches(String url) {
- for(Iterator iter = dynamicResourceUrlPatterns.iterator(); iter.hasNext() ;) {
- boolean matches = Pattern.matches((String)iter.next(), url);
- if (matches) {
- return true;
- }
- }
- return false;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/MimeTypeElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/MimeTypeElement.java
deleted file mode 100644
index ebe8868..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/MimeTypeElement.java
+++ /dev/null
@@ -1,137 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.elements;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import java.util.*;
-import java.util.logging.Level;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.descriptor.MimeMappingDescriptor;
-
-
-/**
- * Servlet mime-type element contains a defined mime type. i.e. "text/plain"
- */
-public class MimeTypeElement extends WebTest implements WebCheck, MimeTypes {
-
- /**
- * Servlet mime-type element contains a defined mime type. i.e. "text/plain"
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.getMimeMappings().hasMoreElements()) {
- boolean oneFailed = false;
- boolean foundIt = false;
- // get the mimeType's in this .war
- for (Enumeration e = descriptor.getMimeMappings() ; e.hasMoreElements() ;) {
- foundIt = false;
- MimeMappingDescriptor mimemapping = (MimeMappingDescriptor)e.nextElement();
- String mimeType = mimemapping.getMimeType();
- logger.log(Level.FINE, "servlet mimeType: " + mimeType);
- int pos = mimeType.indexOf("/");
- // user defined
- // see http://www-dos.uniinc.msk.ru/tech1/1995/mime/m_tech.htm#Type
-
- if (mimeType.substring(pos+1).startsWith("X-") || mimeType.substring(pos+1).startsWith("x-")) {
- foundIt = true;
- } else if (mimeType.startsWith("X-")) {
- foundIt = true;
- } else if (mimeType.substring(0,pos).equals("text")) {
- if (Arrays.asList(text).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- } else if (mimeType.substring(0,pos).equals("multipart")) {
- if (Arrays.asList(multipart).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- } else if (mimeType.substring(0,pos).equals("message")) {
- if (Arrays.asList(message).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- } else if (mimeType.substring(0,pos).equals("application")) {
- if (Arrays.asList(application).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- } else if (mimeType.substring(0,pos).equals("image")) {
- if (Arrays.asList(image).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- } else if (mimeType.substring(0,pos).equals("audio")) {
- if (Arrays.asList(audio).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- } else if (mimeType.substring(0,pos).equals("video")) {
- if (Arrays.asList(video).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- } else if (mimeType.substring(0,pos).equals("model")) {
- if (Arrays.asList(model).contains(mimeType.substring(pos+1,mimeType.length()))) {
- foundIt = true;
- }
- }
-
- if (foundIt) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "Servlet mime-type [ {0} ] defined for this web application [ {1} ]",
- new Object[] {mimeType, descriptor.getName()}));
- } else {
- if (!oneFailed) {
- oneFailed = true;
- }
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Servlet mime-type [ {0} ] not defined for this web application [ {1} ]",
- new Object[] {mimeType, descriptor.getName()}));
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no mimemappings within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/MimeTypes.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/MimeTypes.java
deleted file mode 100644
index 8baa07a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/MimeTypes.java
+++ /dev/null
@@ -1,899 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.elements;
-
-/**
- * Mime type element contains an legal mime type within web application test.
- * i.e. text/plain
- * Define all mime types here
- * taken from -
- * ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
- */
-public interface MimeTypes {
-
- // MEDIA TYPES
- //[RFC2045,RFC2046] specifies that Content Types, Content Subtypes, Character
- //Sets, Access Types, and Conversion values for MIME mail will be
- //assigned and listed by the IANA.
-
-
- //Content Types and Subtypes
- //--------------------------
-
- //Type Subtype Description Reference
- //---- ------- ----------- ---------
-
- //text
- static String [] text = {
- "plain", // [RFC2646,RFC2046]
- "richtext", // [RFC2045,RFC2046]
- "enriched", // [RFC1896]
- "tab-separated-values", // [Paul Lindner]
- "html", // [RFC1866]
- "sgml", // [RFC1874]
- "vnd.latex-z", // [Lubos]
- "vnd.fmi.flexstor", // [Hurtta]
- "uri-list", // [Daniel]
- "vnd.abc", // [Allen]
- "rfc822-headers", // [RFC1892]
- "vnd.in3d.3dml", // [Powers]
- "prs.lines.tag", // [Lines]
- "vnd.in3d.spot", // [Powers]
- "css", // [RFC2318]
- "xml", // [RFC2376]
- "rtf", // [Lindner]
- "directory", // [RFC2425]
- "calendar", // [RFC2445]
- "vnd.wap.wml", // [Stark]
- "vnd.wap.wmlscript", // [Stark]
- "vnd.motorola.reflex", // [Patton]
- "vnd.fly", // [Gurney]
- "javascript", // [ GlassFish default-web.xml]
- "vnd.sun.j2me.app-descriptor", // [ GlassFish default-web.xml]
- "vnd.wap.wmls", // [ GlassFish default-web.xml]
- "x-server-parsed-html" // [ GlassFish default-web.xml]
- };
-
-
- static String [] multipart = {
- "mixed", // [RFC2045,RFC2046]
- "alternative", // [RFC2045,RFC2046]
- "digest", // [RFC2045,RFC2046]
- "parallel", // [RFC2045,RFC2046]
- "appledouble", // [MacMime,Patrik Faltstrom]
- "header-set", // [Dave Crocker]
- "form-data", // [RFC2388]
- "related", // [RFC2387]
- "report", // [RFC1892]
- "voice-message", // [RFC2421,RFC2423]
- "signed", // [RFC1847]
- "encrypted", // [RFC1847]
- "byteranges" // [RFC2068]
- };
-
- static String [] message = {
- "rfc822", // [RFC2045,RFC2046]
- "partial", // [RFC2045,RFC2046]
- "external-body", // [RFC2045,RFC2046]
- "news", // [RFC 1036, Henry Spencer]
- "http", // [RFC2616]
- "delivery-status", // [RFC1894]
- "disposition-notification", // [RFC2298]
- "s-http" // [RFC2660]
- };
-
- static String [] application = {
- "octet-stream", // [RFC2045,RFC2046]
- "postscript", // [RFC2045,RFC2046]
- "oda", // [RFC2045,RFC2046]
- "atomicmail", // [atomicmail,Borenstein]
- "andrew-inset", // [andrew-inset,Borenstein]
- "slate", // [slate,terry crowley]
- "wita", // [Wang Info Transfer,Larry Campbell]
- "dec-dx", // [Digital Doc Trans, Larry Campbell]
- "dca-rft", // [IBM Doc Content Arch, Larry Campbell]
- "activemessage", // [Ehud Shapiro]
- "rtf", // [Paul Lindner]
- "applefile", // [MacMime,Patrik Faltstrom]
- "mac-binhex40", // [MacMime,Patrik Faltstrom]
- "news-message-id", // [RFC1036, Henry Spencer]
- "news-transmission", // [RFC1036, Henry Spencer]
- "wordperfect5.1", // [Paul Lindner]
- "pdf", // [Paul Lindner]
- "zip", // [Paul Lindner]
- "macwriteii", // [Paul Lindner]
- "msword", // [Paul Lindner]
- "remote-printing", // [RFC1486,Rose]
- "mathematica", // [Van Nostern]
- "cybercash", // [Eastlake]
- "commonground", // [Glazer]
- "iges", // [Parks]
- "riscos", // [Smith]
- "eshop", // [Katz]
- "x400-bp", // [RFC1494]
- "sgml", // [RFC1874]
- "cals-1840", // [RFC1895]
- "pgp-encrypted", // [RFC2015]
- "pgp-signature", // [RFC2015]
- "pgp-keys", // [RFC2015]
- "vnd.framemaker", // [Wexler]
- "vnd.mif", // [Wexler]
- "vnd.ms-excel", // [Gill]
- "vnd.ms-powerpoint", // [Gill]
- "vnd.ms-project", // [Gill]
- "vnd.ms-works", // [Gill]
- "vnd.ms-tnef", // [Gill]
- "vnd.svd", // [Becker]
- "vnd.music-niff", // [Butler]
- "vnd.ms-artgalry", // [Slawson]
- "vnd.truedoc", // [Chase]
- "vnd.koan", // [Cole]
- "vnd.street-stream", // [Levitt]
- "vnd.fdf", // [Zilles]
- "set-payment-initiation", // [Korver]
- "set-payment", // [Korver]
- "set-registration-initiation", // [Korver]
- "set-registration", // [Korver]
- "vnd.seemail", // [Webb]
- "vnd.businessobjects", // [Imoucha]
- "vnd.meridian-slingshot", // [Wedel]
- "vnd.xara", // [Matthewman]
- "sgml-open-catalog", // [Grosso]
- "vnd.rapid", // [Szekely]
- "vnd.enliven", // [Santinelli]
- "vnd.japannet-registration-wakeup", // [Fujii]
- "vnd.japannet-verification-wakeup", // [Fujii]
- "vnd.japannet-payment-wakeup", // [Fujii]
- "vnd.japannet-directory-service", // [Fujii]
- "vnd.intertrust.digibox", // [Tomasello]
- "vnd.intertrust.nncp", // [Tomasello]
- "prs.alvestrand.titrax-sheet", // [Alvestrand]
- "vnd.noblenet-web", // [Solomon]
- "vnd.noblenet-sealer", // [Solomon]
- "vnd.noblenet-directory", // [Solomon]
- "prs.nprend", // [Doggett]
- "vnd.webturbo", // [Rehem]
- "hyperstudio", // [Domino]
- "vnd.shana.informed.formtemplate", // [Selzler]
- "vnd.shana.informed.formdata", // [Selzler]
- "vnd.shana.informed.package", // [Selzler]
- "vnd.shana.informed.interchange", // [Selzler]
- "vnd.$commerce_battelle", // [Applebaum]
- "vnd.osa.netdeploy", // [Klos]
- "vnd.ibm.MiniPay", // [Herzberg]
- "vnd.japannet-jpnstore-wakeup", // [Yoshitake]
- "vnd.japannet-setstore-wakeup", // [Yoshitake]
- "vnd.japannet-verification", // [Yoshitake]
- "vnd.japannet-registration", // [Yoshitake]
- "vnd.hp-HPGL", // [Pentecost]
- "vnd.hp-PCL", // [Pentecost]
- "vnd.hp-PCLXL", // [Pentecost]
- "vnd.musician", // [Adams]
- "vnd.FloGraphIt", // [Floersch]
- "vnd.intercon.formnet", // [Gurak]
- "vemmi", // [RFC2122]
- "vnd.ms-asf", // [Fleischman]
- "vnd.ecdis-update", // [Buettgenbach]
- "vnd.powerbuilder6", // [Guy]
- "vnd.powerbuilder6-s", // [Guy]
- "vnd.lotus-wordpro", // [Wattenberger]
- "vnd.lotus-approach", // [Wattenberger]
- "vnd.lotus-1-2-3", // [Wattenberger]
- "vnd.lotus-organizer", // [Wattenberger]
- "vnd.lotus-screencam", // [Wattenberger]
- "vnd.lotus-freelance", // [Wattenberger]
- "vnd.fujitsu.oasys", // [Togashi]
- "vnd.fujitsu.oasys2", // [Togashi]
- "vnd.swiftview-ics", // [Widener]
- "vnd.dna", // [Searcy]
- "prs.cww", // [Rungchavalnont]
- "vnd.wt.stf", // [Wohler]
- "vnd.dxr", // [Duffy]
- "vnd.mitsubishi.misty-guard.trustweb", // [Tanaka]
- "vnd.ibm.modcap", // [Hohensee]
- "vnd.acucobol", // [Lubin]
- "vnd.fujitsu.oasys3", // [Okudaira]
- "marc", // [RFC2220]
- "vnd.fujitsu.oasysprs", // [Ogita]
- "vnd.fujitsu.oasysgp", // [Sugimoto]
- "vnd.visio", // [Sandal]
- "vnd.netfpx", // [Mutz]
- "vnd.audiograph", // [Slusanschi]
- "vnd.epson.salt", // [Nagatomo]
- "vnd.3M.Post-it-Notes", // [O'Brien]
- "vnd.novadigm.EDX", // [Swenson]
- "vnd.novadigm.EXT", // [Swenson]
- "vnd.novadigm.EDM", // [Swenson]
- "vnd.claymore", // [Simpson]
- "vnd.comsocaller", // [Dellutri]
- "pkcs7-mime", // [RFC2311]
- "pkcs7-signature", // [RFC2311]
- "pkcs10", // [RFC2311]
- "vnd.yellowriver-custom-menu", // [Yellow]
- "vnd.ecowin.chart", // [Olsson]
- "vnd.ecowin.series", // [Olsson]
- "vnd.ecowin.filerequest", // [Olsson]
- "vnd.ecowin.fileupdate", // [Olsson]
- "vnd.ecowin.seriesrequest", // [Olsson]
- "vnd.ecowin.seriesupdate", // [Olsson]
- "EDIFACT", // [RFC1767]
- "EDI-X12", // [RFC1767]
- "EDI-Consent", // [RFC1767]
- "vnd.wrq-hp3000-labelled", // [Bartram]
- "vnd.minisoft-hp3000-save", // [Bartram]
- "vnd.ffsns", // [Holstage]
- "vnd.hp-hps", // [Aubrey]
- "vnd.fujixerox.docuworks", // [Taguchi]
- "xml", // [RFC2376]
- "vnd.anser-web-funds-transfer-initiation", // [Mori]
- "vnd.anser-web-certificate-issue-initiation", // [Mori]
- "vnd.is-xpr", // [Natarajan]
- "vnd.intu.qbo", // [Scratchley]
- "vnd.publishare-delta-tree", // [Ben-Kiki]
- "vnd.cybank", // [Helmee]
- "batch-SMTP", // [RFC2442]
- "vnd.uplanet.alert", // [Martin]
- "vnd.uplanet.cacheop", // [Martin]
- "vnd.uplanet.list", // [Martin]
- "vnd.uplanet.listcmd", // [Martin]
- "vnd.uplanet.channel", // [Martin]
- "vnd.uplanet.bearer-choice", // [Martin]
- "vnd.uplanet.signal", // [Martin]
- "vnd.uplanet.alert-wbxml", // [Martin]
- "vnd.uplanet.cacheop-wbmxl", // [Martin]
- "vnd.uplanet.list-wbxml", // [Martin]
- "vnd.uplanet.listcmd-wbxml", // [Martin]
- "vnd.uplanet.channel-wbxml", // [Martin]
- "vnd.uplanet.bearer-choice-wbxml", // [Martin]
- "vnd.epson.quickanime", // [Gu]
- "vnd.commonspace", // [Chandhok]
- "vnd.fut-misnet", // [Pruulmann]
- "vnd.xfdl", // [Manning]
- "vnd.intu.qfx", // [Scratchley]
- "vnd.epson.ssf", // [Hoshina]
- "vnd.epson.msf", // [Hoshina]
- "vnd.powerbuilder7", // [Shilts]
- "vnd.powerbuilder7-s", // [Shilts]
- "vnd.lotus-notes", // [Laramie]
- "pkixcmp", // [RFC2510]
- "vnd.wap.wmlc", // [Stark]
- "vnd.wap.wmlscriptc", // [Stark]
- "vnd.motorola.flexsuite", // [Patton]
- "vnd.wap.wbxml", // [Stark]
- "vnd.motorola.flexsuite.wem", // [Patton]
- "vnd.motorola.flexsuite.kmr", // [Patton]
- "vnd.motorola.flexsuite.adsi", // [Patton]
- "vnd.motorola.flexsuite.fis", // [Patton]
- "vnd.motorola.flexsuite.gotap", // [Patton]
- "vnd.motorola.flexsuite.ttc", // [Patton]
- "vnd.ufdl", // [Manning]
- "vnd.accpac.simply.imp", // [Leow]
- "vnd.accpac.simply.aso", // [Leow]
- "vnd.vcx", // [T.Sugimoto]
- "ipp", // [RFC2565]
- "ocsp-request", // [RFC2560]
- "ocsp-response", // [RFC2560]
- "vnd.previewsystems.box", // [Smolgovsky]
- "vnd.mediastation.cdkey", // [Flurry]
- "vnd.pg.format", // [Gandert]
- "vnd.pg.osasli", // [Gandert]
- "vnd.hp-hpid", // [Gupta]
- "pkix-cert", // [RFC2585]
- "pkix-crl", // [RFC2585]
- "vnd.Mobius.TXF", // [Kabayama]
- "vnd.Mobius.PLC", // [Kabayama]
- "vnd.Mobius.DIS", // [Kabayama]
- "vnd.Mobius.DAF", // [Kabayama]
- "vnd.Mobius.MSL", // [Kabayama]
- "vnd.cups-raster", // [Sweet]
- "vnd.cups-postscript", // [Sweet]
- "vnd.cups-raw", // [Sweet]
- "index", // [RFC2652]
- "index.cmd", // [RFC2652]
- "index.response", // [RFC2652]
- "index.obj", // [RFC2652]
- "index.vnd", // [RFC2652]
- "vnd.triscape.mxs", // [Simonoff]
- "vnd.powerbuilder75", // [Shilts]
- "vnd.powerbuilder75-s", // [Shilts]
- "vnd.dpgraph", // [Parker]
- "http", // [RFC2616]
- "sdp", // [RFC2327]
- "java", // [ GlassFish default-web.xml]
- "java-archive", // [ GlassFish default-web.xml]
- "vnd.rn-realmedia", // [ GlassFish default-web.xml]
- "xslt+xml", // [ GlassFish default-web.xml]
- "powerpoint", // [ GlassFish default-web.xml]
- "x-visio", // [ GlassFish default-web.xml]
- "vnd.mozilla.xul+xml", // [ GlassFish default-web.xml]
- "x-stuffit", // [ GlassFish default-web.xml]
- "xml-dtd", // [RFC3023]
- "xhtml+xml", // [RFC3236]
- "mathml+xml", // [RFC3023]
- "ogg", // [RFC3534]
- "voicexml+xml", // [RFC4267]
- "rdf+xml" // [RFC3023]
- };
-
- static String [] image = {
- "jpeg", // [RFC2045,RFC2046]
- "gif", // [RFC2045,RFC2046]
- "ief", // Image Exchange Format [RFC1314]
- "g3fax", // [RFC1494]
- "tiff", // Tag Image File Format [RFC2302]
- "cgm", // Computer Graphics Metafile [Francis]
- "naplps", // [Ferber]
- "vnd.dwg", // [Moline]
- "vnd.svf", // [Moline]
- "vnd.dxf", // [Moline]
- "png", // [Randers-Pehrson]
- "vnd.fpx", // [Spencer]
- "vnd.net-fpx", // [Spencer]
- "vnd.xiff", // [SMartin]
- "prs.btif", // [Simon]
- "vnd.fastbidsheet", // [Becker]
- "vnd.wap.wbmp", // [Stark]
- "prs.pti", // [Laun]
- "vnd.cns.inf2", // [McLaughlin]
- "vnd.mix", // [Reddy]
- "bmp", // [ GlassFish default-web.xml]
- "pict", // [ GlassFish default-web.xml]
- "svg+xml" // [RFC3023]
- };
-
- static String [] audio = {
- "basic", // [RFC2045,RFC2046]
- "32kadpcm", // [RFC2421,RFC2422]
- "vnd.qcelp", // [Lundblade]
- "vnd.digital-winds", // [Strazds]
- "vnd.lucent.voice", // [Vaudreuil]
- "vnd.octel.sbc", // [Vaudreuil]
- "vnd.rhetorex.32kadpcm", // [Vaudreuil]
- "vnd.vmx.cvsd", // [Vaudreuil]
- "vnd.nortel.vbk", // [Parsons]
- "vnd.cns.anp1", // [McLaughlin]
- "vnd.cns.inf1", // [McLaughlin]
- "L16" // [RFC2586]
- };
-
- static String [] video = {
- "mpeg", // [RFC2045,RFC2046]
- "quicktime", // [Paul Lindner]
- "vnd.vivo", // [Wolfe]
- "vnd.motorola.video", // [McGinty]
- "vnd.motorola.videop", // [McGinty]
- "mpeg2" // [ GlassFish default-web.xml]
- };
-
- static String [] model = { // [RFC2077]
- "iges", // [Parks]
- "vrml", // [RFC2077]
- "mesh", // [RFC2077]
- "vnd.dwf", // [Pratt]
- "vnd.gtw", // [Ozaki]
- "vnd.flatland.3dml" // [Powers]
- };
-
- /* The "media-types" directory contains a subdirectory for each content
- type and each of those directories contains a file for each content
- subtype.
-
- |-application-
- |-audio-------
- |-image-------
- |-media-types-|-message-----
- |-model-------
- |-multipart---
- |-text--------
- |-video-------
-
- URL = ftp://ftp.isi.edu/in-notes/iana/assignments/media-types
-
-
- Character Sets
- --------------
-
- All of the character sets listed the section on Character Sets are
- registered for use with MIME as MIME Character Sets. The
- correspondance between the few character sets listed in the MIME
- specifications [RFC2045,RFC2046] and the list in that section are:
-
- Type Description Reference
- ---- ----------- ---------
- US-ASCII see ANSI_X3.4-1968 below [RFC2045,RFC2046]
- ISO-8859-1 see ISO_8859-1:1987 below [RFC2045,RFC2046]
- ISO-8859-2 see ISO_8859-2:1987 below [RFC2045,RFC2046]
- ISO-8859-3 see ISO_8859-3:1988 below [RFC2045,RFC2046]
- ISO-8859-4 see ISO_8859-4:1988 below [RFC2045,RFC2046]
- ISO-8859-5 see ISO_8859-5:1988 below [RFC2045,RFC2046]
- ISO-8859-6 see ISO_8859-6:1987 below [RFC2045,RFC2046]
- ISO-8859-7 see ISO_8859-7:1987 below [RFC2045,RFC2046]
- ISO-8859-8 see ISO_8859-8:1988 below [RFC2045,RFC2046]
- ISO-8859-9 see ISO_8859-9:1989 below [RFC2045,RFC2046]
-
- Access Types
- ------------
-
- Type Description Reference
- ---- ----------- ---------
- FTP [RFC2045,RFC2046]
- ANON-FTP [RFC2045,RFC2046]
- TFTP [RFC2045,RFC2046]
- AFS [RFC2045,RFC2046]
- LOCAL-FILE [RFC2045,RFC2046]
- MAIL-SERVER [RFC2045,RFC2046]
- content-id [RFC1873]
-
-
- Conversion Values
- -----------------
-
- Conversion values or Content Transfer Encodings.
-
- Type Description Reference
- ---- ----------- ---------
- 7BIT [RFC2045,RFC2046]
- 8BIT [RFC2045,RFC2046]
- BASE64 [RFC2045,RFC2046]
- BINARY [RFC2045,RFC2046]
- QUOTED-PRINTABLE [RFC2045,RFC2046]
-
-
- MIME / X.400 MAPPING TABLES
-
- MIME to X.400 Table
-
- MIME content-type X.400 Body Part Reference
- ----------------- ------------------ ---------
- text/plain
- charset=us-ascii ia5-text [RFC1494]
- charset=iso-8859-x EBP - GeneralText [RFC1494]
- text/richtext no mapping defined [RFC1494]
- application/oda EBP - ODA [RFC1494]
- application/octet-stream bilaterally-defined [RFC1494]
- application/postscript EBP - mime-postscript-body [RFC1494]
- image/g3fax g3-facsimile [RFC1494]
- image/jpeg EBP - mime-jpeg-body [RFC1494]
- image/gif EBP - mime-gif-body [RFC1494]
- audio/basic no mapping defined [RFC1494]
- video/mpeg no mapping defined [RFC1494]
-
- Abbreviation: EBP - Extended Body Part
-
-
- X.400 to MIME Table
-
-
- Basic Body Parts
-
- X.400 Basic Body Part MIME content-type Reference
- --------------------- -------------------- ---------
- ia5-text text/plain;charset=us-ascii [RFC1494]
- voice No Mapping Defined [RFC1494]
- g3-facsimile image/g3fax [RFC1494]
- g4-class1 no mapping defined [RFC1494]
- teletex no mapping defined [RFC1494]
- videotex no mapping defined [RFC1494]
- encrypted no mapping defined [RFC1494]
- bilaterally-defined application/octet-stream [RFC1494]
- nationally-defined no mapping defined [RFC1494]
- externally-defined See Extended Body Parts [RFC1494]
-
- X.400 Extended Body Part MIME content-type Reference
- ------------------------- -------------------- ---------
- GeneralText text/plain;charset=iso-8859-x[RFC1494]
- ODA application/oda [RFC1494]
- mime-postscript-body application/postscript [RFC1494]
- mime-jpeg-body image/jpeg [RFC1494]
- mime-gif-body image/gif [RFC1494]
-
- REFERENCES
-
- [MacMime] Work in Progress.
-
- [RFC1036] Horton, M., and R. Adams, "Standard for Interchange of
- USENET Messages", RFC 1036, AT&T Bell Laboratories,
- Center for Seismic Studies, December 1987.
-
- [RFC1494] Alvestrand, H., and S. Thompson, "Equivalences between 1988
- X.400 and RFC-822 Message Bodies", RFC 1494, SINTEF DELAB,
- Soft*Switch, Inc., August 1993.
-
- [RFC1563] Borenstien, N., "The text/enriched MIME content-type". RFC
- 1563, Bellcore, January 1994.
-
- [RFC1767] Crocker, D., "MIME Encapsulation of EDI Objects". RFC 1767,
- Brandenburg Consulting, March 1995.
-
- [RFC1866] Berners-Lee, T., and D. Connolly, "Hypertext Markup Language
- - 2.0", RFC 1866, MIT/W3C, November 1995.
-
- [RFC1873] Levinson, E., "Message/External-Body Content-ID Access
- Type", RFC 1873, Accurate Information Systems, Inc. December
- 1995.
-
- [RFC1874] Levinson, E., "SGML Media Types", RFC 1874, Accurate
- Information Systems, Inc. December 1995.
-
- [RFC1892] Vaudreuil, G., "The Multipart/Report Content Type for the
- Reporting of Mail System Administrative Messages", RFC 1892,
- Octel Network Services, January 1996.
-
- [RFC1894] Moore, K. and G. Vaudreuil, "An Extensible Message Format
- for Delivery Status Notifications", RFC 1894, University of
- Tennessee, Octel Network Services, January 1996.
-
- [RFC1895] Levinson, E., "The Application/CALS-1840 Content Type", RFC
- 1895, Accurate Information Systems, February 1996.
-
- [RFC1896] Resnick, P., and A. Walker, "The Text/Enriched MIME Content
- Type", RFC 1896, Qualcomm, Intercon, February 1996.
-
- [RFC1945] Berners-Lee, Y., R. Feilding, and H.Frystyk, "Hypertext
- Transfer Protocol -- HTTP/1.0", RFC 1945. MIT/LCS, UC
- Irvine, MIT/LCS, May 1996.
-
- [RFC2045] Freed, N., and N. Borenstein, "Multipurpose Internet Mail
- Extensions (MIME) Part One: Format of Internet Message
- Bodies", RFC 2045, November 1996.
-
- [RFC2046] Freed, N., and N. Borenstein, "Multipurpose Internet Mail
- Extensions (MIME) Part Two: Media Types", RFC 2046, November
- 1996.
-
- [RFC2077] Nelson, S., C. Parks, and Mitra, "The Model Primary Content
- Type for Multipurpose Internet Mail Extensions", RFC 2077,
- LLNL, NIST, WorldMaker, January 1997.
-
- [RFC2122] Mavrakis, D., Layec, H., and K. Kartmann, "VEMMI URL
- Specification", RFC 2122, Monaco Telematique MC-TEL,
- ETSI, Telecommunication+Multimedia, March 1997.
-
- [RFC2220] Guenther, R., "The Application/MARC Content-type", RFC 2220,
- Library of Congress, Network Devt. & MARC Standards Office,
- October 1997.
-
- [RFC2298] Fajman, R., "An Extensible Message Format for Message
- Disposition Notifications", RFC 2298, March 1998.
-
- [RFC2302] Parsons, G., et. al., "Tag Image File Format (TIFF) -
- image/tiff", RFC 2302, March 1998.
-
- [RFC2311] Dusse, S., et. al., "S/MIME Version 2 Message Specification,
- RFC 2311, March 1998.
-
- [RFC2318] Lie, H., Bos, B., and C. Lilley, "The text/css Media Type",
- RFC 2318, March 1998.
-
- [RFC2327] Handley, M., and V. Jacobson, "SDP: Session Description
- Protocol", RFC 2327, April 1999.
-
- [RFC2376] Whitehead, E., and M. Murata, "XML Media Types", July 1998.
-
- [RFC2387] Levinson, E., "The MIME Multipart/Related Content-type", RFC
- 2387, XIson Inc, August 1998.
-
- [RFC2388] Masinter, L., "Form-based File Upload in HTML",
- RFC 2388, Xerox Corporation, August 1998.
-
- [RFC2421] Vaudreuil, G., and G. Parsons, "Voice Profile for Internet
- Mail - version 2", RFC 2421, September 1998.
-
- [RFC2422] Vaudreuil, G., and G. Parsons, "Toll Quality Voice - 32
- kbit/s ADPCM MIME Sub-type Registration", RFC 2422,
- September 1998.
-
- [RFC2423] Vaudreuil, G., and G. Parsons, "VPIM Voice Message MIME
- Sub-type Registration", RFC 2423, September 1998.
-
- [RFC2425] Howes, T., Smith, M., and F. Dawson, "A MIME Content-Type
- for Directory Information", RFC 2425, September 1998.
-
- [RFC2442] Freed, N., Newman, D., Belissent, J. and M. Hoy, "The
- Batch SMTP Media Type", RFC 2442, November 1998.
-
- [RFC2445] Dawson, F., and D. Stenerson, "Internet Calendaring and
- Scheduling Core Object Specification (iCalendar)", RFC 2445,
- November 1998.
-
- [RFC2510] Adams, C., and S. Farrell, "Internet X.509 Public Key
- Infrastructure Certificate Management Protocols", RFC 2510,
- March 1999.
-
- [RFC2560] Myers, M., Ankney, R., Malpani, A., Galperin, S., and C.
- Adams, "X.509 Internet Public Key Infrastructure Online
- Certificate Status Protocol - OCSP", RFC 2560, June 1999.
-
- [RFC2565] Herriot, R., Editor, Butler, S., Moore, P., and R. Turner,
- "Internet Printing Protocol/1.0: Encoding and Transport",
- RFC 2565, April 1999.
-
- [RFC2585] Housley, R. and P. Hoffman, "Internet X.509 Public Key
- Infrastructure Operational Protocols: FTP and HTTP",
- RFC 2585, May 1999.
-
- [RFC2586] Salsman, J and H. Alvestrand, "The Audio/L16 MIME content
- type", RFC 2586, May 1999.
-
- [RFC2616] Fielding, R., et. al., "Hypertext Transfer Protocol --
- HTTP/1.1", RFC 2616, June 1999.
-
- [RFC2652] Allen, J., and M. Mealling, "MIME Object Definitions for the
- Common Indexing Protocol (CIP)", RFC 2652, August 1999.
-
-
- PEOPLE
-
- [Adams] Greg Adams <gadams@waynesworld.ucsd.edu>, March 1997.
-
- [Allen] Steve Allen <sla@ucolick.org>, September 1997.
-
- [Alvestrand] Harald T. Alvestrand <Harald.T.Alvestrand@uninett.no>,
- January 1997.
-
- [Applebaum] David Applebaum <applebau@battelle.org>, February 1997.
-
- [Aubrey] Steve Aubrey <steve_aubrey@hp.com>, July 1998.
-
- [Bartram] Chris Bartram <RCB@3k.com>, May 1998.
-
- [Becker] Scott Becker, <scottb@bxwa.com>, April 1996, October 1998.
-
- [Ben-Kiki] Oren Ben-Kiki, <oren@capella.co.il>, October 1998.
-
- [Berners-Lee] Tim Berners-Lee, <timbl@w3.org>, May 1996.
-
- [Borenstein] Nathaniel Borenstein, <NSB@bellcore.com>, April 1994.
-
- [Buettgenbach] Gert Buettgenbach, <bue@sevencs.com>, May 1997.
-
- [Butler] Tim Butler, <tim@its.bldrdoc.gov>, April 1996.
-
- [Larry Campbell]
-
- [Chandhok] Ravinder Chandhok, <chandhok@within.com>, December 1998.
-
- [Chase] Brad Chase, <brad_chase@bitstream.com>, May 1996.
-
- [Cole] Pete Cole, <pcole@sseyod.demon.co.uk>, June 1996.
-
- [Dave Crocker] Dave Crocker <dcrocker@mordor.stanford.edu>
-
- [Terry Crowley]
-
- [Daniel] Ron Daniel, Jr. <rdaniel@lanl.gov>, June 1997.
-
- [Dellutri] Steve Dellutri <sdellutri@cosmocom.com>, March 1998.
-
- [Doggett] Jay Doggett, <jdoggett@tiac.net>, February 1997.
-
- [Domino] Michael Domino, <michael-@ultranet.com>, February 1997.
-
- [Duffy] Michael Duffy, <miked@psiaustin.com>, September 1997.
-
- [Eastlake] Donald E. Eastlake 3rd, dee@cybercash.com, April 1995.
-
- [Faltstrom] Patrik Faltstrom <paf@nada.kth.se>
-
- [Fleischman] Eric Fleischman <ericfl@MICROSOFT.com>, April 1997.
-
- [Floersch] Dick Floersch <floersch@echo.sound.net>, March 1997.
-
- [Flurry] Henry Flurry <henryf@mediastation.com>, April 1999.
-
- [Francis] Alan Francis, A.H.Francis@open.ac.uk, December 1995.
-
- [Fujii] Kiyofusa Fujii <kfujii@japannet.or.jp>, February 1997.
-
- [Gandert] April Gandert <gandert.am@pg.com>, April 1999.
-
- [Gill] Sukvinder S. Gill, <sukvg@microsoft.com>, April 1996.
-
- [Glazer] David Glazer, <dglazer@best.com>, April 1995.
-
- [Gu] Yu Gu, <guyu@rd.oda.epson.co.jp>, December 1998.
-
- [Gupta] Aloke Gupta <Aloke_Gupta@ex.cv.hp.com>, April 1999.
-
- [Gurak] Tom Gurak, <assoc@intercon.roc.servtech.com>, March 1997.
-
- [Gurney] John-Mark Gurney <jmg@flyidea.com>, August 1999.
-
- [Guy] David Guy, <dguy@powersoft.com>, June 1997.
-
- [Helmee] Nor Helmee, <helmee@my.cybank.net>, November 1998.
-
- [Herzberg] Amir Herzberg, <amirh@haifa.vnet.ibm.com>, February 1997.
-
- [Hohensee] Reinhard Hohensee <rhohensee@VNET.IBM.COM>, September 1997.
-
- [Holstage] Mary Holstage <holstege@firstfloor.com>, May 1998.
-
- [Hoshina] Shoji Hoshina <Hoshina.Shoji@exc.epson.co.jp>, January 1999.
-
- [Hurtta] Kari E. Hurtta <flexstor@ozone.FMI.FI>
-
- [Imoucha] Philippe Imoucha <pimoucha@businessobjects.com>, October 1996.
-
- [Katz] Steve Katz, <skatz@eshop.com>, June 1995.
-
- [Klos] Steven Klos, <stevek@osa.com>, February 1997.
-
- [Korver] Brian Korver <briank@terisa.com>, October 1996.
-
- [Laramie] Michael Laramie <laramiem@btv.ibm.com>, February 1999.
-
- [Laun] Juern Laun <juern.laun@gmx.de>, April 1999.
-
- [Leow] Steve Leow <Leost01@accpac.com>, April 1999.
-
- [Levitt] Glenn Levitt <streetd1@ix.netcom.com>, October 1996.
-
- [Lines] John Lines <john@paladin.demon.co.uk>, January 1998.
-
- [Lubin] Dovid Lubin <dovid@acucobol.com>, October 1997.
-
- [Lubos] Mikusiak Lubos <lmikusia@blava-s.bratisla.ingr.com>, October 1996.
-
- [Lundblade] Laurence Lundblade <lgl@qualcomm.com>, October 1996.
-
- [Manning] Dave Manning <dmanning@uwi.com>, January, March 1999.
-
- [Martin] Bruce Martin <iana-registrar@uplanet.com>, November 1998.
-
- [SMartin] Steven Martin <smartin@xis.xerox.com>, October 1997.
-
- [Matthewman] David Matthewman <david@xara.com>, October 1996.
-
- [McGinty] Tom McGinty <tmcginty@dma.isg.mot.com>
-
- [McLaughlin] Ann McLaughlin <amclaughlin@comversens.com>, April 1999.
-
- [Moline] Jodi Moline, <jodim@softsource.com>, April 1996.
-
- [Mori] Hiroyoshi Mori <mori@mm.rd.nttdata.co.jp>, August 1998.
-
- [Mutz] Andy Mutz, <andy_mutz@hp.com>, December 1997.
-
- [Nagatomo] Yasuhito Nagatomo <naga@rd.oda.epson.co.jp>, January 1998.
-
- [Natarajan] Satish Natarajan <satish@infoseek.com>, August 1998.
-
- [O'Brien] Michael O'Brien <meobrien1@mmm.com>, January 1998.
-
- [Ogita] Masumi Ogita, <ogita@oa.tfl.fujitsu.co.jp>, October 1997.
-
- [Okudaira] Seiji Okudaira <okudaira@candy.paso.fujitsu.co.jp>, October 1997.
-
- [Olsson] Thomas Olsson <thomas@vinga.se>, April 1998.
-
- [Ozaki] Yutaka Ozaki <yutaka_ozaki@gen.co.jp>, January 1999.
-
- [Paul Lindner]
-
- [Parker] David Parker <davidparker@davidparker.com>, August 1999.
-
- [Parks] Curtis Parks, <parks@eeel.nist.gov>, April 1995.
-
- [Parsons] Glenn Parsons <gparsons@nortelnetworks.com>, February 1999.
-
- [Patton] Mark Patton <fmp014@email.mot.com>, March 1999.
-
- [Pentecost] Bob Pentecost, <bpenteco@boi.hp.com>, March 1997.
-
- [Powers] Michael Powers, <powers@insideout.net>, January 1998.
- <pow@flatland.com>, January 1999.
-
- [Pratt] Jason Pratt, <jason.pratt@autodesk.com>, August 1997.
-
- [Pruulmann] Jann Pruulmann, <jaan@fut.ee>, December 1998.
-
- [Randers-Pehrson] Glenn Randers-Pehrson <glennrp@ARL.MIL>, October 1996.
-
- [Reddy] Saveen Reddy <saveenr@miscrosoft.com>, July 1999.
-
- [Rehem] Yaser Rehem, <yrehem@sapient.com>, February 1997.
-
- [Rose] Marshall Rose, <mrose@dbc.mtview.ca.us>, April 1995.
-
- [Rungchavalnont] Khemchart Rungchavalnont,
- <khemcr@cpu.cp.eng.chula.ac.th>, July 1997.
-
- [Sandal] Troy Sandal <troys@visio.com>, November 1997.
-
- [Santinelli] Paul Santinelli, Jr. <psantinelli@narrative.com>, October 1996.
-
- [Scrathcley] Greg Scratchley <greg_scratchley@intuit.com>, October 1998.
-
- [Searcy] Meredith Searcy, <msearcy@newmoon.com>, June 1997.
-
- [Shapiro] Ehud Shapiro
-
- [Shilts] Reed Shilts <reed.shilts@sybase.com>, February 1999, August 1999.
-
- [Simon] Ben Simon, <BenS@crt.com>, September 1998.
-
- [Simonoff] Steven Simonoff <scs@triscape.com>, August 1999.
-
- [Simpson] Ray Simpson <ray@cnation.com>, January 1998.
-
- [Slawson] Dean Slawson, <deansl@microsoft.com>, May 1996.
-
- [Slusanschi] Horia Cristian Slusanschi <H.C.Slusanschi@massey.ac.nz>,
- January 1998.
-
- [Smith] Nick Smith, <nas@ant.co.uk>, June 1995.
-
- [Smolgovsky] Roman Smolgovsky <romans@previewsystems.com>, April 1999.
-
- [Solomon] Monty Solomon, <monty@noblenet.com>, February 1997.
-
- [Spencer] Marc Douglas Spencer <marcs@itc.kodak.com>, October 1996.
-
- [Henry Spencer]
-
- [Stark] Peter Stark <stark@uplanet.com>, March 1999.
-
- [Strazds] Armands Strazds <armands.strazds@medienhaus-bremen.de>,
- January 1999.
-
- [Sugimoto] Masahiko Sugimoto <sugimoto@sz.sel.fujitsu.co.jp>, October 1997.
-
- [T.Sugimoto] Taisuke Sugimoto <sugimototi@noanet.nttdata.co.jp> April 1999.
-
- [Sweet] Michael Sweet <mike@easysw.com>, July 1999.
-
- [Swenson] Janine Swenson <janine@novadigm.com>, January 1998.
-
- [Szekely] Etay Szekely <etay@emultek.co.il>, October 1996.
-
- [Taguchi] Yasuo Taguchi <yasuo.taguchi@fujixerox.co.jp>, July 1998.
-
- [Tanaka] Manabu Tanaka <mtana@iss.isl.melco.co.jp>, September 1997.
-
- [Togashi] Nobukazu Togashi <togashi@ai.cs.fujitsu.co.jp>, June 1997.
-
- [Tomasello] Luke Tomasello <luket@intertrust.com>
-
- [Vaudreuil] Greg Vaudreuil <gregv@lucent.com>, January 1999.
-
- [Wattenberger] Paul Wattenberger <Paul_Wattenberger@lotus.com>, June 1997.
-
- [Webb] Steve Webb <steve@wynde.com>, October 1996.
-
- [Wedel] Eric Wedel <ewedel@meridian-data.com>, October 1996.
-
- [Wexler] Mike Wexler, <mwexler@frame.com>, April 1996.
-
- [Widener] Glenn Widener <glennw@ndg.com>, June 1997.
-
- [Wohler] Bill Wohler, <wohler@newt.com>, July 1997.
-
- [Wolfe] John Wolfe, <John_Wolfe.VIVO@vivo.com>, April 1996.
-
- [Van Nostern] Gene C. Van Nostern <gene@wri.com>, February 1995.
-
- [Yellow] Mr. Yellow <yellowriversw@yahoo.com>, March 1998.
-
- [Yoshitake] Jun Yoshitake, <yositake@iss.isl.melco.co.jp>, February 1997.
-
- [Zilles] Steve Zilles <szilles@adobe.com>, October 1996.
-
- []
-
- */
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebEjbRefTypeElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebEjbRefTypeElement.java
deleted file mode 100755
index 47d2f03..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebEjbRefTypeElement.java
+++ /dev/null
@@ -1,103 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.elements;
-
-import com.sun.enterprise.deployment.EjbReferenceDescriptor;
-import com.sun.enterprise.deployment.EjbSessionDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import org.glassfish.ejb.deployment.descriptor.EjbEntityDescriptor;
-
-import java.util.Iterator;
-
-/**
- * The web archive ejb-ref-type element must be one of the following:
- * Entity
- * Session
- */
-public class WebEjbRefTypeElement extends WebTest implements WebCheck {
-
-
- /**
- * The web archive ejb-ref-type element must be one of the following:
- * Entity
- * Session
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean failed = false;
-
- // The web archive ejb-ref-type element must be one of the following:
- // Entity
- // Session
- if (!descriptor.getEjbReferenceDescriptors().isEmpty()) {
- for (Iterator itr = descriptor.getEjbReferenceDescriptors().iterator();
- itr.hasNext();) {
- EjbReferenceDescriptor nextEjbReference = (EjbReferenceDescriptor) itr.next();
- String ejbRefTypeStr = nextEjbReference.getType();
- if (!((ejbRefTypeStr.equals(EjbSessionDescriptor.TYPE)) ||
- (ejbRefTypeStr.equals(EjbEntityDescriptor.TYPE)))) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: ejb-ref-type [ {0} ] within \n web archive [ {1} ] is not valid. \n Must be [ {2} ] or [ {3} ]",
- new Object[] {ejbRefTypeStr,descriptor.getName(),EjbEntityDescriptor.TYPE,EjbSessionDescriptor.TYPE}));
- failed = true;
- }
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no ejb references to other beans within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- if (failed)
- {
- result.setStatus(Result.FAILED);
- } else {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "All ejb-ref-type elements are valid. They are all [ {0} ] or [ {1} ] within this web archive [ {2} ]",
- new Object[] {EjbEntityDescriptor.TYPE,EjbSessionDescriptor.TYPE,descriptor.getName()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebEjbReferencesElement.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebEjbReferencesElement.java
deleted file mode 100755
index a2ddd8d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebEjbReferencesElement.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.elements;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-
-import java.io.*;
-import java.lang.ClassLoader;
-import java.util.*;
-import java.util.jar.*;
-import java.util.zip.*;
-
-
-/**
- * The Bean Provider must declare all enterprise bean's references to the
- * homes of other enterprise beans as specified in section 14.3.2 of the
- * Moscone spec. Check for one within the same jar file, can't check
- * outside of jar file. Load/locate & check other bean's home/remote/bean,
- * ensure they match with what the linking bean says they should be; check
- * for pair of referencing and referenced beans exist.
- */
-public class WebEjbReferencesElement extends WebTest implements WebCheck {
- boolean oneFailed=false;
- /**
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String f=descriptor.getModuleDescriptor().getArchiveUri();
- loadWarFile(descriptor);
- result.notApplicable(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addNaDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There is no ejb-ref inside [ {0} ].",
- new Object[] {compName}));
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName}));
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
-
-
- Set references = descriptor.getEjbReferenceDescriptors();
- Iterator iterator = references.iterator();
- while (iterator.hasNext()) {
- EjbReferenceDescriptor ejbReference = (EjbReferenceDescriptor) iterator.next();
- checkInterface(result, ejbReference, ejbReference.getEjbHomeInterface(), f);
- checkInterface(result, ejbReference, ejbReference.getEjbInterface(), f);
- }
- return result;
- }
-
- private void checkInterface(Result result, EjbReferenceDescriptor ejbRef, String intf, String f){
- Class cl = loadClass(result, intf);
- if(cl==null){
- oneFailed=true;
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: For ejb-ref element [ {0} ] the home/component interface class [ {1} ] is not loadable within [ {2} ].",
- new Object[] {ejbRef.getName(), intf, f}));
- }else if(!oneFailed) {
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "For ejb-ref element [ {0} ] the home/component interface class [ {1} ] is loadable within [ {2} ].",
- new Object[] {ejbRef.getName(), intf, f}));
- }
- }
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebReferencesInWEBINF.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebReferencesInWEBINF.java
deleted file mode 100644
index 101c468..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/elements/WebReferencesInWEBINF.java
+++ /dev/null
@@ -1,207 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.elements;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-
-/**
- * The Bean Provider must declare all enterprise bean's references to the
- * homes of other enterprise beans as specified in section 14.3.2 of the
- * Moscone spec. Check for one within the same jar file, can't check
- * outside of jar file. Load/locate & check other bean's home/remote/bean,
- * ensure they match with what the linking bean says they should be; check
- * for pair of referencing and referenced beans exist.
- */
-public class WebReferencesInWEBINF extends WebTest implements WebCheck {
- Result result = null;
- ComponentNameConstructor compName = null;
- EjbReferenceDescriptor ejbReference;
- Iterator iterator;
-
- /**
- * The referenced Ejb bean/home/component interfaces should exist inside the WEB-INF/classes dir
- * or the WEB-INF/lib/*.jar. These classes should be loadable by the war file's class loader.
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- result = getInitializedResult();
- boolean oneFailed = false;
- compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor instanceof WebBundleDescriptor) {
-
- /*
- The referenced Ejb home/component interfaces should exist inside the WEB-INF/classes dir
- or the WEB-INF/lib/*.jar. These classes should be loadable by the war file's class loader.
- */
-
- String f = descriptor.getModuleDescriptor().getArchiveUri();
- Set references = descriptor.getEjbReferenceDescriptors();
- iterator = references.iterator();
- result = loadWarFile(descriptor);
-
- try {
- if (iterator.hasNext()) {
- while (iterator.hasNext()) {
- ejbReference = (EjbReferenceDescriptor) iterator.next();
- if (ejbReference.isLinked()) { // instanceof EjbDescriptor) {
- oneFailed = findEjbRef(f);
- } else {
- // (e.g. external references)
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Not Applicable: [ {0} ] must be external reference to bean outside of [ {1} ].",
- new Object[] {ejbReference.getName(),f}));
- }
- }
- }
- else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "Not Applicable: No EJB references found in [ {0} ]",
- new Object[] {f}));
- return result;
- }
- } catch (Exception e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".IOException",
- "I/O error trying to open {0}", new Object[] {f}));
- } finally {
- try {
- } catch (Exception x) {}
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "There are no ejb references to other beans within this web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
-
- return result;
- }
-
- private boolean findEjbRef(String f) {
-
- boolean oneFailed = false;
-
- try {
- if(ejbReference.getEjbHomeInterface() != null &&
- !"".equals(ejbReference.getEjbHomeInterface()) &&
- ejbReference.getEjbInterface() != null &&
- !"".equals(ejbReference.getEjbInterface())) {
- oneFailed = common(ejbReference.getEjbHomeInterface(),f);
- if (oneFailed == true) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The [ {0} ] interface of the referenced EJB [ {1} ] is not packaged inside the WEB-INF directory of the war file.",
- new Object[] {ejbReference.getEjbHomeInterface(),ejbReference.getName()}));
- return true;
- }
-
- oneFailed = common(ejbReference.getEjbInterface(),f);
- if (oneFailed == true) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: The [ {0} ] interface of the referenced EJB [ {1} ] is not packaged inside the WEB-INF directory of the war file",
- new Object[] {ejbReference.getEjbInterface(),ejbReference.getName()}));
- return true;
- }
- }
- return oneFailed;
- } catch (NoClassDefFoundError e) {
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Bean class [ {0} ] does not exist or is not loadable:NoClassDefFoundError.",
- new Object[] {ejbReference.getName()}));
- oneFailed = true;
- return oneFailed;
- } catch (Exception e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Error: Bean class [ {0} ] does not exist or is not loadable:ClassNotFoundException",
- new Object[] {ejbReference.getName()}));
- oneFailed = true;
- return oneFailed;
- }
- }
-
- private boolean common(String intf, String f) {
- Class cl = loadClass(result, intf);
- if (cl != null) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The referenced beans home/component [ {0} ] interface exists and is loadable within [ {1} ].",
- new Object[] {intf,f}));
- return false;
- }
- else return true;
- }
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCache.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCache.java
deleted file mode 100644
index 149eb43..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCache.java
+++ /dev/null
@@ -1,173 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.*;
-
-//import com.sun.enterprise.tools.common.dd.webapp.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-
-public class ASCache extends WebTest implements WebCheck{
-
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- boolean notApp = false;
- String maxEntries=null;
- String timeout=null;
- int intMaxEntries;
- long longTimeout;
- String enabled=null;
-
- try{
- Cache cache = ((SunWebAppImpl)descriptor.getSunDescriptor()).getCache();
-
- if (cache != null)
- {
- maxEntries = cache.getAttributeValue(Cache.MAX_ENTRIES);
- timeout = cache.getAttributeValue(Cache.TIMEOUT_IN_SECONDS);
- enabled = cache.getAttributeValue(Cache.ENABLED);
- if (!(enabled.equalsIgnoreCase("true")) && !(enabled.equalsIgnoreCase("false")))
- {
-
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB cache] enabled [ {0} ], attribute must be a proper boolean value. ",
- new Object[] {enabled}));
- oneFailed = true;
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed3",
- "PASSED [AS-WEB cache] enabled [ {0} ] defined properly.",
- new Object[] {enabled}));
- }
-
-
- boolean validMaxEntriesValue=true;
- boolean validTimeOutValue=true;
- try
- {
- if(maxEntries !=null && maxEntries.length() != 0) // check maxEntries.length() != 0 because is IMPLIED att
- {
- intMaxEntries=Integer.parseInt(maxEntries);
- if(intMaxEntries >0 && intMaxEntries < Integer.MAX_VALUE)
- validMaxEntriesValue=true;
- else
- validMaxEntriesValue=false;
- }
- }
- catch(NumberFormatException exception)
- {
- validMaxEntriesValue=false;
- if (!oneFailed)
- oneFailed = true;
- }
- if(validMaxEntriesValue)
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB cache] max-entries [ {0} ] defined properly.",
- new Object[] {maxEntries}));
- }else
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB cache] max-entries [ {0} ], attribute must be a proper integer value. "+
- "Its range should be 1 to MAX_INT.",
- new Object[] {maxEntries}));
- oneFailed = true;
- }
- try
- {
- if(timeout != null && timeout.length() != 0 ) // check timeout.length() != 0 because is IMPLIED att
- {
- longTimeout=Long.parseLong(timeout);
- if(longTimeout >= -1 && longTimeout <= Long.MAX_VALUE)
- validTimeOutValue=true;
- else
- validTimeOutValue=false;
- }
-
- }catch(NumberFormatException exception)
- {
- validTimeOutValue=false;
- oneFailed = true;
- }
- if(validTimeOutValue)
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "PASSED [AS-WEB cache] timeout-in-seconds [ {0} ] defined properly.",
- new Object[] {timeout}));
- }
- else
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB cache] timeout-in-seconds value [ {0} ], attribute must be a proper long value. " +
- "Its range should be between -1 and MAX_LONG.",
- new Object[] {timeout}));
- oneFailed = true;
- }
-
- }else
- {
- notApp = true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB cache] Element not defined for the web application.",
- new Object[] {descriptor.getName()}));
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- }
- }catch(Exception ex){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB cache] Could not create the cache object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheHelperClass.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheHelperClass.java
deleted file mode 100644
index 654948c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheHelperClass.java
+++ /dev/null
@@ -1,169 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.web.deployment.runtime.Cache;
-import org.glassfish.web.deployment.runtime.CacheHelper;
-import org.glassfish.web.deployment.runtime.SunWebAppImpl;
-import org.glassfish.web.deployment.runtime.WebProperty;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-
-
-
-public class ASCacheHelperClass extends ASCache implements WebCheck {
- public Result check(WebBundleDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- boolean notApp = false;
- boolean oneWarning=false;
- boolean presentHelper=false;
-
- try{
- Cache cache = ((SunWebAppImpl)descriptor.getSunDescriptor()).getCache();
- CacheHelper[] helperClasses=null;
- CacheHelper helperClass=null;
- WebProperty[] webProps;
- String name=null;
- String classname=null;
- String[] names=null;
- //to-do vkv# check for class-name attribute.
- if (cache != null )
- helperClasses=cache.getCacheHelper();
- if (cache != null && helperClasses !=null && helperClasses.length > 0)
- {
- names=new String[helperClasses.length];
- for(int rep=0;rep < helperClasses.length;rep++)
- {
- helperClass=helperClasses[rep];
- if(helperClass==null)
- continue;
- int i = rep+1;
- name = getXPathValue("sun-web-app/cache/cache-helper["+i+"]/@name");
- classname = getXPathValue("sun-web-app/cache/cache-helper["+i+"]/@class-name");
- Class hClass=null;
- names[rep]=name;
-
- if (name != null && name.length() != 0) {
- //check if the name already exist
- boolean isDuplicate=false;
- for(int rep1=0;rep1<rep;rep1++)
- {
- if(name.equals(names[rep1]))
- {
- isDuplicate=true;
- break;
- }
-
- }
- if(isDuplicate)
- {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB cache-helper] name attribute [ {0} ], must be unique in the entire list of cache-helper.",
- new Object[] {name}));
- }
- else
- {
- if(classname!=null && classname.length()!=0) {
- hClass = loadClass(result,classname);
- }
- if(hClass !=null)
- presentHelper=true ;
- else
- presentHelper=false ;
-
- if(!presentHelper)
- {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString(
- getClass().getName() + ".error",
- "WARNING [AS-WEB cache-helper] " +
- "name [ {0} ], class not present in the war file.",
- new Object[] {name}));
- oneWarning = true;
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB cache-helper] name [ {0} ], helper class is valid.",
- new Object[] {name}));
- }
-
- }
- } else {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB cache-helper] name [ {0} ], either empty or null.",
- new Object[] {name}));
- oneFailed = true;
-
- }
- webProps=helperClass.getWebProperty();
- if(ASWebProperty.checkWebProperties(webProps,result ,descriptor, this )){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB cache-helper] Atleast one name/value pair is not valid in helper-class of [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- }//end of for
- }else
- {
- notApp = true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB cache-helper] There is no cache-helper element for the web application",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(oneWarning){
- result.setStatus(Result.WARNING);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- }
-
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB cache-helper] could not create the cache object"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheMapping.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheMapping.java
deleted file mode 100644
index 0100e04..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheMapping.java
+++ /dev/null
@@ -1,357 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.WebComponentDescriptor;
-import com.sun.enterprise.tools.verifier.Result;
-import org.glassfish.web.deployment.runtime.Cache;
-import org.glassfish.web.deployment.runtime.CacheMapping;
-import org.glassfish.web.deployment.runtime.CacheHelper;
-import org.glassfish.web.deployment.runtime.SunWebAppImpl;
-
-import java.util.Set;
-import java.util.Iterator;
-
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASCacheMapping extends ASCache implements WebCheck {
-
-
- boolean oneWarning = false;
- boolean oneFailed = false;
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean notApp = false;
- //Cache cache = getCache(descriptor);
- try{
- Cache cache = ((SunWebAppImpl)descriptor.getSunDescriptor()).getCache();
- CacheMapping[] cacheMapp=null;
- String servletName=null;
- String urlPattern=null;
- String timeout=null;
- String[] httpMethods;
- //boolean[] keyFields;
- String cacheHelperRef;
- if (cache != null ){
- cacheMapp=cache.getCacheMapping();
- }
- if (cache != null && cacheMapp !=null && cacheMapp.length != 0 ){
- for(int rep=0;rep < cacheMapp.length;rep++){
- servletName = cacheMapp[rep].getServletName();
-
- urlPattern = cacheMapp[rep].getURLPattern();
-
- timeout = cacheMapp[rep].getTimeout();
- httpMethods = cacheMapp[rep].getHttpMethod();
- cacheHelperRef = cacheMapp[rep].getCacheHelperRef();
- if(servletName != null){
- if(validServletName(servletName,descriptor)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB cache-mapping] servlet-name [ {0} ] properly defined.",
- new Object[] {servletName}));
- }
- else{
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB cache-mapping] servlet-name [ {0} ], does not exist in the web application.",
- new Object[] {servletName}));
- oneFailed = true;
- }
- }
- else if(urlPattern !=null){
- if(validURL(urlPattern)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "PASSED [AS-WEB cache-mapping] url-pattern [ {0} ] properly defined.",
- new Object[] {urlPattern}));
- }else{
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB cache-mapping] url-pattern [ {0} ], does not exist in the web application.",
- new Object[] {urlPattern}));
- oneFailed = true;
- }
- }
- if(cacheHelperRef !=null){
- //test cache-helper-ref
- if(validCacheHelperRef(cacheHelperRef,cache)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB cache-mapping] cache-helper-ref element [ {0} ] defined properly.",
- new Object[] {cacheHelperRef}));
- }
- else{
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB cache-mapping] cache-helper-ref [ {0} ] not valid, either empty or cache-helper not defined for it.",
- new Object[] {cacheHelperRef}));
- }
- }else{
- if(timeout != null){
- int i = rep +1;
- String timeoutName = getXPathValue("sun-web-app/cache/cache-mapping["+i+"]/timeout/@name");
- if(validTimeout(timeout,timeoutName)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed3",
- "PASSED [AS-WEB cache-mapping] timeout element [ {0} ] properly defined.",
- new Object[] {new Integer(timeout)}));
- }else{
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB cache-mapping] timeout element [{0}] must be a Long ( Not less than -1 and not more that MAX_LONG) and its name attribute [{1}] can not be empty/null.",
- new Object[] {timeout,timeoutName}));
- }
- }
- //<addition author="irfan@sun.com" [bug/rfe]-id="4706026" >
- int j = rep+1;
- int count = getCountNodeSet("sun-web-app/cache/cache-mapping["+j+"]/refresh-field");
- if(count>0) // refresh field element present
- {
- String cacheMapName = null;
- if(cacheMapp[rep].getServletName()!=null)
- cacheMapName = cacheMapp[rep].getServletName();
- else
- cacheMapName = cacheMapp[rep].getURLPattern();
- String name = getXPathValue("sun-web-app/cache/cache-mapping["+j+"]/refresh-field/@name");
- if(name!=null && name.length()!=0)
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed3a",
- "PASSED [AS-WEB cache-mapping] for {0}, refresh-field name [{1}] has been furnished",
- new Object[]{cacheMapName,name}));
- }else
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed3a",
- "FAILED [AS-WEB cache-mapping] for {0}, refresh-field name [{1}] cannot be empty/null string",
- new Object[]{cacheMapName,name}));
- oneFailed = true;
- }
- }
- //</addition>
- if(checkHTTPMethodList(httpMethods,result,compName,descriptor)){
-
- }
- else{
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed4",
- "FAILED [AS-WEB cache-mapping] http-method - List of HTTP methods is not proper, "+
- " atleast one of the method name in the list is empty/null "));
-
- }
- //<addition author="irfan@sun.com" [bug/rfe]-id="4706026" >
- if ((getCountNodeSet("sun-web-app/cache/cache-mapping["+j+"]/key-field"))>0)
- testForKeyFields(cache, j, result, compName);
- //</addition>
- }
- }
- }else{
- notApp = true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB cache-mapping] element not defined",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed){
- result.setStatus(Result.FAILED);
- }else if(oneWarning){
- result.setStatus(Result.WARNING);
- }
- else if(notApp){
- result.setStatus(Result.NOT_APPLICABLE);
- }else{
- result.setStatus(Result.PASSED);
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed7",
- "FAILED [AS-WEB cache-mapping] could not create the cache object"));
- }
- return result;
- }
-
- boolean validURL(String URL){
- boolean valid=false;
- if (URL != null) {
- if ((URL.startsWith("/")) ||
- ((URL.startsWith("/")) && (URL.endsWith("/*"))) ||
- (URL.startsWith("*."))) {
- valid = true;
- }
- }
- return valid;
- }
-
- boolean validServletName(String servletName, WebBundleDescriptor descriptor){
- boolean valid=false;
- if (servletName != null && servletName.length() != 0){
- Set servlets = descriptor.getServletDescriptors();
- Iterator itr = servlets.iterator();
- // test the servlets in this .war
- while (itr.hasNext()){
- String thisServletName = ((WebComponentDescriptor)itr.next()).getCanonicalName();
- if (servletName.equals(thisServletName)){
- valid = true;
- break;
- }
- }
- }
- return valid;
- }
-
- boolean validTimeout(String timeout,String timeoutName){
- boolean valid=false;
- if (timeout != null) {
- try{
- long timeoutValue = Long.parseLong(timeout);
- if(timeoutValue >= -1 && timeoutValue <= Long.MAX_VALUE){
- //if(Integer.parseInt(timeout) >= -1) { //4705932
- //check the name is non-empty
- if(timeoutName !=null && timeoutName.length() != 0)
- valid = true;
- }
- } catch(NumberFormatException exception){
- //nothing required
- }
-
- } else {//since optional field
- valid = true;
- }
- return valid;
- }
-
- boolean checkHTTPMethodList(String[] httpMethods, Result result, ComponentNameConstructor compName,WebBundleDescriptor descriptor ){
-
- boolean valid=true;
- if (httpMethods != null) {
- for(int rep=0;rep < httpMethods.length;rep++){
- if(httpMethods[rep]!=null && !(httpMethods[rep].trim().equals("")))
- {
- if((httpMethods[rep].equalsIgnoreCase("GET")
- || httpMethods[rep].equalsIgnoreCase("POST") || httpMethods[rep].equalsIgnoreCase("HEAD")))
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed4",
- "PASSED [AS-WEB cache-mapping ] http-method [ {0} ] properly defined in the WEB DD.",
- new Object[] {httpMethods[rep]}));
- }else{
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "WARNING [AS-WEB cache-mapping] http-method name [ {0} ] present, suggested to be GET | POST | HEAD.",
- new Object[] {httpMethods[rep]}));
- }
-
- }
- else{
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed5",
- "FAILED [AS-WEB cache-mapping] http-method name [ {0} ] is invalid, it should be GET | POST | HEAD.",
- new Object[] {httpMethods[rep]}));
-
- valid=false;
- }
-
- }
-
- }
- return valid;
- }
-
- boolean validCacheHelperRef(String helperRef, Cache cache){
- boolean valid=false;
- if (helperRef.length() != 0){
- CacheHelper[] helperClasses=null;
- CacheHelper helperClass=null;
- String name=null;
- if (cache != null ){
- helperClasses=cache.getCacheHelper();
- }
- if (cache != null && helperClasses !=null){
- for(int rep=0;rep < helperClasses.length;rep++){
- helperClass=helperClasses[rep];
- if(helperClass==null)
- continue;
- int i = rep +1;
- name = getXPathValue("sun-web-app/cache/cache-helper["+i+"]/@name");
- if(helperRef.equals(name)){
- valid=true;
- break;
- }
- }
- }
- }
- return valid;
- }
-
- public void testForKeyFields(Cache cache, int mapCount, Result result, ComponentNameConstructor compName)
- {
- int keyCount = getCountNodeSet("sun-web-app/cache/cache-mapping["+mapCount+"]/key-field");
- String cacheMapName = getXPathValue("sun-web-app/cache/cache-mapping["+mapCount+"]/servlet-name");
- if (cacheMapName == null)
- cacheMapName = getXPathValue("sun-web-app/cache/cache-mapping["+mapCount+"]/url-pattern");
- if (keyCount>0){
- for (int k=1;k<=keyCount;k++){
- String name = getXPathValue("sun-web-app/cache/cache-mapping["+mapCount+"]/key-field["+k+"]/@name");
- if(name!=null && name.length()==0)
- {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString(getClass().getName()+".failed6",
- "FAILED [AS-WEB cache-mapping] for {0}, key-field #{1}, name cannot be an empty string",
- new Object[]{cacheMapName,new Integer(k)}));
- oneFailed = true;
- }
- else
- {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName()+".passed5",
- "PASSED [AS-WEB cache-mapping] for {0}, key-field #{1} name value furnished",
- new Object[]{cacheMapName,new Integer(k)}));
- }
- }
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheMappingFieldConstraint.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheMappingFieldConstraint.java
deleted file mode 100644
index 8d4dc8a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCacheMappingFieldConstraint.java
+++ /dev/null
@@ -1,180 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.Cache;
-import org.glassfish.web.deployment.runtime.CacheMapping;
-import org.glassfish.web.deployment.runtime.ConstraintField;
-import org.glassfish.web.deployment.runtime.SunWebAppImpl;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASCacheMappingFieldConstraint extends ASCache implements WebCheck {
-
-
-
- public Result check(WebBundleDescriptor descriptor) {
-
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- boolean notApp = false;
- boolean doneAtleastOnce=false;
-
- try{
- Cache cache = ((SunWebAppImpl)descriptor.getSunDescriptor()).getCache();
- CacheMapping[] cacheMapp=null;
- String servletName;
- String urlPattern;
- ConstraintField[] fieldConstraints=null;
-
- String mappingFor=null;
-
- if (cache != null ){
- cacheMapp=cache.getCacheMapping();
- }
-
-
- if (cache != null && cacheMapp !=null && cacheMapp.length !=0 ) {
- for(int rep=0;rep < cacheMapp.length;rep++){
-
- servletName = cacheMapp[rep].getServletName();
- urlPattern = cacheMapp[rep].getURLPattern();
-
- if(servletName !=null)
- mappingFor=servletName;
- else
- mappingFor=urlPattern;
-
- fieldConstraints = cacheMapp[rep].getConstraintField();
- if(fieldConstraints !=null && fieldConstraints.length != 0)
- {
- for(int rep1=0;rep1 < fieldConstraints.length;rep1++){
- if(fieldConstraints[rep1] !=null){
- doneAtleastOnce=true;
- if(checkFieldConstraint(fieldConstraints[rep1],result,mappingFor,descriptor,compName)){
- //nothing more required
- }
- else{
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB cache-mapping] List of field-constraint in cache-mapping for [ {0} ] is not proper, within the web archive/(gf/)sun-web.xml of [ {1} ].",
- new Object[] {mappingFor,descriptor.getName()}));
-
- }
- }
- }//end of for(int rep1=0;rep1 < fieldConstraints.length;rep1++)
- }
-
- }//end of for(int rep=0;rep < cacheMapp.length;rep++)
-
- }else {
- notApp=true;
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp || !doneAtleastOnce) {
- result.setStatus(Result.NOT_APPLICABLE);
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB cache-mapping ] constraint-field not defined in [ {0} ].",
- new Object[] {descriptor.getName()}));
-
-
-
- }else {
- result.setStatus(Result.PASSED);
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB cache-mapping] could not create the cache object"));
- }
- return result;
- }
-
-
-
- boolean checkFieldConstraint(ConstraintField fieldCons, Result result,String mappingFor,
- WebBundleDescriptor descriptor,ComponentNameConstructor compName) {
-
- boolean valid=true;
- String fieldName;
- String[] values;
- if (fieldCons != null) {
- // fieldName= fieldCons.getAttributeValue("name");
- fieldName= fieldCons.getAttributeValue(ConstraintField.NAME);
- values=fieldCons.getValue();
- if(fieldName!=null && ! fieldName.equals("")){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "PASSED [AS-WEB cache-mapping] Proper field-constraint/fieldName [ {0} ] defined for [ {1} ].",
- new Object[] {fieldName,mappingFor}));
-
- }else{
- valid=false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB cache-mapping] field-constraint/fieldName [ {0} ] defined for [ {1} ], attribute can not be empty.",
- new Object[] {fieldName,mappingFor}));
-
- }
-
- for(int rep=0;values !=null && rep < values.length;rep++){
- if(values[rep]!=null && ! values[rep].equals("")) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB cache-mapping]Proper field-constraint/value [ {0} ] defined for [ {1} ], within the web archive/(gf/)sun-web.xml of [ {2} ].",
- new Object[] {values[rep],mappingFor,descriptor.getName()}));
-
- }else {
- valid=false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB cache-mapping] field-constraint/value [ {0} ] defined for [ {1} ], can not be empty, within the web archive/(gf/)sun-web.xml of [ {2} ].",
- new Object[] {values[rep],mappingFor,descriptor.getName()}));
-
- }
-
- }
- }
-
- return valid;
- }
-
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASConstraintField.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASConstraintField.java
deleted file mode 100644
index 48ccabc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASConstraintField.java
+++ /dev/null
@@ -1,192 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-/** constraint-field *
- * Attribute: name, scope, cache-on-match, cache-on-match-failure
- */
-
-public class ASConstraintField extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String value = null;
- int count = 0;
- boolean oneFailed = false;
- try{
- count = getCountNodeSet("sun-web-app/cache/cache-mapping/constraint-field");
- if (count>0){
- for(int i=1;i<=count;i++){
- //name attribute
- value = getXPathValue("sun-web-app/cache/cache-mapping/constraint-field["+i+"]/@name");
- if (value==null || value.length()==0){
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB constraint-field] : name attribute is required",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString( getClass().getName() + ".passed",
- "PASSED [AS-WEB constraint-field] : name attribute is {1}",
- new Object[] {descriptor.getName(),value}));
- }
-
- //scope attribute
- value = getXPathValue("sun-web-app/cache/cache-mapping/constraint-field["+i+"]/@scope");
- if (value==null || value.length()==0){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-WEB constraint-field] : scope attribute not defined"));
- }else{
- String scopeValue[] = {"context.attribute", "request.header", "request.parameter", "request.cookie", "request.attribute", "session.attribute" };
- boolean found = false;
- for (int j=0;j<scopeValue.length;j++){
- if (scopeValue[j].compareTo(value) ==0){
- found = true;
- }
- }
- if (found){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString( getClass().getName() + ".passed1",
- "PASSED [AS-WEB constraint-field] : scope attribute is {1}",
- new Object[] {descriptor.getName(),value}));
- }else{
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB constraint-field] : scope attribute must be one of context.attribute, request.header, request.parameter, request.cookie, request.attribute, session.attribute",
- new Object[] {descriptor.getName()}));
- }
- }
- //cache-on-match % boolean "(yes | no | on | off | 1 | 0 | true | false)">
- value = getXPathValue("sun-web-app/cache/cache-mapping/constraint-field["+i+"]/@cache-on-match");
- if (value==null || value.length()==0){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable1",
- "NOT APPLICABLE [AS-WEB constraint-field] : cache-on-match attribute not defined"));
- }else{
- String cacheOnMatchValue[] = {"yes", "no", "on", "off", "1", "0", "true", "false" };
- boolean foundCacheOnMatch = false;
- for (int j=0;j<cacheOnMatchValue.length;j++){
- if (cacheOnMatchValue[j].compareTo(value) ==0){
- foundCacheOnMatch = true;
- }
- }
- if (foundCacheOnMatch){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString( getClass().getName() + ".passed2",
- "PASSED [AS-WEB constraint-field] : cache-on-match attribute is {1}",
- new Object[] {descriptor.getName(),value}));
- }else{
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB constraint-field] : cache-on-match attribute must be one of yes, no, on, off, 1, 0, true, false",
- new Object[] {descriptor.getName()}));
- }
- }
-
- //cache-on-match-failure
- value = getXPathValue("sun-web-app/cache/cache-mapping/constraint-field["+i+"]/@cache-on-match-failure");
- if (value==null || value.length()==0){
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable2",
- "NOT APPLICABLE [AS-WEB constraint-field] : cache-on-match-failure attribute not defined"));
- }else{
- String cacheOnMatchFailureValue[] = {"yes", "no", "on", "off", "1", "0", "true", "false" };
- boolean found = false;
- for (int j=0;j<cacheOnMatchFailureValue.length;j++){
- if (cacheOnMatchFailureValue[j].compareTo(value) ==0){
- found = true;
- }
- }
- if (found){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString( getClass().getName() + ".passed3",
- "PASSED [AS-WEB constraint-field] : cache-on-match-failure attribute is {1}",
- new Object[] {descriptor.getName(),value}));
- }else{
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB constraint-field] : cache-on-match-failure attribute must be one of yes, no, on, off, 1, 0, true, false",
- new Object[] {descriptor.getName()}));
- }
- }
- }
- }else{
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable3",
- "NOT APPLICABLE [AS-WEB sun-web-app] : constraint-field Element not defined"));
- }
- if(oneFailed)
- result.setStatus(Result.FAILED);
- }catch(Exception ex){
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed4",
- "FAILED [AS-WEB sun-web-app] could not create the constraint-field object"));
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCookieProperty.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCookieProperty.java
deleted file mode 100644
index 5da832d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASCookieProperty.java
+++ /dev/null
@@ -1,96 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASCookieProperty extends WebTest implements WebCheck{
-
-
-public Result check(WebBundleDescriptor descriptor) {
-
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- boolean notApp = false;
-
- try{
- SessionConfig sessionConfig = ((SunWebAppImpl)descriptor.getSunDescriptor()).getSessionConfig();
- CookieProperties cookieProp=null;
- WebProperty[] cookieWebProps=null;
- if(sessionConfig !=null){
- cookieProp = sessionConfig.getCookieProperties();
- if (cookieProp!=null)
- cookieWebProps=cookieProp.getWebProperty();
- }
- if (sessionConfig!=null && cookieProp !=null && cookieWebProps!=null && cookieWebProps.length !=0 ){
- if(ASWebProperty.checkWebProperties(cookieWebProps,result ,descriptor, this )){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB session-config] cookie-properties : Atleast one name/value pair is not valid in [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
-
- }else{
- notApp = true;
- }
- if(notApp){
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB session-config] cookie-properties element not defined for {0}.",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed){
- result.setStatus(Result.FAILED);
- }else if(notApp){
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB session-config] cookie-properties are valid within the web archive [ {0} ].",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB session-config] could not create the session-config object"));
-
- }
- return result;
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASJSPConfig.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASJSPConfig.java
deleted file mode 100644
index 003c33c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASJSPConfig.java
+++ /dev/null
@@ -1,87 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASJSPConfig extends WebTest implements WebCheck{
-
-public Result check(WebBundleDescriptor descriptor) {
-
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- boolean notApp = false;
-
- try{
- JspConfig jspConfig = ((SunWebAppImpl)descriptor.getSunDescriptor()).getJspConfig();
- WebProperty[] webProps=null;
- if(jspConfig !=null)
- webProps = jspConfig.getWebProperty();
- if (jspConfig!=null && webProps!=null && webProps.length > 0){
- if(ASWebProperty.checkWebProperties(webProps,result ,descriptor, this )){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB sun-web-app] jsp-config - Atleast one name/value pair is not valid in [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- }else{
- notApp=true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] jsp-config element not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed){
- result.setStatus(Result.FAILED);
- }else if(notApp){
- result.setStatus(Result.NOT_APPLICABLE);
- }else{
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB sun-web-app] jsp-config elements are valid within the web archive [ {0} ].",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB csun-web-app] could not create the jsp-config object"));
-
- }
- return result;
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASLocaleCharsetInfo.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASLocaleCharsetInfo.java
deleted file mode 100644
index e4a2bd9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASLocaleCharsetInfo.java
+++ /dev/null
@@ -1,193 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.*;
-import java.util.*;
-import java.nio.charset.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASLocaleCharsetInfo extends WebTest implements WebCheck {
-
-
- public Result check(WebBundleDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- boolean oneWarning = false;
- boolean notApp = false;
-
- String formHintField;
- //Nlsinfo nlsInfo = descriptor.getIasWebApp().getNlsinfo();
- try{
- LocaleCharsetInfo nlsInfo = ((SunWebAppImpl)descriptor.getSunDescriptor()).getLocaleCharsetInfo();
- if (nlsInfo != null){
- //Test 1: check validity of default-locale
- Locale[] locales = Locale.getAvailableLocales();
- String defaultLocale=nlsInfo.getAttributeValue(LocaleCharsetInfo.DEFAULT_LOCALE);
- if(defaultLocale == null || defaultLocale.length() == 0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB local-charset-info] Empty "+ defaultLocale +" [ {0} ] is not valid.",
- new Object[] {defaultLocale}));
- }else{
- boolean delocFlag=false;
- for(int index=0;index < locales.length;index++){
- if(defaultLocale.equalsIgnoreCase(locales[index].toString())){
- delocFlag =true;
- break;
- }
- }
- if(delocFlag){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB locale-charset-info] Properly "+ defaultLocale +" [ {0} ] defined in the war file.",
- new Object[] {defaultLocale}));
-
- }else{
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning",
- "WARNING [AS-WEB local-charset-info] attribute default_locale [ {0} ] is not valid.",
- new Object[] {defaultLocale}));
- }
- }
- //Test 2: check validity of charset
- LocaleCharsetMap[] localeCharMaps=nlsInfo.getLocaleCharsetMap();
- for (int rep=0; rep<localeCharMaps.length; rep++ ) {
- //Test 2.1: check validity of each locale
- boolean charMapLocFlag=false;
- String locale = localeCharMaps[rep].getAttributeValue(LocaleCharsetMap.LOCALE);
- if (locale == null || locale.length() == 0){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB local-charset-map] attribute locale [ {0} ] must be of finite length.",
- new Object[] {locale}));
- }else{
- for(int index=0;index < locales.length;index++){
- if(locale.equalsIgnoreCase(locales[index].toString())){
- charMapLocFlag=true;
- break;
- }
- }
- if(!charMapLocFlag) {
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning1",
- "WARNING [AS-WEB local-charset-map] attribute locale [ {0} ] is not valid.",
- new Object[] {locale}));
- }else{
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "PASSED [AS-WEB locale-charset-map] attribute locale [ {0} ] properly defined.",
- new Object[] {locale}));
- }
- }
- //Test 2.2: check validity of each charset
- String charset = localeCharMaps[rep].getAttributeValue(LocaleCharsetMap.CHARSET);
- if( charset == null || charset.length()==0) {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB local-charset-map] attribute charset [ {0} ] must be of standard format.",
- new Object[] {charset}));
- }else{
- try{
- Charset cs=Charset.forName(charset);
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB locale-charset-map] attributes charset [ {0} ] properly defined.",
- new Object[] {charset}));
- }catch(UnsupportedCharsetException ex){
- oneWarning = true;
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString
- (getClass().getName() + ".warning2",
- "WARNING [AS-WEB local-charset-map] attribute charset [ {0} ] is not valid.",
- new Object[] {charset}));
- }
- catch(IllegalCharsetNameException ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB local-charset-map] attribute charset [ {0} ] must be of standard format.",
- new Object[] {charset}));
- }
- }
- }//for
-
-
- //chk for parameter encoding pending, as NLSInfo object still dont support it.// to-do vkv#
-
- } else {
- notApp = true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] locale-charset-info element not defined in this web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else
- if (oneWarning){
- result.setStatus(Result.WARNING);
- }
- else
- if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed3",
- "PASSED [AS-WEB sun-web-app] locale-charset-info elements are valid within the web archive [ {0} ] .",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB sun-web-app] could not create the local-charset-info object"));
- }
- return result;
- }
-}
-
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASMessageDestination.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASMessageDestination.java
deleted file mode 100644
index 457d616..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASMessageDestination.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-
-/** message-destination
- * message-destination-name
- * jndi-name
- */
-
-public class ASMessageDestination extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- String messageDestinationName=null;
- String jndiName=null;
- int count = 0;
- try{
- count = getCountNodeSet("sun-web-app/message-destination");
- if (count>0){
- for(int i=0;i<count;i++){
- messageDestinationName = getXPathValue("sun-web-app/message-destination/message-destination-name");
- jndiName = getXPathValue("sun-web-app/message-destination/jndi-name");
-
- if(messageDestinationName==null || messageDestinationName.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB message-destination] : message-destination-name cannot be an empty string",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed1",
- "PASSED [AS-WEB message-destination] : message-destination-name is {1}",
- new Object[] {descriptor.getName(),messageDestinationName}));
- }
-
- if(jndiName==null || jndiName.length()==0){
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB message-destination] : jndi-name cannot be an empty string",
- new Object[] {descriptor.getName()}));
- }else{
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString(
- getClass().getName() + ".passed2",
- "PASSED [AS-WEB message-destination] : jndi-name is {1}",
- new Object[] {descriptor.getName(),jndiName}));
- }
- }
- }else{
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName()+".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] : message-destination Element not defined"));
- }
-
-
- }catch(Exception ex){
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB sun-web-app] could not create the servlet object"));
- }
- return result;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASResourceEnvRef.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASResourceEnvRef.java
deleted file mode 100644
index 4942692..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASResourceEnvRef.java
+++ /dev/null
@@ -1,116 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import java.util.Set;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASResourceEnvRef extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
-
- String resName;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- boolean notApp = false;
- try{
- Set<ResourceEnvReferenceDescriptor> envRefs= descriptor.getResourceEnvReferenceDescriptors();
-
- if (envRefs != null && envRefs.size() > 0) {
-
- for (ResourceEnvReferenceDescriptor envRef : envRefs) {
- resName = envRef.getName();
-
- if (validResEnvRefName(resName,descriptor)) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB sun-web-app] resource-env-ref [ {0} ] properly defined in the war file.",
- new Object[] {resName}));
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB sun-web-app] resource-env-ref name [ {0} ] is not valid, either empty or not defined in web.xml.",
- new Object[] {resName}));
- }
-
- }
-
- } else {
- notApp = true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] resource-env-ref element not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB sun-web-app] resource-env-ref element(s) are valid within the web archive [ {0} ].",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2", "FAILED [AS-WEB resource-env-ref] Could not create the resource-env-ref"));
-
-
- }
-
- return result;
- }
-
-
- boolean validResEnvRefName(String name,WebBundleDescriptor descriptor){
- boolean valid =true;
- if(name !=null && name.length()!=0) {
- try{
- descriptor.getResourceEnvReferenceByName(name);
- }
- catch(IllegalArgumentException e){
- valid=false;
- }
- } else{
- valid=false;
-
- }
- return valid;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASResourceRefName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASResourceRefName.java
deleted file mode 100644
index 7f4e634..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASResourceRefName.java
+++ /dev/null
@@ -1,146 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import java.util.Set;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-
-public class ASResourceRefName extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
- String resrefName;
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-//Start Bugid:4703107
- ResourcePrincipal resPrincipal;
-//End Bugid:4703107
- boolean oneFailed = false;
- boolean notApp = false;
- try{
- Set<ResourceReferenceDescriptor> resRefs = descriptor.getResourceReferenceDescriptors();
- if (resRefs != null && resRefs.size() > 0) {
- for (ResourceReferenceDescriptor resRef : resRefs) {
- resrefName = resRef.getName();
- if (validResRefName(resrefName,descriptor)) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB sun-web-app] resource-ref name [ {0} ] properly defined in the war file.",
- new Object[] {resrefName}));
-
- }
- else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB sun-web-app] resource-ref name [ {0} ] is not valid, either empty or not defined in web.xml.",
- new Object[] {resrefName}));
- }
- //Start Bugid:4703107
- resPrincipal = resRef.getResourcePrincipal();
- if(resPrincipal != null){
- boolean defResourcePrincipalValid = true;
- String defaultname = resPrincipal.getName();
- String defaultpassword = resPrincipal.getPassword();
- if((defaultname == null)||(defaultname.length() == 0)){
- oneFailed=true;
- defResourcePrincipalValid = false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB resource-ref] name field in DefaultResourcePrincipal of ResourceRef [ {0} ] is not specified or is an empty string.",
- new Object[] {resrefName}));
- }
- if((defaultpassword == null)||(defaultpassword.length() == 0)){
- oneFailed=true;
- defResourcePrincipalValid = false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB resource-ref] password field in DefaultResourcePrincipal of ResourceRef [ {0} ] is not specified or is an empty string.",
- new Object[] {resrefName}));
- }
- if(defResourcePrincipalValid){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed3",
- "PASSED [AS-WEB resource-ref] DefaultResourcePrincipal of ResourceRef [ {0} ] properly defined",
- new Object[] {resrefName}));
- }
- }
- //End Bugid:4703107
- }
- } else {
- notApp = true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] resource-ref element not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB sun-web-app] resource-ref element(s) are valid within the web archive [ {0} ] .",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed4", "FAILED [AS-WEB resource-env-ref] Could not create the resource-ref"));
-
- }
- return result;
- }
-
- boolean validResRefName(String name,WebBundleDescriptor descriptor){
- boolean valid =true;
- if(name !=null && name.length()!=0) {
- try{
- descriptor.getResourceReferenceByName(name);
- }
- catch(IllegalArgumentException e){
- valid=false;
- }
- } else{
- valid=false;
-
- }
-
- return valid;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSecurityRoleMapping.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSecurityRoleMapping.java
deleted file mode 100644
index fd00578..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSecurityRoleMapping.java
+++ /dev/null
@@ -1,172 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.runtime.common.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASSecurityRoleMapping extends WebTest implements WebCheck {
-
-
-
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- String roleName;
- List<PrincipalNameDescriptor> prinNames;
- List<String> grpNames;
- boolean oneFailed = false;
-
- try{
- SecurityRoleMapping[] secRoleMapp = (descriptor.getSunDescriptor()).getSecurityRoleMapping();
- if (secRoleMapp !=null && secRoleMapp.length > 0) {
- for (int rep=0; rep<secRoleMapp.length; rep++ ) {
- roleName=secRoleMapp[rep].getRoleName();
- prinNames=secRoleMapp[rep].getPrincipalNames();
- grpNames=secRoleMapp[rep].getGroupNames();
-
- if(validRoleName(roleName,descriptor)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB security-role-mapping] role-name [ {0} ] properly defined in the war file.",
- new Object[] {roleName}));
-
- }else{
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB security-role-mapping] role-name [ {0} ] is not valid, either empty or not defined in web.xml.",
- new Object[] {roleName}));
- oneFailed = true;
-
- }
- if (prinNames !=null && prinNames.size() > 0){
- String prinName;
- for (int rep1=0; rep1<prinNames.size(); rep1++ ) {
- // <addition> srini@sun.com Bug : 4699658
- prinName = prinNames.get(rep1).getName().trim();
- // </addition>
- if(prinName !=null && ! "".equals(prinName)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "PASSED [AS-WEB security-role-mapping] principal-name [ {0} ] properly defined in the war file.",
- new Object[] {prinName}));
- }else{
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB security-role-mapping] principal-name [ {0} ] cannot be empty string.",
- new Object[] {prinName}));
- oneFailed = true;
-
- }
- }
- }
- if (grpNames !=null && grpNames.size() > 0) {
- String grpName;
- for (int rep1=0; rep1<grpNames.size(); rep1++ ) {
- // <addition> srini@sun.com Bug : 4699658
- grpName =grpNames.get(rep1).trim();
- // </addition>
- if(grpName !=null && ! "".equals(grpName)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB security-role-mapping] group-name [ {0} ] properly defined in the war file.",
- new Object[] {grpName}));
-
- }else{
-
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB security-role-mapping] group-name [ {0} ] cannot be an empty string.",
- new Object[] {grpName}));
- oneFailed = true;
-
- }
- }
- }
-
- }
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] security-role-mapping element not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- if (oneFailed){
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed3",
- "PASSED [AS-WEB sun-web-app] security-role-mapping element(s) are valid within the web archive [ {0} ].",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed3",
- "FAILED [AS-WEB security-role-mapping] could not create the security-role-mapping object"));
-
- }
- return result;
- }
- boolean validRoleName(String roleName, WebBundleDescriptor descriptor){
- boolean valid=false;
- if (roleName != null && roleName.length() != 0) {
- Enumeration roles = descriptor.getSecurityRoles();
- // test the sec roles in this .war
- while (roles!=null && roles.hasMoreElements()) {
- SecurityRoleDescriptor roleDesc = (SecurityRoleDescriptor) roles.nextElement();
- String thisRoleName = roleDesc.getName();
- if (roleName.equals(thisRoleName)) {
- valid = true;
- break;
- }
- }
- // to-do vkv#
- //## roles related to application also needs to be checked, although present application
- //##descriptor dont have seperate sec roles data-structure, so leaving it for time
-
- }
- return valid;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASServlet.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASServlet.java
deleted file mode 100644
index 1c225e2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASServlet.java
+++ /dev/null
@@ -1,149 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import java.util.*;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import org.glassfish.web.deployment.runtime.*;
-
-/* servlet
- * servlet-name
- * principal-name ?
- * webservice-endpoint *
- */
-
-public class ASServlet extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- //String[] servlets=null;//######
- String servletName;
- String prinName;
- boolean oneFailed = false;
-
- try{
- Float runtimeSpecVersion = getRuntimeSpecVersion();
- Servlet[] servlets = ((SunWebAppImpl)descriptor.getSunDescriptor()).getServlet();
- if (servlets !=null && servlets.length > 0){
- for (int rep=0; rep<servlets.length; rep++ ){
- servletName=servlets[rep].getServletName();//######
- // <addition> srini@sun.com Bug : 4699658
- //prinName=servlets[rep].getPrincipalName();//######
- // prinName=servlets[rep].getPrincipalName().trim();//######
- // </addition> Bug : 4699658
-
- if(validServletName(servletName,descriptor)){
-
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB servlet] servlet-name [ {0} ] properly defined in the war file.",
- new Object[] {servletName}));
-
- }else{
-
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB servlet] servlet-name [ {0} ] is not a valid, either empty or not defined in web.xml.",
- new Object[] {servletName}));
- oneFailed = true;
-
- }
- prinName=servlets[rep].getPrincipalName();
- if(prinName != null && ! "".equals(prinName)){
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed1",
- "PASSED [AS-WEB servlet] principal-name [ {0} ] properly defined in the war file.",
- new Object[] {prinName}));
- }else{
- if (runtimeSpecVersion.compareTo(new Float("2.4")) <0 ){
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB servlet ] principal-name [ {0} ] cannot be an empty string.",
- new Object[] {prinName}));
- oneFailed = true;
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "NOT APPLICABLE [AS-WEB servlet] principal-name not defined",
- new Object[] {descriptor.getName()}));
- }
-
- }
-
- }
- }else{
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] servlet element(s) not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- return result;
- }
-
- if (oneFailed)
- {
- result.setStatus(Result.FAILED);
- } else {
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB sun-web-app] servlet element(s) are valid within the web archive [ {0} ] .",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB sun-web-app] could not create the servlet object"));
- }
- return result;
- }
-
- boolean validServletName(String servletName, WebBundleDescriptor descriptor){
- boolean valid=false;
- if (servletName != null && servletName.length() != 0) {
- Set servlets = descriptor.getServletDescriptors();
- Iterator itr = servlets.iterator();
- // test the servlets in this .war
- while (itr.hasNext()) {
- //ServletDescriptor servlet = (ServletDescriptor) itr.next();
- WebComponentDescriptor servlet = (WebComponentDescriptor) itr.next();
- String thisServletName = servlet.getCanonicalName();
- if (servletName.equals(thisServletName)) {
- valid = true;
- break;
- }
- }
-
- }
- return valid;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSessionManager.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSessionManager.java
deleted file mode 100644
index a31a978..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSessionManager.java
+++ /dev/null
@@ -1,124 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASSessionManager extends WebTest implements WebCheck{
-
-
-public Result check(WebBundleDescriptor descriptor) {
-
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- boolean notApp = false;
- try{
- SessionConfig sessionConfig = ((SunWebAppImpl)descriptor.getSunDescriptor()).getSessionConfig();
- SessionManager sessionMgr=null;
-
- StoreProperties stroeProp=null;
- ManagerProperties mgrProps=null;
-
- WebProperty[] SPwebProps=null;
- WebProperty[] MPwebProps=null;
- if(sessionConfig !=null){
- sessionMgr = sessionConfig.getSessionManager();
- }
- if (sessionConfig!=null && sessionMgr !=null){
- mgrProps=sessionMgr.getManagerProperties();
- stroeProp =sessionMgr.getStoreProperties();
-
- if(stroeProp !=null )
- SPwebProps=stroeProp.getWebProperty();
-
- if(mgrProps !=null)
- MPwebProps=mgrProps.getWebProperty();
-
- if((SPwebProps ==null|| SPwebProps.length==0) && (MPwebProps ==null || MPwebProps.length==0)){
- notApp = true;
- } else {
- if (SPwebProps !=null && SPwebProps.length>0)
- if(ASWebProperty.checkWebProperties(SPwebProps,result ,descriptor, this )){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB session-manager] store-properties - Atleast one name/value pair is not valid in [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
-
- if (MPwebProps !=null && MPwebProps.length>0)
- if(ASWebProperty.checkWebProperties(MPwebProps,result ,descriptor, this )){
- oneFailed=true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB session-manager] manager-properties - Atleast one name/value pair is not valid in [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- }
-
-
- } else {
- notApp = true;
- }
- if(notApp) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB session-config] session-manager element not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
-
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB session-config] session manager element(s) and their manager-properties and/or store-properties are valid within the web archive [ {0} ].",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "FAILED [AS-WEB session-config] could not create the session-config object"));
-
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSessionProperty.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSessionProperty.java
deleted file mode 100644
index 945e55f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASSessionProperty.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASSessionProperty extends WebTest implements WebCheck{
-
-
-public Result check(WebBundleDescriptor descriptor) {
-
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- boolean notApp = false;
- try{
- SessionConfig sessionConfig = ((SunWebAppImpl)descriptor.getSunDescriptor()).getSessionConfig();
- SessionProperties sessionProp=null;
- WebProperty[] SPwebProps=null;
-
- if(sessionConfig !=null){
- sessionProp = sessionConfig.getSessionProperties();
- if (sessionProp!=null)
- SPwebProps=sessionProp.getWebProperty();
- }
-
- if (sessionConfig!=null && sessionProp !=null && SPwebProps!=null && SPwebProps.length !=0 ) {
-
- if(ASWebProperty.checkWebProperties(SPwebProps,result ,descriptor, this )){
- oneFailed=true;
-
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB session-config] session-properties - Atleast one name/value pair is not valid in [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
-
- } else {
- notApp = true;
- }
-
- if(notApp) {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB session-config] session-properties element(s) not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
-
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB session-config] session-properties element(s) are valid within the web archive [ {0} ].",
- new Object[] {descriptor.getName()} ));
- }
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "FAILED [AS-WEB session-config] could not create the session-config object"));
-
- }
- return result;
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASWebEjbRef.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASWebEjbRef.java
deleted file mode 100644
index 3175080..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASWebEjbRef.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import java.util.Set;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.deployment.types.EjbReference;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASWebEjbRef extends WebTest implements WebCheck {
-
- public Result check(WebBundleDescriptor descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean oneFailed = false;
- String refName;
- Set<EjbReference> ejbRefs = descriptor.getEjbReferenceDescriptors();
- if (ejbRefs!=null && ejbRefs.size() > 0) {
- for (EjbReference ejbRef : ejbRefs) {
- refName = ejbRef.getName();
- if (validEjbRefName(refName,descriptor)) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "PASSED [AS-WEB ejb-ref] ejb-ref-name [ {0} ] properly defined in the war file.",
- new Object[] {refName}));
- } else {
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB ejb-ref] ejb-ref-name [ {0} ] is not valid, either empty or not defined in web.xml.",
- new Object[] {refName}));
- }
- }
- } else {
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] ejb-ref element(s) not defined in the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- return result;
- }
- if (oneFailed)
- {
- result.setStatus(Result.FAILED);
- } else {
- addGoodDetails(result, compName);
- result.passed
- (smh.getLocalString
- (getClass().getName() + ".passed2",
- "PASSED [AS-WEB sun-web-app] ejb-ref element(s) defined are valid within the web archive [ {0} ].",
- new Object[] {descriptor.getName()} ));
- }
- return result;
- }
-
- boolean validEjbRefName(String name,WebBundleDescriptor descriptor){
- boolean valid =true;
- if(name !=null && name.length()!=0) {
- try{
- descriptor.getEjbReferenceByName(name);
- }
- catch(IllegalArgumentException e){
- valid=false;
- }
- }else{
- valid=false;
- }
- return valid;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASWebProperty.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASWebProperty.java
deleted file mode 100644
index b69482e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/runtime/ASWebProperty.java
+++ /dev/null
@@ -1,139 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.runtime;
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.tests.web.*;
-import org.glassfish.web.deployment.runtime.*;
-
-//<addition author="irfan@sun.com" [bug/rfe]-id="4711198" >
-/* Changed the result messages to reflect consistency between the result messages generated
- * for the EJB test cases for SunONE specific deployment descriptors*/
-//</addition>
-
-public class ASWebProperty extends WebTest implements WebCheck{
-
-
-public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
-
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean oneFailed = false;
- boolean notApp = false;
-
- try{
- WebProperty[] webProps = ((SunWebAppImpl)descriptor.getSunDescriptor()).getWebProperty();
- if (webProps.length > 0){
- oneFailed=checkWebProperties(webProps,result ,descriptor, this ) ;
- }else{
- notApp = true;
- addNaDetails(result, compName);
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE [AS-WEB sun-web-app] web property element not defined within the web archive [ {0} ].",
- new Object[] {descriptor.getName()}));
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else if(notApp) {
- result.setStatus(Result.NOT_APPLICABLE);
- }else {
- result.setStatus(Result.PASSED);
- }
-
- }catch(Exception ex){
- oneFailed = true;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "FAILED [AS-WEB sun-web-app] could not create the web-property object"));
- }
-
- return result;
- }
- public static boolean checkWebProperties(WebProperty[] webProps, Result result ,WebBundleDescriptor descriptor, Object obj ) {
- String compName = result.getComponentName();
- String name;
- String value;
- boolean oneFailed = false;
- String[] names=null;
- if (webProps.length > 0){
- names=new String[webProps.length];
- for (int rep=0; rep<webProps.length; rep++ ){
- name = webProps[rep].getAttributeValue(WebProperty.NAME); //*************needs verification from ko]umar Sg
- value = webProps[rep].getAttributeValue(WebProperty.VALUE);
- names[rep]=name;
- if (name !=null && value !=null && name.length() != 0 && value.length() != 0){
- //check if the name already exist in this web-prop
- boolean isDuplicate=false;
- for(int rep1=0;rep1<rep;rep1++)
- {
- if(name.equals(names[rep1])){
- isDuplicate=true;
- break;
- }
-
- }
-
- if(!isDuplicate){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName}));
- result.passed(smh.getLocalString
- (obj.getClass().getName() + ".passed",
- "PASSED [AS-WEB property] Proper web property with name [ {0} ] and value [ {1} ] defined.",
- new Object[] {name, value}));
- }else{
- if (!oneFailed)
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName}));
- result.failed(smh.getLocalString
- (obj.getClass().getName() + ".failed2",
- "FAILED [AS-WEB property] name [ {0} ] and value [ {1} ], the name must be unique in the entire list of web property.",
- new Object[] {name, value}));
- }
-
- }else{
- if (!oneFailed)
- oneFailed = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName}));
- result.failed(smh.getLocalString
- (obj.getClass().getName() + ".failed1",
- "FAILED [AS-WEB property] name [ {0} ] and value [ {1} ], attributes must be of finite length.",
- new Object[] {name, value}));
- }
- }
-
- }
-
- return oneFailed;
-
- }
-
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/spec22/JspFileName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/spec22/JspFileName.java
deleted file mode 100644
index 6a6b28d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/web/spec22/JspFileName.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.web.spec22;
-
-import com.sun.enterprise.tools.verifier.tests.web.WebTest;
-import com.sun.enterprise.tools.verifier.tests.web.WebCheck;
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-
-/**
- * Jsp file element contains the full path to Jsp file within web application
- * test.
- */
-public class JspFileName extends WebTest implements WebCheck {
-
-
- /**
- * Jsp file in Servlet 2.2 applications must start with a leading /
- *
- * @param descriptor the Web deployment descriptor
- *
- * @return <code>Result</code> the results for this assertion
- */
- public Result check(WebBundleDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String specVersion = descriptor.getSpecVersion();
- Float specVer = new Float(specVersion);
- if (!descriptor.getJspDescriptors().isEmpty()) {
- boolean oneFailed = false;
- int count = getNonRuntimeCountNodeSet("/web-app/servlet");
- for(int i=1;i<=count;i++){
- String jspFilename = getXPathValueForNonRuntime("/web-app/servlet["+i+"]/jsp-file");
- if(jspFilename!=null){
- if (jspFilename.startsWith("/")){
- if(specVer.compareTo(new Float("2.3"))<0){
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(getClass().getName() + ".passed",
- " PASSED : Jsp Name [ {0} ] is valid",
- new Object[] { jspFilename }));
-
- }else{
- result.addGoodDetails(smh.getLocalString("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(getClass().getName() + ".passed1",
- " Jsp Name [ {0} ] is valid and starts with a leading '/'",
- new Object[] { jspFilename }));
-
- }
- }else{
- if(specVer.compareTo(new Float("2.3"))<0){
- result.addGoodDetails(smh.getLocalString("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString(getClass().getName() + ".passed",
- " PASSED Jsp Name [ {0} ] is valid",
- new Object[] { jspFilename }));
-
- }else{
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString(getClass().getName() + ".failed",
- " Error : Jsp Name [ {0} ] in invalid as it does not start with a leading '/'",
- new Object[] { jspFilename }));
- oneFailed=true;
- }
- }
-
- }
- }
- if (oneFailed) {
- result.setStatus(Result.FAILED);
- } else {
- result.setStatus(Result.PASSED);
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "There are no Jsp components within the web archive [ {0} ]",
- new Object[] {descriptor.getName()}));
- }
- return result;
-
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBEndpointIsSLSBCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBEndpointIsSLSBCheck.java
deleted file mode 100755
index b0026c5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBEndpointIsSLSBCheck.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_19; JSR109_WS_23;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: Service Implementations using a stateless session bean must be defined
- * in the ejb-jar.xml deployment descriptor file using the session element.
- *
- * For a stateless session bean implementation, the ejb-link element
- * associates the port-component with a session element in the ejb-jar.xml. The ejb-link
- * element may not refer to a session element defined in another module.
- */
-
-public class EJBEndpointIsSLSBCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint wsdescriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (wsdescriptor.implementedByEjbComponent()) {
- EjbDescriptor ejbdesc = wsdescriptor.getEjbComponentImpl();
-
- if (ejbdesc == null) {
-
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed1",
- "Service Implementation bean Could Not be Resolved from the ejb-link specified"));
- return result;
- }
-
- if (ejbdesc instanceof EjbSessionDescriptor) {
- EjbSessionDescriptor session = (EjbSessionDescriptor)ejbdesc;
- if (EjbSessionDescriptor.STATELESS.equals(session.getSessionType())) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "Service Implementation bean defined in ejb-jar.xml using {0} session element", new Object[] {"stateless"}));
- }
- else {
- // result.fail, endpoint can be a stateful session bean
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Service Implementation bean cannot be Stateful Session Bean"));
- }
- }
- else {
- // result.fail, service endpoint should be Session Bean
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed2",
- "Service Implementation bean Should be a Session Bean"));
- }
-
- }
- else {
-
- // result.notapp
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notapp",
- "This is a JAX-RPC Service Endpoint"));
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBLinkedToOnePortCompCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBLinkedToOnePortCompCheck.java
deleted file mode 100755
index ab3e20d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBLinkedToOnePortCompCheck.java
+++ /dev/null
@@ -1,112 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_44;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: A session EJB must only be linked to by a single port-component.
- */
-public class EJBLinkedToOnePortCompCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.implementedByEjbComponent()) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notapp",
- "This is a JAX-RPC Service Endpoint"));
- return result;
- }
-
- if (isLinkedToSinglePortComp(getAllEndPointsInApp(descriptor),descriptor.getLinkName())) {
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The session EJB associated with this end-point is linked to by a single port-component."));
-
- }
- else {
- // result.fail
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The session EJB associated with this end-point is linked to by a multiple port-components."));
-
- }
-
- return result;
- }
-
- Collection getAllEndPointsInApp(WebServiceEndpoint desc) {
- Collection endPoints = new Vector();
- Collection allWebServices = desc.getWebService().getWebServicesDescriptor().getWebServices();
- for (Iterator it = allWebServices.iterator(); it.hasNext();) {
- endPoints.addAll(((WebService)it.next()).getEndpoints());
- }
-
- return endPoints;
- }
-
- // the compLink here is either an ejb-link or a servlet-link
- boolean isLinkedToSinglePortComp(Collection endPoints, String compLink) {
- boolean single = true;
- boolean linkAlreadySeen = false;
- for (Iterator it = endPoints.iterator(); it.hasNext();) {
- String myCompLink = ((WebServiceEndpoint)it.next()).getLinkName();
-
- if (myCompLink.equals(compLink)) {
- if (!linkAlreadySeen) {
- linkAlreadySeen = true;
- }
- else {
- single = false;
- break;
- }
- }
- }
- return single;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBServiceImplBeanChk.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBServiceImplBeanChk.java
deleted file mode 100644
index e876682..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EJBServiceImplBeanChk.java
+++ /dev/null
@@ -1,204 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import java.lang.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_4; JSR109_WS_5; JSR109_WS_6; JSR109_WS_7;
- * JSR109_WS_8; JSR109_WS_9; JSR109_WS_47;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription:
- * The Service Implementation Bean (SLSB) must have a default public constructor.
- *
- * The Service Implementation Bean may implement the Service Endpoint
- * Interface, but it is not required to do so. The bean must implement all the method
- * signatures of the SEI. The Service Implementation Bean methods are not required to throw
- * javax.rmi.RemoteException. The business methods of the bean must be public and must not
- * be final or static. It may implement other methods in addition to those defined by the SEI.
- *
- * The Service Implementation Bean (SLSB) class must be public, must not be final and must
- * not be abstract.
- *
- * The Service Implementation Bean (SLSB)class must not define the finalize() method.
- *
- * Currently, Service Implementation Bean (SLSB) must implement the ejbCreate() and
- * ejbRemove() methods which take no arguments. This is a requirement of the EJB container,
- * but generally can be stubbed out with an empty implementations.
- *
- * The Stateless Session Bean must implement the jakarta.ejb.SessionBean interface either
- * directly or indirectly.
- *
- * All the exceptions defined in the throws clause of the matching method of the session bean
- * class must be defined in the throws clause of the method of the web service endpoint
- * interface.
- */
-public class EJBServiceImplBeanChk extends WSTest implements WSCheck {
-
- /**
- * @param wsdescriptor the WebService deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint wsdescriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- EjbDescriptor descriptor = wsdescriptor.getEjbComponentImpl();
-
- if (descriptor != null) {
-
- // get hold of the ServiceImplBean Class
- String beanClass = descriptor.getEjbClassName();
- // since non-empty ness is enforced by schema, this is an internal error
- if ((beanClass == null) || ((beanClass != null) && (beanClass.length() == 0))) {
- // internal error
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"Service Implementation Bean Class Name Null"}));
- }
- Class<?> bean = null;
-
- try {
- bean = Class.forName(beanClass, false, getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The [{0}] Class [{1}] could not be Loaded",new Object[] {"Service Impl Bean", beanClass}));
- }
-
- // get hold of the SEI Class
- String s = descriptor.getWebServiceEndpointInterfaceName();
-
- if ((s == null) || (s.length() == 0)){
- // internal error, should never happen
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"Service Endpoint Interface Class Name Null"}));
- }
-
- Class<?> sei = null;
-
- try {
- sei = Class.forName(s, false, getVerifierContext().getClassLoader());
- }catch(ClassNotFoundException e) {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The [{0}] Class [{1}] could not be Loaded",new Object[] {"SEI", s}));
-
- }
-
- // it should be a stateless session bean
- boolean isSLSB = (jakarta.ejb.SessionBean.class).isAssignableFrom(bean);
- boolean implementsSEI = sei.isAssignableFrom(bean);
-
- if (!isSLSB) {
- //result.fail does not implement jakarta.ejb.SessionBean interface
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Implementation Bean Does not Implement SessionBean Interface"}));
- }
- else {
- // result.passed
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean implements SessionBean Interface"}));
- }
-
- EndPointImplBeanClassChecker checker = new EndPointImplBeanClassChecker(sei,bean,result,getVerifierContext().getSchemaVersion());
-
- if (implementsSEI) {
- // result.passed
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean implements SEI"}));
- }
- else {
-
- // business methods of the bean should be public, not final and not static
- // This check will happen as part of this call
- Vector notImpl = checker.getSEIMethodsNotImplemented();
- if (notImpl.size() > 0) {
- // result.fail, Set the not implemented methods into the result info??
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Implementation Bean Does not Implement ALL SEI Methods"}));
- }
- else {
- // result.pass :All SEI methods implemented
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean implements all Methods of the SEI"}));
- }
- }
-
- // class should be public, not final and not abstract
- // should not define finalize()
- if (checker.check(compName)) {
- // result.passed stuff done inside the check() method nothing todo here
- result.setStatus(Result.PASSED);
- }
- else {
- // result.fail : stuff done inside the check() method nothing todo here
- result.setStatus(Result.FAILED);
- }
-
- }
- else {
- // result.notapplicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.notapp",
- "[{0}]", new Object[] {"Not Applicable since this is a JAX-RPC Service Endpoint"}));
-
- }
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EjbRemoveMethodNameExistInSLSB.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EjbRemoveMethodNameExistInSLSB.java
deleted file mode 100644
index 51b06bf..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EjbRemoveMethodNameExistInSLSB.java
+++ /dev/null
@@ -1,141 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.Verifier;
-
-import java.lang.reflect.Method;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_05;
- * @test_Strategy:
- * @class.testArgs:
- * @testDescription: Service Implementation Bean(SLSB) must implement the ejbRemove() method which take no
- * arguments.
- *
- * This is a requirement of the EJB container,but generally can be stubbed out with an empty implementations
- */
-
-public class EjbRemoveMethodNameExistInSLSB extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint wsdescriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean foundFailure=false;
- if (wsdescriptor.implementedByEjbComponent()) {
- EjbDescriptor ejbdesc = wsdescriptor.getEjbComponentImpl();
- if (ejbdesc != null && (ejbdesc instanceof EjbSessionDescriptor)) {
- EjbSessionDescriptor descriptor = (EjbSessionDescriptor)ejbdesc;
- if (EjbSessionDescriptor.STATELESS.equals(descriptor.getSessionType())) {
- try {
- //VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = getVerifierContext().getClassLoader();
- Class c = Class.forName(descriptor.getEjbClassName(), false, getVerifierContext().getClassLoader());
- int foundAtLeastOne = 0;
-
- do {
- Method [] methods = c.getDeclaredMethods();
- for (int i = 0; i < methods.length; i++) {
- // The method name must be ejbRemove.
- if (methods[i].getName().startsWith("ejbRemove")) {
- foundAtLeastOne++;
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.addGoodDetails(smh.getLocalString
- (getClass().getName() + ".passed",
- "[ {0} ] declares [ {1} ] method.",
- new Object[] {descriptor.getEjbClassName(),methods[i].getName()}));
- }
- }
- } while (((c = c.getSuperclass()) != null) && (foundAtLeastOne == 0));
- if (foundAtLeastOne == 0){
- foundFailure = true;
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: [ {0} ] does not properly declare at least one ejbRemove() method. [ {1} ] is not a valid bean.",
- new Object[] {descriptor.getEjbClassName(),descriptor.getEjbClassName()}));
- }
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failedException",
- "Error: [ {0} ] class not found.",
- new Object[] {descriptor.getEjbClassName()}));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable",
- "NOT APPLICABLE :Service Implementation bean is not a stateless Session Bean"));
- return result;
- }
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable1",
- "NOT APPLICABLE:Service Implementation bean is null or not a session bean descriptor "));
- return result;
- }
-
- if (foundFailure) {
- result.setStatus(result.FAILED);
- } else {
- result.setStatus(result.PASSED);
- }
- return result;
-
- } else {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notApplicable2",
- "Not Applicable: Service Implementation bean is not implemented by Ejb."));
- return result;
- }
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EndPointImplBeanClassChecker.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EndPointImplBeanClassChecker.java
deleted file mode 100644
index b04d7ea..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/EndPointImplBeanClassChecker.java
+++ /dev/null
@@ -1,270 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import java.lang.reflect.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-// The condition of bean class here is that it does not implement SEI
-// So we need to check if it implements all method signatures in SEI.
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: ;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- */
-public class EndPointImplBeanClassChecker extends WSTest implements WSCheck {
-
- private Class sei;
- private Class bean;
- private Result result;
- private boolean isEjbEndpoint;
- private String schemaVersion;
-
- public EndPointImplBeanClassChecker (Class seiClz, Class beanClz, Result resultInst, String version ) {
-
- sei = seiClz;
- bean = beanClz;
- result = resultInst;
- isEjbEndpoint = true;
- schemaVersion = version;
- }
-
- public EndPointImplBeanClassChecker (Class seiClz, Class beanClz, Result resultInst,
- boolean isEjb) {
- sei = seiClz;
- bean = beanClz;
- result = resultInst;
- isEjbEndpoint = isEjb;
- }
-
- /**
- * @param descriptor the Enterprise Java Bean deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
- return null;
- }
-
- public boolean check (ComponentNameConstructor compName) {
-
- boolean pass = true;
-
- // should define default public constructor
- try {
- bean.getConstructor(new Class[0]);
- // result.pass has public default constructor
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean has a public default Constructor"}));
-
- }catch (NoSuchMethodException e) {
- //result.fail no default public constructor
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Impl Bean does not have a default public Constructor"}));
- pass = false;
- }catch (LinkageError e){
- Verifier.debug(e);
- pass = false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.failed1",
- "Error: [ {0} ] class used in [ {1} ] class cannot be found.",
- new Object[] {e.getMessage().replace('/','.'), bean.getName()}));
- }
-
- // class should be public, not final and not abstract
- int modifiers = bean.getModifiers();
- if (Modifier.isPublic(modifiers)) {
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean is public"}));
- }
- else {
- // result.fail EndPoint Impl class not public
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Impl Bean is not public"}));
- pass = false;
- }
-
- if (Modifier.isFinal(modifiers)) {
- // result.fail EndPoint Impl class declared final
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Impl Bean is does not implement SEI, but is decalred final"}));
- pass = false;
- }
- else {
- // result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean class is not declared final"}));
- }
-
- if (Modifier.isAbstract(modifiers)) {
- // result.fail endpoint impl class cannot be asbtract
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Impl Bean class is decalred final"}));
- pass = false;
- }
- else {
- // result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean class is not abstract"}));
- }
-
- // should not define finalize()
- try {
- if (bean.getDeclaredMethod("finalize", new Class[0]) != null) {
- //result.fail, bean should not declare finalize
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Impl Bean class defines finalize() method"}));
- pass = false;
- }
- }catch(NoSuchMethodException e) {
- //result.pass, does not declare finalize
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean class does not define finalize() method"}));
- }catch (LinkageError e){
- Verifier.debug(e);
- pass = false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.failed1",
- "Error: [ {0} ] class used in [ {1} ] class cannot be found.",
- new Object[] {e.getMessage().replace('/','.'), bean.getName()}));
- }
- if (isEjbEndpoint && !(schemaVersion.compareTo("1.1")>0)) {
- // should define a NoArg ejbCreate()
- try {
- if (bean.getDeclaredMethod("ejbCreate", new Class[0]) != null) {
- //result.pass, bean has no-arg ejbCreate()
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean class defines ejbCreate()"}));
- }
- }catch(NoSuchMethodException e) {
- //result.fail, does not declare ejbCreate
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Impl Bean class has no ejbCreate()"}));
- pass = false;
- }catch (LinkageError e){
- Verifier.debug(e);
- pass = false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.failed1",
- "Error: [ {0} ] class used in [ {1} ] class cannot be found.",
- new Object[] {e.getMessage().replace('/','.'), bean.getName()}));
- }
- // should define a NoArg ejbRemove()
- try {
- if (bean.getDeclaredMethod("ejbRemove", new Class[0]) != null) {
- //result.pass, bean has no-arg ejbRemove()
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean class defines ejbRemove()"}));
- }
- }catch(NoSuchMethodException e) {
- //result.fail, does not declare ejbRemove
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Impl Bean class has no ejbRemove()"}));
- pass = false;
- }catch (LinkageError e){
- Verifier.debug(e);
- pass = false;
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.failed1",
- "Error: [ {0} ] class used in [ {1} ] class cannot be found.",
- new Object[] {e.getMessage().replace('/','.'), bean.getName()}));
- }
- }
-
- return pass;
- }
-
- public Vector getSEIMethodsNotImplemented() {
-
- Vector<String> ret = new Vector<String>();
- // here the methods could be in the base class as well
- Method[] beanPubMethods = bean.getMethods();
- Method[] seiMethods = sei.getMethods();
- for ( int i=0; i < seiMethods.length; i++) {
- if (!hasMatchingMethod(seiMethods[i], beanPubMethods)) {
- // doesnt have matching method
- ret.add(seiMethods[i].toString());
- }
- }
- return ret;
- }
-
- private boolean hasMatchingMethod(Method meth, Method[] tobeChecked) {
-
- for (int i=0; i < tobeChecked.length; i++) {
- if (WSTest.matchesSignatureAndReturn(meth, tobeChecked[i]))
- return true;
- }
- return false;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/HandlerChainClassCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/HandlerChainClassCheck.java
deleted file mode 100644
index 6593c73..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/HandlerChainClassCheck.java
+++ /dev/null
@@ -1,70 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import java.util.List;
-import java.util.Iterator;
-
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.deployment.WebServiceHandler;
-import com.sun.enterprise.deployment.WebServiceHandlerChain;
-
-/**
- * @author Sudipto Ghosh
- */
-public class HandlerChainClassCheck extends WSTest implements WSCheck {
-
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- //Handler chains are applicable only in the context of JAX-WS 2.0. So
- // version check for this test is not required.
- List handlerChain = descriptor.getHandlerChain();
- for (Iterator it = handlerChain.iterator(); it.hasNext();) {
- List handlers = ((WebServiceHandlerChain)it.next()).getHandlers();
- for(Iterator itr = handlers.iterator(); itr.hasNext();) {
- String hClass = ((WebServiceHandler)itr.next()).getHandlerClass();
- try {
- Class cl = Class.forName(hClass, false, getVerifierContext().getClassLoader());
- if (!((jakarta.xml.ws.handler.Handler.class).isAssignableFrom(cl))) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "Handler Class [{0}] does not implement " +
- "jakarta.xml.ws.handler.Handler Interface",
- new Object[] {hClass}));
- }
- } catch (ClassNotFoundException e) {
- // result.fail, handler class not found
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.clfailed",
- "The [{0}] Class [{1}] could not be Loaded",
- new Object[] {"Handler Class", hClass}));
- }
- }
- }
- if (result.getStatus() != Result.FAILED) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString (getClass().getName() + ".passed1",
- "Handler chains, if any, are defined properly"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/HandlerPortNameCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/HandlerPortNameCheck.java
deleted file mode 100755
index a55635a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/HandlerPortNameCheck.java
+++ /dev/null
@@ -1,117 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-// portnames : verify that all the portnames exist in the WebService
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_45;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: Handler Port Name is a valid portname
- */
-public class HandlerPortNameCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean pass = true;
-
- if (descriptor.hasHandlers()) {
- Collection allPortNames = getAllPortNamesInService(descriptor);
- List<WebServiceHandlerChain> handlerChains = descriptor.getHandlerChain();
- for (WebServiceHandlerChain handlerChain : handlerChains) {
- Collection c = new HashSet();
- for (WebServiceHandler wsh : handlerChain.getHandlers()) {
- c.addAll(wsh.getPortNames());
- }
- Collection invalid = getInvalidHandlerPortNames(c,allPortNames);
- if (invalid.size() > 0) {
- //result.fail
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed",
- "[{0}]", new Object[] {"The Port Name(s) in the Handler Chain are invalid"}));
-
- pass = false;
- }
- else {
- //result.pass
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"Port Name(s) in the Handler-Chain are valid"}));
-
- }
- }
- }
- else {
- // result.NotApplicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.notapp",
- "[{0}]", new Object[] {"Not Applicable since No handlers defined in this WebService"}));
-
- }
-
- return result;
- }
-
- private Collection getAllPortNamesInService(WebServiceEndpoint descriptor) {
-
- Collection endPoints = descriptor.getWebService().getEndpoints();
- Vector<String> ret = new Vector<String>();
- for (Iterator it = endPoints.iterator(); it.hasNext();) {
- ret.add(((WebServiceEndpoint)it.next()).getEndpointName());
- }
- return ret;
- }
-
- private Collection getInvalidHandlerPortNames(Collection hpNames, Collection allPortNames) {
-
- Vector<String> ret = new Vector<String>();
- for (Iterator it = hpNames.iterator(); it.hasNext();) {
- String currName = (String)it.next();
- if (!allPortNames.contains(currName))
- ret.add(currName);
- }
- return ret;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/JAXRPCEndpointIsServletClassCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/JAXRPCEndpointIsServletClassCheck.java
deleted file mode 100755
index 8f81ab7..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/JAXRPCEndpointIsServletClassCheck.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_20;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: Service Implementations using a JAX-RPC Service Endpoint must be defined
- * in the web.xml deployment descriptor file using the servlet-class element.
- */
-public class JAXRPCEndpointIsServletClassCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint wsdescriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- ClassLoader loader = getVerifierContext().getClassLoader();
-
- if (wsdescriptor.implementedByWebComponent()) {
- WebBundleDescriptor webBundle = (WebBundleDescriptor)wsdescriptor.getBundleDescriptor();
- WebComponentDescriptor webComponent =
- (WebComponentDescriptor) webBundle.
- getWebComponentByCanonicalName(wsdescriptor.getWebComponentLink());
- if( webComponent != null && webComponent.isServlet()) {
- String servletClass = wsdescriptor.getWebComponentImpl().
- getWebComponentImplementation();
- if ((servletClass == null) || (!wsdescriptor.getWebComponentImpl().isServlet())) {
- //result.fail, webcomponentimpl for webservice is not servlet
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The WebComponent implementation for this JAX-RPC endpoint is not a servlet"}));
-
- }
- else {
- // try to load the servlet class
- try {
- Class cl = Class.forName(servletClass, false, getVerifierContext().getClassLoader());
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.clpassed",
- "The [{0}] Class [{1}] exists and was loaded successfully.",
- new Object[] {"Servlet Class", servletClass}));
-
- }catch (ClassNotFoundException e) {
- //result.fail could not find servlet class
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.clfailed",
- "The [{0}] Class [{1}] could not be Loaded",
- new Object[] {"Servlet Class", servletClass}));
-
- }
- }
- }
- else {
- //result.fail, servlet-link could not be resolved
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The servlet-link for this JAX-RPC Endpoint could not be resolved"}));
-
- }
- }
- else {
- //result.notapplicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.notapp",
- "[{0}]", new Object[] {"Not Applicable since this is NOT a JAX-RPC Service Endpoint"}));
-
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/JAXRPCServiceImplBeanChk.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/JAXRPCServiceImplBeanChk.java
deleted file mode 100644
index 72a7d0c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/JAXRPCServiceImplBeanChk.java
+++ /dev/null
@@ -1,171 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_10; JSR109_WS_11; JSR109_WS_12; JSR109_WS_13;
- * JSR109_WS_14; JSR109_WS_47;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- *
- * The Service Implementation Bean must have a default public constructor.
- *
- * The Service Implementation Bean may implement the Service Endpoint Interface as defined by
- * the JAX-RPC Servlet model. The bean must implement all the method signatures of the SEI.
- * The business methods of the bean must be public and must not be static.
- *
- * If the Service Implementation Bean does not implement the SEI, the business methods
- * must not be final, must not be static.The bean must implement all the method signatures
- * of the SEI.
- *
- * The Service Implementation Bean class must be public, must not be final and must
- * not be abstract.
- *
- * The Service Implementation Bean class must not define the finalize() method.
- *
- * All the exceptions defined in the throws clause of the matching method of the session bean
- * class must be defined in the throws clause of the method of the web service endpoint
- * interface.
- *
- */
-public class JAXRPCServiceImplBeanChk extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebService deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean pass = true;
-
- if (descriptor.implementedByWebComponent()) {
-
- Class<?> bean = loadImplBeanClass(descriptor, result);
- if (bean == null) {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"Could not Load the Service Implementation Bean class for the JAX-RPC Endpoint"}));
-
- }
- else {
-
- // get hold of the SEI Class
- String s = descriptor.getServiceEndpointInterface();
-
- if ((s == null) || (s.length() == 0)){
- // internal error, should never happen
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"SEI Class Name is Null"}));
- }
-
- Class<?> sei = loadSEIClass(descriptor, result);
-
- if (sei == null) {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.WSTest.SEIClassExists",
- "Error: Service Endpoint Interface class [ {0} ] not found.",
- new Object[] {descriptor.getServiceEndpointInterface()}));
- }
- else {
- boolean implementsSEI = sei.isAssignableFrom(bean);
- EndPointImplBeanClassChecker checker =
- new EndPointImplBeanClassChecker(sei,bean,result,false);
- if (implementsSEI) {
- // result.passed
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean implements SEI"}));
-
- }
- else {
-
- // business methods of the bean should be public, not final and not static
- // This check will happen as part of this call
- Vector notImpl = checker.getSEIMethodsNotImplemented();
- if (notImpl.size() > 0) {
- // result.fail, Set the not implemented methods into the result info??
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.failed", "[{0}]",
- new Object[] {"The Service Implementation Bean Does not Implement ALL SEI Methods"}));
-
- }
- else {
- // result.pass :All SEI methods implemented
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.passed", "[{0}]",
- new Object[] {"The Service Impl Bean implements all Methods of the SEI"}));
-
- }
- }
-
- // class should be public, not final and not abstract
- // should not define finalize()
- if (checker.check(compName)) {
- // result.passed stuff done inside the check() method nothing todo here
- result.setStatus(Result.PASSED);
- }
- else {
- // result.fail : stuff done inside the check() method nothing todo here
- result.setStatus(Result.FAILED);
- }
- }
- }
- }
- else {
- // result.notapplicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.notapp",
- "[{0}]", new Object[] {"Not Applicable since this is an EJB Service Endpoint"}));
- }
-
- return result;
- }
-
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/MappingFileCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/MappingFileCheck.java
deleted file mode 100755
index 80394d4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/MappingFileCheck.java
+++ /dev/null
@@ -1,100 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-
-/*
-* @class.setup_props: ;
-*/
-
-/*
-* @testName: check
-* @assertion_ids: JSR109_WS_15; JSR109_WS_30;
-* @test_Strategy:
-* @class.testArgs: Additional arguments (if any) to be passed when execing the client
-* @testDescription: The developer is responsible for packaging, either by containment or
-* reference, the WSDL file, Service Endpoint Interface class, Service Implementation Bean
-* class, and their dependent classes, JAX-RPC mapping file along with a Web services
-* deployment descriptor in a J2EE module.
-*
-* jaxrpc-mapping-file The file name is a relative path within the module.
-*/
-public class MappingFileCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String mappingFile = descriptor.getWebService().getMappingFileUri();
- if (getVerifierContext().getSchemaVersion().compareTo("1.1") > 0) {
- if (mappingFile != null) {
- addWarningDetails(result, compName);
- result.warning(smh.getLocalString (getClass().getName() + ".warning",
- "The mapping file as specified in location [ {0} ] is not required.",
- new Object[] {mappingFile}));
- return result;
- }
- } else {
- InputStream deploymentEntry=null;
- try {
- String uri = getAbstractArchiveUri(descriptor);
- try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(mappingFile);
- }catch (IOException e) { throw e;}
- if (deploymentEntry == null) {
- //result.fail, mapping file does not exist at that location
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The mapping file does not exist at the specified location [{0}] in the archive.",
- new Object[] {mappingFile}));
-
- }
- }catch (Exception e) {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The mapping file does not exist at the specified location [{0}] in the archive.",
- new Object[] {mappingFile}));
- }
- finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- }catch(IOException e) {}
- }
- }
- if(result.getStatus() != Result.FAILED || result.getStatus() != Result.WARNING) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "mapping file requirements are satisfied"));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/OnlyOneServletMappingCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/OnlyOneServletMappingCheck.java
deleted file mode 100755
index 601779f..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/OnlyOneServletMappingCheck.java
+++ /dev/null
@@ -1,113 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_26;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: No more than one servlet mapping may be specified for a servlet that is
- * linked to by a port-component.
- */
-
-public class OnlyOneServletMappingCheck extends WSTest implements WSCheck {
-
- /**
- * @param desc the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint desc) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (desc.implementedByWebComponent()) {
- WebBundleDescriptor webBundle = (WebBundleDescriptor)desc.getBundleDescriptor();
- WebComponentDescriptor webComponent =
- (WebComponentDescriptor) webBundle.
- getWebComponentByCanonicalName(desc.getWebComponentLink());
- if(webComponent != null && webComponent.isServlet()) {
- int sz = getSize(webComponent.getUrlPatternsSet());
- if (sz == 0) {
- //result.fail , no servlet-mapping for servlet linked to port-component
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Found [{0}] servlet mappings for the servlet linked to by this port-component.",
- new Object[] {"0"}));
- }
- if (sz > 1) {
- //result.fail , more than one servlet-mapping for servlet linked to port-component
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Found [{0}] servlet mappings for the servlet linked to by this port-component.",
- new Object[] {Integer.toString(sz)}));
- }
- else {
- //result.pass , one servlet-mapping for servlet linked to port-component
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "Found only one servlet mapping for the servlet linked to by this port-component."));
-
- }
- }
- }
- else {
-
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString(getClass().getName() + ".notapp",
- " Not applicable since this is Not a JAX-RPC Service Endpoint."));
-
- }
-
- return result;
- }
-
- /**
- * This is a hack, since descriptors from backend contain
- * an extra url pattern.
- * @param urlPatterns
- * @return
- */
- private int getSize(Set urlPatterns) {
- int size = urlPatterns.size();
- if (getVerifierContext().isAppserverMode()) //only if backend
- for (Object url : urlPatterns) {
- String urlPattern = (String)url;
- if(urlPattern.indexOf("__container") != -1)
- size--;
- }
- return size;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIClassNameCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIClassNameCheck.java
deleted file mode 100755
index bfba24a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIClassNameCheck.java
+++ /dev/null
@@ -1,77 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_15; JSR109_WS_24;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The developer is responsible for packaging, either by containment or
- * reference, the WSDL file, Service Endpoint Interface class, Service Implementation Bean
- * class, and their dependent classes, JAX-RPC mapping file along with a Web services
- * deployment descriptor in a J2EE module.
- *
- * The developer must specify the fully qualified class name of the Service Endpoint
- * Interface in the service-endpoint-interface element.
- */
-
-public class SEIClassNameCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint wsdescriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- Class cl = loadSEIClass(wsdescriptor,result);
- if (cl == null) {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The [{0}] Class [{1}] could not be Loaded.",
- new Object[] {"SEI", wsdescriptor.getServiceEndpointInterface()}));
-
- }
- else {
-
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The [{0}] Class [{1}] Loaded Successfully.",
- new Object[] {"SEI",wsdescriptor.getServiceEndpointInterface()}));
-
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIEJBTxAttrChk.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIEJBTxAttrChk.java
deleted file mode 100755
index 152e3c3..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIEJBTxAttrChk.java
+++ /dev/null
@@ -1,152 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.MethodDescriptor;
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.ejb.deployment.descriptor.ContainerTransaction;
-import org.glassfish.ejb.deployment.descriptor.EjbDescriptor;
-
-import java.util.Collection;
-import java.util.Iterator;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_1
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription :If the Service Implementation Bean is an EJB,
- * the transaction attributes for the methods defined by the SEI do not include Mandatory.
- */
-public class SEIEJBTxAttrChk extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebService deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint wsdescriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean pass = true;
-
- if (wsdescriptor.implementedByEjbComponent()) {
-
- EjbDescriptor descriptor = (EjbDescriptor) wsdescriptor.getEjbComponentImpl();
-
- try {
- ContainerTransaction ctx = descriptor.getContainerTransaction();
-
- if ((ctx != null) &&
- (ContainerTransaction.MANDATORY.equals(ctx.getTransactionAttribute()))) {
- // Call result.failed here : All methods are having Mandatory TX
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "[{0}] of this WebService [{1}] have Mandatory Transaction Attribute.",
- new Object[] {"All the methods", compName.toString()}));
-
- return result;
- }
-
- Collection txMethDescs = descriptor.getTransactionMethodDescriptors();
-
- // get hold of the SEI Class
- String s = descriptor.getWebServiceEndpointInterfaceName();
-
- if (s == null) {
- // internal error, should never happen
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"Service Endpoint Interface Class Name Null"}));
- pass = false;
- }
- ClassLoader cl = getVerifierContext().getClassLoader();
- Class sei = null;
-
- try {
- sei = Class.forName(s, false, cl);
- }catch(ClassNotFoundException e) {
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"Could not Load Service Endpoint Interface Class"}));
- pass = false;
- }
-
- Iterator it = txMethDescs.iterator();
- while (it.hasNext()) {
- // need to check if this method is part of SEI
- MethodDescriptor methdesc =(MethodDescriptor)it.next();
- if (isSEIMethod(methdesc, descriptor, sei, cl)) {
- ctx = descriptor.getContainerTransactionFor(methdesc);
- if ((ctx != null) &&
- (ContainerTransaction.MANDATORY.equals(ctx.getTransactionAttribute()))) {
- // Call result.failed here with Method details here
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "[{0}] of this WebService [{1}] have Mandatory Transaction Attribute.",
- new Object[] {methdesc.getName(), compName.toString()}));
- pass = false;
- }
- }
- }
- } catch (Exception e) {
- // Call result.addErrorDetails here with exception details
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
- pass = false;
- }
-
- if (pass) {
-
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "None of the methods of this WebService [{0}] have Mandatory Transaction Attribute.",
- new Object[] {compName.toString()}));
-
- }
-
- return result;
- }
- else {
- // call result.notapplicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString (getClass().getName() + ".notapp",
- "Not applicable since this is not an EJB Service Endpoint."));
-
- return result;
- }
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIExtendsRemoteCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIExtendsRemoteCheck.java
deleted file mode 100755
index 4fb056c..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/SEIExtendsRemoteCheck.java
+++ /dev/null
@@ -1,91 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_46;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: SEI must extend the java.rmi.Remote interface.
- */
-
-public class SEIExtendsRemoteCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebService deployment descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- // get hold of the SEI Class
- String s = descriptor.getServiceEndpointInterface();
- if (s == null) {
- // internal error, should never happen
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"SEI Class Name Null"}));
- return result;
-
- }
- Class sei = null;
- try {
- sei = Class.forName(s, false, getVerifierContext().getClassLoader());
- } catch(ClassNotFoundException e) {
- addErrorDetails(result, compName);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.toString()}));
-
- return result;
- }
- if (!(getVerifierContext().getSchemaVersion().compareTo("1.1") > 0)) {
- if(!java.rmi.Remote.class.isAssignableFrom(sei)) {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString(getClass().getName() + ".failed",
- "SEI [{0}] does not extend the java.rmi.Remote interface.",
- new Object[] {s}));
- }
- } else if (java.rmi.Remote.class.isAssignableFrom(sei)) {
- result.addWarningDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.warning(smh.getLocalString(getClass().getName() + ".warning",
- "SEI [{0}] is not required to extend the java.rmi.Remote interface.",
- new Object[] {s}));
- }
- if(result.getStatus() != Result.FAILED
- && result.getStatus() != Result.WARNING) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName() + ".passed",
- "Service Enpoint is defined properly"));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServiceImplBeanLinkCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServiceImplBeanLinkCheck.java
deleted file mode 100755
index dc61523..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServiceImplBeanLinkCheck.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_19; JSR109_WS_22; JSR109_WS_23; JSR109_WS_33;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: Service Implementations using a stateless session bean must be
- * defined in the ejb-jar.xml deployment descriptor file using the session element.
- *
- * The developer declares the implementation of the Web service using
- * the service-impl-bean element of the deployment descriptor.
- *
- * For a stateless session bean implementation, the ejb-link element associates the
- * port-component with a session element in the ejb-jar.xml. The ejb-link element may
- * not refer to a session element defined in another module.
- *
- * The service-impl-bean element defines the Web service implementation. A service
- * implementation can be an EJB bean class or JAX-RPC web component.
- */
-
-public class ServiceImplBeanLinkCheck extends WSTest implements WSCheck {
-
- public boolean resolveComponentLink(WebServiceEndpoint desc, Result result) {
- boolean resolved = false;
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if( desc.implementedByEjbComponent()) {
- EjbBundleDescriptor ejbBundle = (EjbBundleDescriptor)desc.getBundleDescriptor();
- if( ejbBundle.hasEjbByName(desc.getEjbLink())) {
- EjbDescriptor ejb = ejbBundle.getEjbByName(desc.getEjbLink());
- if (ejb != null) {
- resolved = true;
- //result.pass , ejb-link resolved
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "[{0}] link of service-impl-bean element resolved successfully.",
- new Object[] {desc.getEjbLink()}));
-
- }
- else {
- //result.fail, ejb-link could not be resolved
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "Could not resolve [{0}] link of service-impl-bean element.",
- new Object[] {desc.getEjbLink()}));
-
- }
- }
- } else if( desc.implementedByWebComponent()) {
- WebBundleDescriptor webBundle = (WebBundleDescriptor)desc.getBundleDescriptor();
- WebComponentDescriptor webComponent =
- (WebComponentDescriptor) webBundle.
- getWebComponentByCanonicalName(desc.getWebComponentLink());
- if( webComponent != null && webComponent.isServlet()) {
- resolved = true;
- //result.pass servlet-link resolved
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "[{0}] link of service-impl-bean element resolved successfully.",
- new Object[] {desc.getWebComponentLink()}));
- }
- else {
- //result.fail, servlet-link could not be resolved
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "Could not resolve [{0}] link of service-impl-bean element.",
- new Object[] {desc.getWebComponentLink()}));
- }
- }
- return resolved;
- }
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint wsdescriptor) {
-
- Result result = getInitializedResult();
- boolean pass = resolveComponentLink(wsdescriptor, result);
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletImplClassCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletImplClassCheck.java
deleted file mode 100755
index 1c4be4a..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletImplClassCheck.java
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_15;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription:The developer is responsible for packaging, either by containment or
- * reference, the WSDL file, Service Endpoint Interface class, Service Implementation Bean
- * class, and their dependent classes, JAX-RPC mapping file along with a Web services
- * deployment descriptor in a J2EE module.
- */
-
-public class ServletImplClassCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean pass = true;
- if (descriptor.implementedByWebComponent()) {
- String servletClass=null;
- ClassLoader loader = getVerifierContext().getClassLoader();
- WebComponentDescriptor wcd = descriptor.getWebComponentImpl();
- if (wcd!=null)
- servletClass = wcd.getWebComponentImplementation();
- if ((servletClass == null) || (!descriptor.getWebComponentImpl().isServlet())) {
- //result.fail, webcomponentimpl for webservice is not servlet
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed1",
- "The Web Component Implementation for this JAX-RPC Service Endpoint [{0}] is not a Servlet.",
- new Object[] {compName.toString()}));
-
- }
- else {
- try {
- Class cl = Class.forName(servletClass, false, getVerifierContext().getClassLoader());
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The Servlet Implementation Class [{0}] was loaded successfully.",
- new Object[] {servletClass}));
-
- }catch (ClassNotFoundException e) {
- //result.fail could not find servlet class
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The Servlet Implementation Class [{0}] was not found.",
- new Object[] {servletClass}));
- pass = false;
- }
- }
- }
- else {
- //result.Not Applicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString (getClass().getName() + ".notapp",
- "Not Applicable since this not a JAX-RPC Service Endpoint."));
-
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletLinkedToOnePortCompCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletLinkedToOnePortCompCheck.java
deleted file mode 100755
index 57cf38b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletLinkedToOnePortCompCheck.java
+++ /dev/null
@@ -1,115 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_43;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: A servlet must only be linked to by a single port-component.
- */
-
-public class ServletLinkedToOnePortCompCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.implementedByEjbComponent()) {
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notapp",
- "This is an EJB Service Endpoint"));
- return result;
- }
-
-
- if (isLinkedToSinglePortComp(getAllEndPointsInApp(descriptor),descriptor.getLinkName())) {
- // result.pass
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.passed(smh.getLocalString
- (getClass().getName() + ".passed",
- "The Servlet associated with this end-point is linked to by a single port-component."));
-
- }
- else {
- // result.fail
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The Servlet associated with this end-point is linked to by multiple port-components."));
-
- }
-
- return result;
- }
-
- Collection getAllEndPointsInApp(WebServiceEndpoint desc) {
- Collection allWebServices = desc.getWebService().getWebServicesDescriptor().getWebServices();
- Collection ret = new Vector();
- for (Iterator it = allWebServices.iterator(); it.hasNext();) {
- ret.addAll(((WebService)it.next()).getEndpoints());
- }
-
- return ret;
- }
-
- // the compLink here is either an ejb-link or a servlet-link
- boolean isLinkedToSinglePortComp(Collection endPoints, String compLink) {
- boolean single = true;
- boolean linkAlreadySeen = false;
- for (Iterator it = endPoints.iterator(); it.hasNext();) {
- String myCompLink = ((WebServiceEndpoint)it.next()).getLinkName();
-
- if (myCompLink.equals(compLink)) {
- if (!linkAlreadySeen) {
- linkAlreadySeen = true;
- }
- else {
- single = false;
- break;
- }
- }
- }
- return single;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletUrlPatternExactCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletUrlPatternExactCheck.java
deleted file mode 100755
index 8e0994d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/ServletUrlPatternExactCheck.java
+++ /dev/null
@@ -1,99 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_27;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The urlpattern of the servlet-mapping must be an exact match pattern
- * (i.e. it must not contain an asterisk (?*?)).
- */
-
-public class ServletUrlPatternExactCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint desc) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- boolean pass = true;
-
- if (desc.implementedByWebComponent()) {
- WebBundleDescriptor webBundle = (WebBundleDescriptor)desc.getBundleDescriptor();
- WebComponentDescriptor webComponent =
- (WebComponentDescriptor) webBundle.
- getWebComponentByCanonicalName(desc.getWebComponentLink());
- if(webComponent != null && webComponent.isServlet()) {
- Enumeration en = webComponent.getUrlPatterns();
- while(en.hasMoreElements()) {
- String pattern =(String) en.nextElement();
- if (pattern.indexOf("*") == -1) {
- // result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The urlpattern for this servlet-mapping [{0}] is exact.",
- new Object[] {pattern}));
-
- }
- else {
- // result.fail
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The urlpattern for this servlet-mapping [{0}] contains '*' and is not exact.",
- new Object[] {pattern}));
-
- pass = false;
- }
- // we assume there is one servlet-mapping specified,
- // this check is done in another test
- break;
- }
- }
- }
- else {
- //result.notapp
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- (getClass().getName() + ".notapp",
- "Not Applicable since this not a JAX-RPC Service Endpoint."));
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSCheck.java
deleted file mode 100755
index 3ad662b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSCheck.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.*;
-
-/**
- * Interface that all Ejb tests implement
- */
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: ;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- */
-
-public interface WSCheck {
-
- Result check(WebServiceEndpoint descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSDLFileCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSDLFileCheck.java
deleted file mode 100755
index e48df28..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSDLFileCheck.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_15; JSR109_WS_25;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The developer is responsible for packaging, either by containment or
- * reference, the WSDL file, Service Endpoint Interface class, Service Implementation Bean
- * class, and their dependent classes, JAX-RPC mapping file along with a Web services
- * deployment descriptor in a J2EE module.
- *
- * The wsdl-file element specifies a location of the WSDL description of a set of Web
- * services. The location is relative to the root of the module and must be specified
- * by the developer.
- */
-
-public class WSDLFileCheck extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-// boolean pass = true;
-
-// File f = Verifier.getArchiveFile(descriptor.getBundleDescriptor().
-// getModuleDescriptor().getArchiveUri());
-// JarFile jarFile = null;
- InputStream deploymentEntry=null;
-
- // wsdl file
- String wsdlUri = descriptor.getWebService().getWsdlFileUri();
-
- try {
-// if (f == null) {
- String uri = getAbstractArchiveUri(descriptor);
-// try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(wsdlUri);
-// }catch (IOException e) { throw e;}
-// }
-// else {
-//
-// jarFile = new JarFile(f);
-// ZipEntry deploymentEntry1 =
-// jarFile.getEntry(wsdlUri);
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
- if (deploymentEntry == null) {
- //result.fail,
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "WSDL file does not exist in the archive at uri [{0}].",
- new Object[] {wsdlUri}));
-
-// pass = false;
- }
- else {
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "WSDL file exists in the archive at uri [{0}].",
- new Object[] {wsdlUri}));
-
- }
- }catch (Exception e) {
- // result.fail
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
-// pass = false;
- }
- finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- }catch(IOException e) {}
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSSchemaLocation.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSSchemaLocation.java
deleted file mode 100644
index 8de35e9..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSSchemaLocation.java
+++ /dev/null
@@ -1,210 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.w3c.dom.Document;
-import org.w3c.dom.Element;
-import org.w3c.dom.Node;
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids:
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: Verify that the schemaLocation in webservices.xml matches the schema file
- * requirement.
- *
- * All webservices deployment descriptors must indicate the
- * webservices schema by using the J2EE namespace:
- *
- * http://java.sun.com/xml/ns/j2ee
- *
- * and by indicating the version of the schema by using the version
- * element as shown below:
- *
- * <webservices 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://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd"
- * version="1.1">
- * ...
- * </webservices>
- *
- *
- * schemaLocation should be:
- * xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
- * http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd">
- *
- * A Web services deployment descriptor is located in a WAR at WEB-INF/webservices.xml.
- */
-
-public class WSSchemaLocation extends WSTest implements WSCheck {
- String myValue = null;
- String[] reqSchemaLocation =
- {"http://java.sun.com/xml/ns/j2ee http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd",
- "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd",
- "http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd"};
- int i;
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String[] reqSchemaLocationSub1 =
- {"http://java.sun.com/xml/ns/j2ee", "http://java.sun.com/xml/ns/javaee"};
- String[] reqSchemaLocationSub2 =
- {"http://www.ibm.com/webservices/xsd/j2ee_web_services_1_1.xsd",
- "http://java.sun.com/xml/ns/javaee/javaee_web_services_1_2.xsd",
- "http://java.sun.com/xml/ns/javaee/javaee_web_services_1_3.xsd"};
- boolean rslt = false;
- String schemaVersion = getVerifierContext().getSchemaVersion();
- Document wsdoc=getVerifierContext().getWebServiceDocument();
- //with jax-ws it is not mandatory to define webservices.xml deployment descriptor
- if (wsdoc == null && schemaVersion.compareTo("1.1") > 0) {
- addGoodDetails(result, compName);
- result.passed(smh.getLocalString(getClass().getName() + ".passed1",
- "Webservices deployment descriptor is not defined for this archive"));
- return result;
- }
-
- try {
- if (wsdoc.getDocumentElement().hasAttributes()) {
- getNode(wsdoc);
- if ( myValue != null) {
- for(i=0; i<reqSchemaLocation.length; i++) {
- rslt = verifySchema(myValue, reqSchemaLocation[i],
- reqSchemaLocationSub1[i], reqSchemaLocationSub2[i]);
- if(rslt) break;
- }
- } else {
- rslt = true; // schemaLocation is optional
- }
- }
- if (rslt) {
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The schemaLocation in the webservices.xml file for [{0}] matches the schema file requirement",
- new Object[] {compName.toString()}));
- }
- else {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The schemaLocation in the webservices.xml file for [{0}] does not match the schema file requirement",
- new Object[] {compName.toString()}));
- }
- }catch (Exception e) {
- //result.fail
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The schemaLocation in the webservices.xml file for [{0}] does not match the schema file requirement",
- new Object[] {compName.toString()}));
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
- }
- return result;
- }
-
- private boolean verifySchema(String nodeval, String reqSchemaLocation,
- String reqSchemaLocationSub1, String reqSchemaLocationSub2){
- try {
- int off1 = reqSchemaLocation.indexOf("http", reqSchemaLocationSub1.length());
- int off2 = nodeval.indexOf("http",reqSchemaLocationSub1.length());
- // 1. separate into 2 substrings and verify
- if ( checkSubString(nodeval, 0,0,reqSchemaLocationSub1.length())
- && checkSubString(nodeval, off1,off2,reqSchemaLocationSub2.length()) ) {
- ; // ok so far
- }
- else {
- // no need to go further, strings are not correct
- return false;
- }
-
- // 2. make sure that there is at least a space between the 2 substrings
- if ( reqSchemaLocation.length() > nodeval.length())
- return false;
-
- // 3. Make sure that there is only whitespace as separation between the two substrings
- // java whitespace is one of the following:
- /*
- It is a Unicode space character (SPACE_SEPARATOR, LINE_SEPARATOR, or
- PARAGRAPH_SEPARATOR) but is not also a non-breaking space ('\u00A0', '\u2007',
- '\u202F').
-
- It is '\u0009', HORIZONTAL TABULATION.
- It is '\u000A', LINE FEED.
- It is '\u000B', VERTICAL TABULATION.
- It is '\u000C', FORM FEED.
- It is '\u000D', CARRIAGE RETURN.
- It is '\u001C', FILE SEPARATOR.
- It is '\u001D', GROUP SEPARATOR.
- It is '\u001E', RECORD SEPARATOR.
- It is '\u001F', UNIT SEPARATOR.
-
- */
-
- for ( int i = reqSchemaLocationSub1.length(); i < off2; i++) {
- if ( !(Character.isWhitespace(nodeval.charAt(i))) ) {
- return false;
- }
- }
-
- }catch (Exception e) {
- e.toString();
- e.printStackTrace();
- }
- return true;
- }
- private boolean checkSubString(String str , int off1, int off2, int len) {
- if (reqSchemaLocation[i].regionMatches(off1, str, off2, len)) {
- return true;
- }
- return false;
- }
-
- public void getNode(Node node) {
-
- String name = node.getNodeName();
- int myType = node.getNodeType();
- // type 1 = Element
- if ( ( myType == 1 ) & (name.equals("webservices") )) {
- Element e = (Element)node;
- myValue = e.getAttribute("xsi:schemaLocation");
- return;
- }
- if (node.hasChildNodes()) {
- Node firstChild = node.getFirstChild();
- getNode(firstChild);
- }
- Node nextNode = node.getNextSibling();
- if (nextNode != null) getNode(nextNode);
- return ;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSTest.java
deleted file mode 100644
index 1e24100..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSTest.java
+++ /dev/null
@@ -1,253 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.*;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-
-import java.lang.ClassLoader;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.util.io.FileUtils;
-
-import java.lang.reflect.*;
-
-import java.io.File;
-
-/**
- * Superclass for all EJB tests, contains common services.
- *
- * @version
- */
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: ;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- */
-
-public abstract class WSTest extends VerifierTest implements VerifierCheck, WSCheck {
-
- /**
- * <p>
- * run an individual test against the deployment descriptor for the
- * archive the verifier is performing compliance tests against.
- * </p>
- *
- * @paramm descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor) {
- return check((WebServiceEndpoint) descriptor);
- }
-
- // tests which require the WebService descriptor can obtain it from the WebServiceEndpoint
- // similarly tests which require WebServiceDescriptor can query one more level up to get the
- // descriptor.
- /**
- * @param descriptor deployment descriptor for the archive file
- * @return result object containing the result of the individual test performed
- */
- public abstract Result check(WebServiceEndpoint descriptor);
-
- /**
- * <p>
- * load the declared SEI class from the archive
- * </p>
- *
- * @param descriptor the deployment descriptors for the WebService
- * @param result result to use if the load fails
- * @return the class object for the Service Endpoint Interface
- */
- protected Class loadSEIClass(WebServiceEndpoint descriptor, Result result) {
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- Class cl = Class.forName(descriptor.getServiceEndpointInterface(), false, getVerifierContext().getClassLoader());
- result.passed(smh.getLocalString (
- "com.sun.enterprise.tools.verifier.tests.webservices.clpassed",
- "The [{0}] Class [{1}] exists and was loaded successfully.",
- new Object[] {"SEI",descriptor.getServiceEndpointInterface()}));
- return cl;
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.WSTest.SEIClassExists",
- "Error: Service Endpoint Interface class [ {0} ] not found.",
- new Object[] {descriptor.getServiceEndpointInterface()}));
- return null;
- }
- }
-
- /**
- * <p>
- * load the declared Service Impl Bean class from the archive
- * </p>
- *
- * @param descriptor the deployment descriptors for the WebService
- * @param result result to use if the load fails
- * @return the class object for the Service Endpoint Interface
- */
- protected Class loadImplBeanClass(WebServiceEndpoint descriptor, Result result) {
- // here we could be an EJB Endpoint or a Servlet Endpoint take care of that
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- String beanClassName = null;
-
- if (descriptor.implementedByEjbComponent()) {
- beanClassName = descriptor.getEjbComponentImpl().getEjbClassName();
- }
- else if (descriptor.implementedByWebComponent()) {
- WebComponentDescriptor wcd = descriptor.getWebComponentImpl();
- if(wcd!=null)
- beanClassName = wcd.getWebComponentImplementation();
- }
- else {
- //result.fail, neither implemented by web nor EJB
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"The WebService is neither implemented by an EJB nor a Servlet"}));
- }
- if (beanClassName != null) {
- try {
- VerifierTestContext context = getVerifierContext();
- ClassLoader jcl = context.getClassLoader();
- return Class.forName(beanClassName, false, getVerifierContext().getClassLoader());
- }
- catch (ClassNotFoundException e) {
- Verifier.debug(e);
- result.failed(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.WSTest.BeanClassExists",
- "Error: Service Endpoint Implementation Bean class [ {0} ] not found.",
- new Object[] {beanClassName}));
- return null;
- }
- }
- //result.fail , beanclass name is NULL
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"The Servlet Impl Bean class name could not be resolved"}));
-
- return null;
- }
-
- public boolean isSEIMethod (MethodDescriptor mdesc, EjbDescriptor desc, Class sei, ClassLoader cl) {
-
- Method[] seiMeths = sei.getMethods();
- Method methToBeTested = null;
-
- try {
- methToBeTested = mdesc.getMethod(desc);
- } catch(Exception e) {
- // internal error cannot get Method for MethodDescriptor
- /*
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
- */
- return false;
- }
-
- for (int i=0; i < seiMeths.length; i++) {
- if (WSTest.matchesSignatureAndReturn(seiMeths[i], methToBeTested))
- return true;
- }
- return false;
- }
-
- public static boolean matchesSignatureAndReturn (Method meth1, Method meth2) {
-
- if (!(meth1.getName()).equals(meth2.getName()))
- return false;
-
- /*
- int mod1 = meth1.getModifiers();
- int mod2 = meth2.getModifiers();
-
- if (mod1 != mod2)
- return false;
- */
-
- Class ret1 = meth1.getReturnType();
- Class ret2 = meth2.getReturnType();
- if (ret1 != ret2)
- return false;
-
- Class[] param1 = meth1.getParameterTypes();
- Class[] param2 = meth2.getParameterTypes();
-
- if(param1.length != param2.length)
- return false;
-
- for(int i = 0; i < param1.length; i++)
- if(param1[i] != param2[i])
- return false;
-
-
- // for exceptions, every exception in meth2 should be defined
- // in meth1
- Class[] excep1 = meth1.getExceptionTypes();
- Class[] excep2 = meth2.getExceptionTypes();
-
- for(int i = 0; i < excep2.length; i++) {
- if(!isMatching(excep2[i], excep1))
- return false;
- }
-
- return true;
- }
-
- private static boolean isMatching(Class cl, Class[] classes) {
-
- for (int i= 0; i < classes.length; i++) {
- /*
- if (classes[i].isAssignableFrom(cl))
- return true;
- if (cl.isAssignableFrom(classes[i]))
- return true;
- */
- if (classes[i].equals(cl))
- return true;
- }
- return false;
- }
-
- protected String getAbstractArchiveUri(WebServiceEndpoint desc) {
- String archBase = getVerifierContext().getAbstractArchive().
- getURI().toString();
- final ModuleDescriptor moduleDescriptor = desc.getBundleDescriptor().
- getModuleDescriptor();
- if (moduleDescriptor.isStandalone()) {
- return archBase; // it must be a stand-alone module; no such physical dir exists
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(moduleDescriptor.getArchiveUri());
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSWsdlPort.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSWsdlPort.java
deleted file mode 100644
index 38299f2..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSWsdlPort.java
+++ /dev/null
@@ -1,104 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-import javax.xml.namespace.QName;
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids:
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription:
- * Requirement from Web Service for J2EE, Version 1.0
- * Section 7.1.2
- * " Port s QName. In addition to specifying the WSDL document,
- * the developer must also specify the WSDL port QName in the
- * wsdl-port element for each Port defined in the deployment descriptor.
- * Requirement from Web Service for J2EE, Version 1.0
- * 7.1.5 Web Services Deployment Descriptor DTD
- * <!-- The port-component element associates a WSDL port with a
- * Web service interface and implementation. It defines the name
- * of the port as a component, optional description, optional display name,
- * optional iconic representations, WSDL port QName, Service Endpoint Interface,
- * Service Implementation Bean. Used in: webservices -->
- * <!ELEMENT port-component (description?, display-name?, small-icon?, large-icon?,
- * port-component-name, wsdl-port, service-endpoint-interface, service-impl-bean, handler*)>
- */
-
-public class WSWsdlPort extends WSTest implements WSCheck {
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean pass = true;
- try {
-
- javax.xml.namespace.QName wsdlport = descriptor.getWsdlPort();
- // check to see that wsdl-port is specified in the service endpoint.
- if ( wsdlport != null) {
- // get the local part
- String localpart = wsdlport.getLocalPart();
- // String namespaceuri = wsdlport.getNamespaceURI();
-
- if ( localpart == null || localpart.equals("") ) {
- // Error: localpart is not specified
- pass = false;
- }
-
- //if ( namespaceuri == null || namespaceuri.equals("")) {
- //pass = false;
- //}
-
- } else {
- // Error: wsdl-port is missing for this endpoint
- pass = false;
- }
-
- if (pass) {
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The wsdl-port in the webservices.xml file for [{0}] is specified for the endpoint",
- new Object[] {compName.toString()}));
- }
- else {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The wsdl-port in the webservices.xml file for [{0}] is not correctly specified for the endpoint",
- new Object[] {compName.toString()}));
- }
- }catch (Exception e) {
- //result.fail
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
- }
- return result;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSWsdlPortComponentName.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSWsdlPortComponentName.java
deleted file mode 100644
index 93460f5..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSWsdlPortComponentName.java
+++ /dev/null
@@ -1,84 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-import com.sun.enterprise.deployment.WebServiceEndpoint;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-/*
- * @class.setup_props: ;
- */
-/*
- * @testName: check
- * @assertion_ids:
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription:
- *
- * from Web Services for J2EE, Version 1.0
- * Section 7.1.2
- * The developer is responsible for providing the following information in the webservices.xml deployment descriptor:
- * " Port s name. A logical name for the port must be specified by the developer using the port-component-name element.
- * This name bears no relationship to the WSDL port name.
- * This name must be unique amongst all port component names in a module.
- * - verify that port-component-name appears in the webservices.xml file
- * - verify that the name is unique. Note: current dol issue with uniqueness test
- * it does not return non unique endpoints.
- */
-
-public class WSWsdlPortComponentName extends WSTest implements WSCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean pass = true;
- String portcomponentname = null;
- try {
-
- portcomponentname = descriptor.getEndpointName();
- if ( portcomponentname == null || portcomponentname.equals("") )
- pass = false;
-
- if (pass) {
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The webservices.xml file for [ {0} ] has the port-component-name element specified.",
- new Object[] {compName.toString()}));
- }
- else {
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The webservices.xml file for [ {0} ] does not have the port-component-name element specified.",
- new Object[] {compName.toString()}));
- }
- }catch (Exception e) {
- //result.fail
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
- }
- return result;
- }
-}
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSXMLLocCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSXMLLocCheck.java
deleted file mode 100755
index 0788c2b..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/webservices/WSXMLLocCheck.java
+++ /dev/null
@@ -1,135 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.webservices;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_16; JSR109_WS_17;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The Web services deployment descriptor location within the EJB-JAR file
- * is META-INF/webservices.xml.
- *
- * A Web services deployment descriptor is located in a WAR at WEB-INF/webservices.xml.
- */
-
-public class WSXMLLocCheck extends WSTest implements WSCheck {
-
- // webservices.xml
- private String ejbWSXmlLoc = "META-INF/webservices.xml";
- private String jaxrpcWSXmlLoc = "WEB-INF/webservices.xml";
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (WebServiceEndpoint descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
-// boolean pass = true;
-
-// File f = Verifier.getArchiveFile(descriptor.getBundleDescriptor().
-// getModuleDescriptor().getArchiveUri());
-// JarFile jarFile = null;
- InputStream deploymentEntry=null;
-
- try {
-// if (f == null) {
- String uri = getAbstractArchiveUri(descriptor);
-// try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- if (descriptor.implementedByEjbComponent()) {
- deploymentEntry = arch.getEntry(ejbWSXmlLoc);
- }
- else if (descriptor.implementedByWebComponent()) {
- deploymentEntry = arch.getEntry(jaxrpcWSXmlLoc);
- }
- else {
- throw new Exception("Niether implemented by EJB nor by WEB Component");
- }
-// }catch (IOException e) { throw e;}
-// }
-// else {
-//
-// jarFile = new JarFile(f);
-// ZipEntry deploymentEntry1 = null;
-// if (descriptor.implementedByEjbComponent()) {
-// deploymentEntry1 = jarFile.getEntry(ejbWSXmlLoc);
-// }
-// else if (descriptor.implementedByWebComponent()) {
-// deploymentEntry1 = jarFile.getEntry(jaxrpcWSXmlLoc);
-// }
-// else {
-// throw new Exception("Niether implemented by EJB nor by WEB Component");
-// }
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
- if (deploymentEntry != null) {
- // webservices XML exists
- // result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The webservices.xml file for [{0}] is located at the correct place.",
- new Object[] {compName.toString()}));
-
- }
- else {
- // ws xml is does not exist
- //result.fail
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The webservices.xml file for [{0}] is not located in WEB-INF/META-INF directory as applicable.",
- new Object[] {compName.toString()}));
-
-// pass = false;
- }
- }catch (Exception e) {
- //result.fail
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
-// pass = false;
- }
- finally {
-
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- }catch (IOException e) {}
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/HandlerPortNameCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/HandlerPortNameCheck.java
deleted file mode 100755
index 1cdffcf..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/HandlerPortNameCheck.java
+++ /dev/null
@@ -1,105 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import java.util.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.lang.reflect.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_56;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: Handler Port Names are valid
- */
-
-// portnames : verify that all the portnames exist in the WebService
-public class HandlerPortNameCheck extends WSClientTest implements WSClientCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (ServiceReferenceDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.hasHandlers()) {
- Collection allPortNames = getAllPortNamesInService(descriptor);
- List handlerChain = descriptor.getHandlerChain();
- for (Iterator it = handlerChain.iterator(); it.hasNext();) {
- Collection c = ((WebServiceHandler)it.next()).getPortNames();
- Collection invalid = getInvalidHandlerPortNames(c,allPortNames);
- if (invalid.size() > 0) {
- //result.fail
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "The Port Name(s) in the Handler Chain are invalid."));
- }
- else {
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName()+ ".passed",
- "Port Name(s) in the Handler-Chain are valid."));
-
- }
- }
- }
- else {
- // result.NotApplicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]", new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString (getClass().getName() + ".notapp",
- "Not Applicable since No handlers defined in this WebService."));
- }
-
- return result;
- }
-
- private Collection getAllPortNamesInService(ServiceReferenceDescriptor descriptor) {
-
- Collection endPoints = descriptor.getPortsInfo();
- Vector<String> ret = new Vector<String>();
- for (Iterator it = endPoints.iterator(); it.hasNext();) {
- ret.add(((ServiceRefPortInfo)it.next()).getPortComponentLinkName());
- }
- return ret;
- }
-
- private Collection getInvalidHandlerPortNames(Collection hpNames, Collection allPortNames) {
-
- Vector<String> ret = new Vector<String>();
- for (Iterator it = hpNames.iterator(); it.hasNext();) {
- String currName = (String)it.next();
- if (!allPortNames.contains(currName))
- ret.add(currName);
- }
- return ret;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/MappingFileCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/MappingFileCheck.java
deleted file mode 100755
index 204f30d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/MappingFileCheck.java
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_51;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The developer must specify the jaxrpc-mapping-file if the wsdl-file is
- * specified. jaxrpc-mapping-file The file name is a relative path within the module.
- */
-public class MappingFileCheck extends WSClientTest implements WSClientCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (ServiceReferenceDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (descriptor.hasWsdlFile()) {
-
- if(descriptor.hasMappingFile()) {
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed1",
- "Mapping file specified because WSDL file is also specified."));
-
- }
- else {
- //result.fail, has wsdl but no mapping
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed1",
- "The webservice client [{0}] has a WSDL file specified but no Mapping File.",
- new Object[] {compName.toString()}));
- }
- }
- else {
- if(descriptor.hasMappingFile()) {
- //result.fail, mapping without WSDL
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed1",
- "The webservice client [{0}] has a Mapping file specified but no WSDL File.",
- new Object[] {compName.toString()}));
- }
- else {
- //result.pass, neither WSDL nor Mapping
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed2",
- "Mapping file found at location [{0}] in archive.",
- new Object[] {descriptor.getMappingFileUri()}));
- }
- }
-
- if (descriptor.hasMappingFile()) {
- // maybe we should not depend on DOL to get the location of Mapping file
- String mappingFile = descriptor.getMappingFileUri();
-
-// File f = Verifier.getArchiveFile(descriptor.getBundleDescriptor().
-// getModuleDescriptor().getArchiveUri());
-// JarFile jarFile = null;
- InputStream deploymentEntry=null;
-
- try {
-
-// if (f == null) {
- String uri = getAbstractArchiveUri(descriptor);
-// try {
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(mappingFile);
-// }catch (IOException e) { throw e;}
-// }
-// else {
-//
-// jarFile = new JarFile(f);
-// ZipEntry deploymentEntry1 =
-// jarFile.getEntry(mappingFile);
-// deploymentEntry = jarFile.getInputStream(deploymentEntry1);
-// }
- if (deploymentEntry == null) {
- //result.fail, mapping file does not exist at that location
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The mapping file does not exist at the specified location [{0}] in the archive.",
- new Object[] {mappingFile}));
- }
- else {
-
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "Mapping file found at location [{0}] in archive.",
- new Object[] {mappingFile}));
- }
- }catch (Exception e) {
- // result.fail, mapping file does not exist at that location
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The mapping file does not exist at the specified location [{0}] in the archive.",
- new Object[] {mappingFile}));
-
- }
- finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- }catch(IOException e) {}
- }
- }
- else {
- //result.notapplicable. Mapping file exists check not applicable
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ( getClass().getName() + ".notapp",
- "This webservice client does not have a Mapping File."));
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/MappingFileOnlyIfWSDLFileCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/MappingFileOnlyIfWSDLFileCheck.java
deleted file mode 100755
index cb718c4..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/MappingFileOnlyIfWSDLFileCheck.java
+++ /dev/null
@@ -1,83 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.io.IOException;
-import java.lang.reflect.*;
-import java.util.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_48;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: If the wsdl-file is not specified in the deployment descriptor, the
- * jaxrpc-mapping-file must not be specified.
- */
-
-public class MappingFileOnlyIfWSDLFileCheck extends WSClientTest implements WSClientCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (ServiceReferenceDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- if (!descriptor.hasWsdlFile()) {
- if (descriptor.hasMappingFile()) {
- // result.fail, mapping file specified without WSDL
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "Mapping file specified for this webservice [{0}] without a corresponding WSDL file.",
- new Object[] {compName.toString()}));
- }
- else {
- // result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "No Mapping file specified since there is no WSDL file."));
-
- }
- }
- else {
- // not applicable
- // NOTE: the other way around things are being checked in another test
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ( getClass().getName() + ".notapp",
- "Not Applicable since there is a WSDL file specified."));
-
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/PortCompRefSEIClassCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/PortCompRefSEIClassCheck.java
deleted file mode 100755
index 85f955d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/PortCompRefSEIClassCheck.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.util.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_57;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The service-endpoint-interface element defines a fully qualified Java class
- * that represents the Service Endpoint Interface of a WSDL port.
- */
-
-public class PortCompRefSEIClassCheck extends WSClientTest implements WSClientCheck {
- ComponentNameConstructor compName;
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (ServiceReferenceDescriptor descriptor) {
-
- Result result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- boolean pass = true;
-
- Collection ports = descriptor.getPortsInfo();
-
- for (Iterator it=ports.iterator(); it.hasNext();) {
- ServiceRefPortInfo ref = (ServiceRefPortInfo)it.next();
- if (!loadSEIClass(ref,result)) {
- //result.fail ref.getName(), ref.getServiceEndpointInterface
- result.addErrorDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString
- (getClass().getName() + ".failed",
- "Error: Service Endpoint Interface class [ {0} ] not found.",
- new Object[] {ref.getServiceEndpointInterface()}));
-
- pass = false;
- }
- else {
- //result.pass
- result.addGoodDetails(smh.getLocalString
- ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "Service Endpoint Interface class [ {0} ] found.",
- new Object[] {ref.getServiceEndpointInterface()}));
-
- }
- }
-
- return result;
- }
-
- private boolean loadSEIClass(ServiceRefPortInfo ref, Result result) {
-
- boolean pass = true;
-
- if (ref.hasServiceEndpointInterface()) {
- try {
- Class.forName(ref.getServiceEndpointInterface(), false, getVerifierContext().getClassLoader());
- } catch (ClassNotFoundException e) {
- Verifier.debug(e);
- pass = false;
- }
- }
- else {
- //result.not applicable (SEI not specified)
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ( getClass().getName() + ".notapp",
- "Not applicable since Service reference does not specify an SEI."));
-
- }
- return pass;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/PortComponentLinkValidCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/PortComponentLinkValidCheck.java
deleted file mode 100755
index 9ab2e47..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/PortComponentLinkValidCheck.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-
-import java.util.Collection;
-import java.util.Iterator;
-import java.util.LinkedList;
-import java.util.Set;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_55;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The port-component-link element links a port-component-ref to a
- * specific port-component required to be made available by a service reference.
- * The value of a port-component-link must be the port-component-name of a port-component
- * in the same module or another module in the same application unit. The syntax for
- * specification follows the syntax defined for ejb-link in the EJB 2.0 specification.
- */
-
-public class PortComponentLinkValidCheck extends WSClientTest implements WSClientCheck {
- ComponentNameConstructor compName;
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (ServiceReferenceDescriptor descriptor) {
-
- Result result = getInitializedResult();
- compName = getVerifierContext().getComponentNameConstructor();
-
- boolean pass = true;
-
- Collection ports = descriptor.getPortsInfo();
-
- for (Iterator it=ports.iterator(); it.hasNext();) {
- ServiceRefPortInfo ref = (ServiceRefPortInfo)it.next();
-
- // check if this test is applicable first
- if (!ref.hasPortComponentLinkName()) {
- //result.notapplicable, since port-comp-link does not exist in port-comp-ref
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ( getClass().getName() + ".notapp",
- "Not applicable since port-comp-link does not exist in port-comp-ref [{0}].",
- new Object[] {ref.getName()}));
- }
-
- else if (ref.getPortComponentLink() != null) {
- pass = true;
- }
- else if (!isLinkValid(ref)) {
- //result.fail ref.getName(), ref.getPortComponentLinkName()
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "Invalid port-component-link [{0}] in WebService client [{1}].",
- new Object[] {ref.getPortComponentLinkName(),compName.toString()}));
- pass = false;
- }
-
- }
- if (pass) {
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "All port-component-link(s) in this service reference are valid."));
- }
- return result;
- }
-
- private boolean isLinkValid(ServiceRefPortInfo ref) {
- boolean pass = true;
-
- WebServiceEndpoint port = null;
-
- String linkName = ref.getPortComponentLinkName();
-// == get the application
- Application application =
- ref.getServiceReference().getBundleDescriptor().getApplication();
-
- if( (linkName != null) && (linkName.length() > 0) && (application != null) ) {
- int hashIndex = linkName.indexOf('#');
-// boolean absoluteLink = (hashIndex != -1);
- // Resolve <module>#<port-component-name> style link
- String relativeModuleUri = linkName.substring(0, hashIndex);
- String portName = linkName.substring(hashIndex + 1);
-// == get bundle(s)
- Set webBundles = application.getBundleDescriptors(WebBundleDescriptor.class);
- Set ejbBundles = application.getBundleDescriptors(EjbBundleDescriptor.class);
-// ==
- // iterate through the ejb jars in this J2EE Application
- Iterator ejbBundlesIterator = ejbBundles.iterator();
- EjbBundleDescriptor ejbBundle = null;
-// == while...
- while (ejbBundlesIterator.hasNext()) {
- ejbBundle = (EjbBundleDescriptor)ejbBundlesIterator.next();
-// if (Verifier.getEarFile() != null){
- try {
- String archiveuri = ejbBundle.getModuleDescriptor().getArchiveUri();
- if ( relativeModuleUri.equals(archiveuri) ) {
- LinkedList<EjbBundleDescriptor> bundles = new LinkedList<EjbBundleDescriptor>();
- bundles.addFirst(ejbBundle);
- for(Iterator iter = bundles.iterator(); iter.hasNext();) {
- BundleDescriptor next = (BundleDescriptor) iter.next();
- port = next.getWebServiceEndpointByName(portName);
- if( port != null ) {
- pass = true;
- break;
- }
- }
- }
- }catch(Exception e) {}
-// }
- } // while block
-
- // iterate through the wars in this J2EE Application
- Iterator webBundlesIterator = webBundles.iterator();
- WebBundleDescriptor webBundle = null;
-// == while...
- while (webBundlesIterator.hasNext()) {
- webBundle = (WebBundleDescriptor)webBundlesIterator.next();
-// if (Verifier.getEarFile() != null){
- try {
- String archiveuri = webBundle.getModuleDescriptor().getArchiveUri();
- if ( relativeModuleUri.equals(archiveuri) ) {
- LinkedList<WebBundleDescriptor> bundles = new LinkedList<WebBundleDescriptor>();
- bundles.addFirst(webBundle);
- for(Iterator iter = bundles.iterator(); iter.hasNext();) {
- BundleDescriptor next = (BundleDescriptor) iter.next();
- port = next.getWebServiceEndpointByName(portName);
- if( port != null ) {
- pass = true;
- break;
- }
- }
- }
- }catch(Exception e) {}
-// }
- } // while block
- } //
- if ( port == null)
- pass = false;
- return pass;
-
- } // end of method
-
- }
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/ServiceRefCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/ServiceRefCheck.java
deleted file mode 100755
index 1dcb649..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/ServiceRefCheck.java
+++ /dev/null
@@ -1,94 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import java.io.IOException;
-import java.lang.reflect.*;
-import java.util.*;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_49;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The service-interface element declares the fully qualified class name of
- * the JAX-RPC Service interface the client depends on. In most cases the value will be
- * javax.xml.rpc.Service. A JAX-RPC generated Service Interface class may also be specified.
- */
-
-public class ServiceRefCheck extends WSClientTest implements WSClientCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (ServiceReferenceDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
- boolean pass = true;
-
- if (descriptor.hasGenericServiceInterface()) {
- //result.pass , has generic service interface
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "The JAX-RPC Service interface the client depends on is the Generic Service Interface."));
-
-
- }
- else if (descriptor.hasGeneratedServiceInterface()) {
- String intf = descriptor.getServiceInterface();
- try {
- Class cl = Class.forName(intf, false, getVerifierContext().getClassLoader());
- // result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed1",
- "The JAX-RPC Service interface the client depends on is a Generated Service Interface [{0}].",
- new Object[] {intf}));
-
- }catch (ClassNotFoundException e) {
- //result.fail; Generated service interface class does not exist
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "The JAX-RPC Service interface the client depends on [{0}] could not be loaded.",
- new Object[] {intf}));
-
- pass = false;
- }
- }
- else {
- //result.internal error, its neither type, or error in XML
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {"Service Interface Neither Generic nor Generated"}));
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSClientCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSClientCheck.java
deleted file mode 100755
index c95c1fd..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSClientCheck.java
+++ /dev/null
@@ -1,38 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.deployment.*;
-
-/**
- * Interface that all Ejb tests implement
- */
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: ;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- */
-
-public interface WSClientCheck {
-
- Result check(ServiceReferenceDescriptor descriptor);
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSClientTest.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSClientTest.java
deleted file mode 100644
index c5cc0f1..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSClientTest.java
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.util.io.FileUtils;
-
-import java.io.File;
-import java.lang.ClassLoader;
-
-
-/**
- * Superclass for all EJB tests, contains common services.
- *
- * @version
- */
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: ;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- */
-
-public abstract class WSClientTest extends VerifierTest implements VerifierCheck, WSClientCheck {
-
- /**
- * <p>
- * run an individual test against the deployment descriptor for the
- * archive the verifier is performing compliance tests against.
- * </p>
- *
- * @param descriptor deployment descriptor for the archive
- * @return result object containing the result of the individual test
- * performed
- */
- public Result check(Descriptor descriptor) {
- return check((ServiceReferenceDescriptor) descriptor);
- }
-
- /**
- * @param descriptor deployment descriptor for the archive file
- * @return result object containing the result of the individual test
- * performed
- */
- public abstract Result check(ServiceReferenceDescriptor descriptor);
-
- protected String getAbstractArchiveUri(ServiceReferenceDescriptor desc) {
- String archBase = getVerifierContext().getAbstractArchive().
- getURI().toString();
- final ModuleDescriptor moduleDescriptor = desc.getBundleDescriptor().
- getModuleDescriptor();
- if (moduleDescriptor.isStandalone()) {
- return archBase; // it must be a stand-alone module; no such physical dir exists
- } else {
- return archBase + "/" +
- FileUtils.makeFriendlyFilename(moduleDescriptor.getArchiveUri());
- }
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSDLFileCheck.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSDLFileCheck.java
deleted file mode 100755
index b5c4d15..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/tests/wsclients/WSDLFileCheck.java
+++ /dev/null
@@ -1,120 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.tests.wsclients;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.*;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.*;
-import java.net.URL;
-
-/*
- * @class.setup_props: ;
- */
-
-/*
- * @testName: check
- * @assertion_ids: JSR109_WS_50;
- * @test_Strategy:
- * @class.testArgs: Additional arguments (if any) to be passed when execing the client
- * @testDescription: The wsdl-file element specifies a location of the WSDL description of the
- * service. The location is relative to the root of the module. The WSDL description may be a
- * partial WSDL, but must at least include the portType and binding elements.
- */
-
-public class WSDLFileCheck extends WSClientTest implements WSClientCheck {
-
- /**
- * @param descriptor the WebServices descriptor
- * @return <code>Result</code> the results for this assertion
- */
- public Result check (ServiceReferenceDescriptor descriptor) {
-
- Result result = getInitializedResult();
- ComponentNameConstructor compName = getVerifierContext().getComponentNameConstructor();
-
- InputStream deploymentEntry=null;
-
- // wsdl file
- if (descriptor.hasWsdlFile()) {
- String wsdlUri = descriptor.getWsdlFileUri();
- URL url = null;
- try {
- url = new URL(wsdlUri);
- } catch(java.net.MalformedURLException e) {
- // don't care, will eventuall fail below
- }
- if (url != null) {
- if ("http".equals(url.getProtocol()) || "https".equals(url.getProtocol())) {
- return result;
- }
- }
- try {
- String uri = getAbstractArchiveUri(descriptor);
- FileArchive arch = new FileArchive();
- arch.open(uri);
- deploymentEntry = arch.getEntry(wsdlUri);
-
- if (deploymentEntry == null) {
- //result.fail,
- result.addErrorDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.failed(smh.getLocalString (getClass().getName() + ".failed",
- "WSDL file does not exist in the archive at uri [{0}].",
- new Object[] {wsdlUri}));
- }
- else {
- //result.pass
- result.addGoodDetails(smh.getLocalString ("tests.componentNameConstructor",
- "For [ {0} ]", new Object[] {compName.toString()}));
- result.passed(smh.getLocalString (getClass().getName() + ".passed",
- "WSDL file exists in the archive at uri [{0}].",
- new Object[] {wsdlUri}));
-
- }
- }catch (Exception e) {
- // result.fail
- result.addErrorDetails(smh.getLocalString
- ("com.sun.enterprise.tools.verifier.tests.webservices.Error",
- "Error: Unexpected error occurred [ {0} ]",
- new Object[] {e.getMessage()}));
- }
- finally {
- try {
- if (deploymentEntry != null)
- deploymentEntry.close();
- }catch (IOException e) {}
- }
-
- }
- else {
- //result.notapplicable since no wsdl specified
- result.addNaDetails(smh.getLocalString
- ("tests.componentNameConstructor", "For [ {0} ]",
- new Object[] {compName.toString()}));
- result.notApplicable(smh.getLocalString
- ( getClass().getName() + ".notapp",
- "Not applicable since Service Client does not have a WSDL file specified."));
-
- }
-
- return result;
- }
- }
-
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/LogDomains.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/LogDomains.java
deleted file mode 100644
index a622c51..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/LogDomains.java
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.util;
-
-import java.util.Hashtable;
-import java.util.logging.Logger;
-
-/**
- * Class LogDomains
- */
-public class LogDomains {
-
-
- private static final String DOMAIN_ROOT = "javax.enterprise.";
-
- public static final String AVK_VERIFIER_LOGGER =
- DOMAIN_ROOT + "system.tools.avk.tools.verifier";
-
- public static final String AVK_APPVERIFICATION_LOGGER =
- DOMAIN_ROOT + "system.tools.avk.appverification";
-
- public static final String AVK_APPVERIFICATION_TOOLS_LOGGER =
- DOMAIN_ROOT + "system.tools.avk.appverification.tools";
-
- public static final String AVK_APPVERIFICATION_XML_LOGGER =
- DOMAIN_ROOT + "system.tools.avk.appverification.xml";
-
- // RESOURCE_BUNDLES the name of the logging resource bundles.
-
- private static final String PACKAGE_ROOT = "com.sun.enterprise.";
-
- private static final String AVK_VERIFIER_BUNDLE =
- PACKAGE_ROOT + "tools.verifier.LocalStrings";
-
- // Note that these 3 bundles are packaged only in javke.jar and
- // they are not present in appserv-rt.jar
- private static final String AVK_APPVERIFICATION_BUNDLE =
- PACKAGE_ROOT + "appverification.LocalStrings";
-
- private static final String AVK_APPVERIFICATION_TOOLS_BUNDLE =
- PACKAGE_ROOT + "appverification.tools.LocalStrings";
-
- private static final String AVK_APPVERIFICATION_XML_BUNDLE =
- PACKAGE_ROOT + "appverification.xml.LocalStrings";
-
- // static field
- private static Hashtable<String, Logger> loggers = null;
-
- // static initializer
- static {
- loggers = new Hashtable<String, Logger>();
- loggers.put(AVK_VERIFIER_LOGGER,
- Logger.getLogger(AVK_VERIFIER_LOGGER,
- AVK_VERIFIER_BUNDLE));
- // When run in instrumentation mode, with javke.jar in classpath
- // the calls below will succeed
- try {
- loggers.put(AVK_APPVERIFICATION_LOGGER,
- Logger.getLogger(AVK_APPVERIFICATION_LOGGER,
- AVK_APPVERIFICATION_BUNDLE));
- loggers.put(AVK_APPVERIFICATION_TOOLS_LOGGER,
- Logger.getLogger(AVK_APPVERIFICATION_TOOLS_LOGGER,
- AVK_APPVERIFICATION_TOOLS_BUNDLE));
- loggers.put(AVK_APPVERIFICATION_XML_LOGGER,
- Logger.getLogger(AVK_APPVERIFICATION_XML_LOGGER,
- AVK_APPVERIFICATION_XML_BUNDLE));
- }catch(Exception e) {
- // during normal appserver-run, these 3 initializations will fail
- }
- }
-
- private LogDomains() {} // prevent instance creation
-
- public static Logger getLogger(String name) {
- return loggers.get(name);
- }
-
- public static Logger getDefaultLogger() {
- return loggers.get(AVK_VERIFIER_LOGGER);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/VerifierConstants.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/VerifierConstants.java
deleted file mode 100644
index f8633fe..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/VerifierConstants.java
+++ /dev/null
@@ -1,30 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.util;
-
-/**
- * Class of constant variables used in verifier runtime.
- * @author Vikas Awasthi
- */
-public class VerifierConstants {
-
- public static final int FAIL = 0;
- public static final int WARN = 1;
- public static final int ALL = 2;
-
- public static final String CFG_RESOURCE_PREFIX = "com/sun/enterprise/tools/verifier/config/";
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/VerifierFormatter.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/VerifierFormatter.java
deleted file mode 100644
index 1fed6b8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/VerifierFormatter.java
+++ /dev/null
@@ -1,58 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.util;
-
-import java.util.logging.SimpleFormatter;
-import java.util.logging.LogRecord;
-import java.io.StringWriter;
-import java.io.PrintWriter;
-
-/**
- * The formatter class to suppress printing Date and Class information
- * in the logged messages. It overrides the format(...) api of SimpleFormatter
- * to provide the implementation.
- *
- * @author Vikas Awasthi
- */
-public class VerifierFormatter extends SimpleFormatter {
-
- private String lineSeparator = (String) java.security.AccessController.doPrivileged(
- new sun.security.action.GetPropertyAction("line.separator"));
-
- public synchronized String format(LogRecord record) {
- StringBuilder sb = new StringBuilder();
- StringBuilder text = new StringBuilder();
- sb.append(text);
- sb.append(" ");
- String message = formatMessage(record);
- sb.append(record.getLevel().getLocalizedName());
- sb.append(": ");
- sb.append(message);
- sb.append(lineSeparator);
- if (record.getThrown() != null) {
- try {
- StringWriter sw = new StringWriter();
- PrintWriter pw = new PrintWriter(sw);
- record.getThrown().printStackTrace(pw);
- pw.close();
- sb.append(sw.toString());
- } catch (Exception ex) {
- }
- }
- return sb.toString();
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/XMLValidationHandler.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/XMLValidationHandler.java
deleted file mode 100644
index fbf4815..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/util/XMLValidationHandler.java
+++ /dev/null
@@ -1,175 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.util;
-
-import org.xml.sax.SAXParseException;
-import org.xml.sax.SAXException;
-import org.xml.sax.helpers.DefaultHandler;
-import org.xml.sax.InputSource;
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-
-import com.sun.enterprise.deployment.xml.DTDRegistry;
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-
-import java.util.Hashtable;
-import java.util.logging.Logger;
-import java.util.logging.Level;
-
-/**
- *
- * @author dochez
- * @version
- */
-public class XMLValidationHandler extends DefaultHandler {
-
- protected static Hashtable<String, String> mapping = null;
- private Logger logger = LogDomains.getLogger(LogDomains.AVK_VERIFIER_LOGGER);
- private boolean throwsException;
-
- /** Creates new DTDEntityResolver */
- public XMLValidationHandler(boolean thowsException) {
- this.throwsException = thowsException;
- Init();
- }
-
- public XMLValidationHandler() {
- this.throwsException=true;
- Init();
- }
-
-
- private static void Init() {
- if (mapping==null) {
- mapping = new Hashtable<String, String>();
- mapping.put(com.sun.enterprise.deployment.node.ApplicationNode.PUBLIC_DTD_ID , "application_1_3.dtd" );
- mapping.put(com.sun.enterprise.deployment.node.ApplicationNode.PUBLIC_DTD_ID_12 , "application_1_2.dtd");
- mapping.put(org.glassfish.ejb.deployment.node.EjbBundleNode.PUBLIC_DTD_ID, "ejb-jar_2_0.dtd" ) ;
- mapping.put(org.glassfish.ejb.deployment.node.EjbBundleNode.PUBLIC_DTD_ID_12, "ejb-jar_1_1.dtd" );
- mapping.put(com.sun.enterprise.deployment.node.appclient.AppClientNode.PUBLIC_DTD_ID, "application-client_1_3.dtd" );
- mapping.put(com.sun.enterprise.deployment.node.appclient.AppClientNode.PUBLIC_DTD_ID_12, "application-client_1_2.dtd" );
-
- mapping.put(org.glassfish.web.deployment.node.WebBundleNode.PUBLIC_DTD_ID, "web-app_2_3.dtd" );
- mapping.put(org.glassfish.web.deployment.node.WebBundleNode.PUBLIC_DTD_ID_12, "web-app_2_2.dtd");
-
- //connector1.5
- mapping.put(com.sun.enterprise.deployment.node.connector.ConnectorNode.PUBLIC_DTD_ID, "connector_1_5.dtd" );
- mapping.put(com.sun.enterprise.deployment.node.connector.ConnectorNode.PUBLIC_DTD_ID_10, "connector_1_0.dtd");
-
- //SunOne 8.0 Specific Stuff
- mapping.put(DTDRegistry.SUN_APPLICATION_130_DTD_PUBLIC_ID,"sun-application_1_3-0.dtd");
- mapping.put(DTDRegistry.SUN_APPLICATION_140_DTD_PUBLIC_ID,"sun-application_1_4-0.dtd");
- mapping.put(DTDRegistry.SUN_APPLICATION_140beta_DTD_PUBLIC_ID,"sun-application_1_4-0.dtd");
- mapping.put(DTDRegistry.SUN_APPLICATION_500_DTD_PUBLIC_ID,"sun-application_5_0-0.dtd");
-
- mapping.put(DTDRegistry.SUN_APPCLIENT_130_DTD_PUBLIC_ID,"sun-application-client_1_3-0.dtd");
- mapping.put(DTDRegistry.SUN_APPCLIENT_140_DTD_PUBLIC_ID,"sun-application-client_1_4-0.dtd");
- mapping.put(DTDRegistry.SUN_APPCLIENT_140beta_DTD_PUBLIC_ID,"sun-application-client_1_4-0.dtd");
- mapping.put(DTDRegistry.SUN_APPCLIENT_141_DTD_PUBLIC_ID,"sun-application-client_1_4-1.dtd");
- mapping.put(DTDRegistry.SUN_APPCLIENT_500_DTD_PUBLIC_ID,"sun-application-client_5_0-0.dtd");
-
- mapping.put(DTDRegistry.SUN_WEBAPP_230_DTD_PUBLIC_ID,"sun-web-app_2_3-0.dtd");
- mapping.put(DTDRegistry.SUN_WEBAPP_231_DTD_PUBLIC_ID,"sun-web-app_2_3-1.dtd");
- mapping.put(DTDRegistry.SUN_WEBAPP_240_DTD_PUBLIC_ID,"sun-web-app_2_4-0.dtd");
- mapping.put(DTDRegistry.SUN_WEBAPP_240beta_DTD_PUBLIC_ID,"sun-web-app_2_4-0.dtd");
- mapping.put(DTDRegistry.SUN_WEBAPP_241_DTD_PUBLIC_ID,"sun-web-app_2_4-1.dtd");
- mapping.put(DTDRegistry.SUN_WEBAPP_250_DTD_PUBLIC_ID,"sun-web-app_2_5-0.dtd");
-
- mapping.put(DTDRegistry.SUN_EJBJAR_200_DTD_PUBLIC_ID,"sun-ejb-jar_2_0-0.dtd");
- mapping.put(DTDRegistry.SUN_EJBJAR_201_DTD_PUBLIC_ID,"sun-ejb-jar_2_0-1.dtd");
- mapping.put(DTDRegistry.SUN_EJBJAR_210_DTD_PUBLIC_ID,"sun-ejb-jar_2_1-0.dtd");
- mapping.put(DTDRegistry.SUN_EJBJAR_210beta_DTD_PUBLIC_ID,"sun-ejb-jar_2_1-0.dtd");
- mapping.put(DTDRegistry.SUN_EJBJAR_211_DTD_PUBLIC_ID,"sun-ejb-jar_2_1-1.dtd");
- mapping.put(DTDRegistry.SUN_EJBJAR_300_DTD_PUBLIC_ID,"sun-ejb-jar_3_0-0.dtd");
-
- mapping.put(DTDRegistry.SUN_CONNECTOR_100_DTD_PUBLIC_ID,"sun-connector_1_0-0.dtd");
- mapping.put(DTDRegistry.SUN_CLIENTCONTAINER_700_DTD_PUBLIC_ID,"sun-application-client-container_1_0.dtd");
-
- mapping.put(DTDRegistry.SUN_CMP_MAPPING_700_DTD_PUBLIC_ID,"sun-cmp-mapping_1_0.dtd");
- mapping.put(DTDRegistry.SUN_CMP_MAPPING_800_DTD_PUBLIC_ID,"sun-cmp-mapping_1_1.dtd");
- mapping.put(DTDRegistry.SUN_CMP_MAPPING_810_DTD_PUBLIC_ID,"sun-cmp-mapping_1_2.dtd");
-
- mapping.put(DTDRegistry.TAGLIB_12_DTD_PUBLIC_ID,"web-jsptaglibrary_1_2.dtd");
- mapping.put(DTDRegistry.TAGLIB_11_DTD_PUBLIC_ID,"web-jsptaglibrary_1_1.dtd");
- }
- }
-
- public InputSource resolveEntity(String publicID, String systemID) throws SAXException {
- try{
- if (publicID==null) {
- // unspecified schema
- if (systemID==null || systemID.lastIndexOf('/')==systemID.length()) {
- return null;
- }
-
- String fileName = getSchemaURLFor(systemID.substring(systemID.lastIndexOf('/')+1));
- // if this is not a request for a schema located in our repository,
- // let's hope that the hint provided by schemaLocation is correct
- if (fileName==null) {
- fileName = systemID;
- }
- return new InputSource(fileName);
- }
-
- if (mapping.containsKey(publicID)) {
- return new InputSource(new FileInputStream(new File(getAbsoluteFilenameForDTD((String) mapping.get(publicID)))));
- }
- } catch(java.io.IOException ioe) {
- throw new SAXException(ioe);
- }
- return null;
- }
-
- public void error(SAXParseException spe) throws SAXParseException {
- logger.log(Level.FINE,"XML Error line : " + spe.getLineNumber() + " " + spe.getLocalizedMessage());
- if (throwsException)
- throw spe;
- }
-
- public void fatalError(SAXParseException spe) throws SAXParseException {
- logger.log(Level.FINE,"XML Error line : " + spe.getLineNumber() + " " + spe.getLocalizedMessage());
- throw spe;
- }
-
- protected String getAbsoluteFilenameForDTD(String dtdFilename)
- {
- //String j2ee13 = DirLocation.getDTDDirRoot();
- String j2ee13 = DTDRegistry.DTD_LOCATION;
- File f = new File(j2ee13 +File.separator+ dtdFilename);
- return f.getAbsolutePath();
- }
-
- protected String getSchemaURLFor(String schemaSystemID) throws IOException {
- File f = getSchemaFileFor(schemaSystemID);
- if (f!=null) {
- return f.toURL().toString();
- } else {
- return null;
- }
- }
-
- protected File getSchemaFileFor(String schemaSystemID) throws IOException {
-
- String schemaLoc = DTDRegistry.SCHEMA_LOCATION.replace('/', File.separatorChar);
- File f = new File(schemaLoc +File.separatorChar+ schemaSystemID);
- if (!f.exists()) {
- return null;
- }
- return f;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/FacesConfigDescriptor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/FacesConfigDescriptor.java
deleted file mode 100644
index 4c9042d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/FacesConfigDescriptor.java
+++ /dev/null
@@ -1,107 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.web;
-
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.enterprise.deploy.shared.FileArchive;
-
-import java.io.File;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.List;
-import java.net.URI;
-
-import org.w3c.dom.Document;
-import org.xml.sax.InputSource;
-
-import javax.xml.XMLConstants;
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import org.w3c.dom.NodeList;
-
-/**
- *
- * Class which represents WEB-INF/faces-config.xml
- *
- * @author bshankar@sun.com
- *
- */
-public class FacesConfigDescriptor {
-
- private final String MANAGED_BEAN_CLASS = "managed-bean-class"; // NOI18N
- private final String facesConfigFileName = "WEB-INF/faces-config.xml"; // NOI18N
-
- private VerifierTestContext context;
- private Document facesConfigDocument;
-
- public FacesConfigDescriptor(VerifierTestContext context, WebBundleDescriptor descriptor) {
- try {
- this.context = context;
- readFacesConfigDocument(descriptor);
- } catch(Exception ex) {
- facesConfigDocument = null;
- }
- }
-
- private void readFacesConfigDocument(WebBundleDescriptor webd) throws Exception {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- // TODO: Why are we turning off validation here?
- factory.setValidating(false);
- factory.setFeature(XMLConstants.FEATURE_SECURE_PROCESSING, true);
- DocumentBuilder builder = factory.newDocumentBuilder();
- ModuleDescriptor moduleDesc = webd.getModuleDescriptor();
- String archBase = context.getAbstractArchive().getURI().toString();
- String uri = null;
- if(moduleDesc.isStandalone()){
- uri = archBase;
- } else {
- uri = archBase + File.separator +
- FileUtils.makeFriendlyFilename(moduleDesc.getArchiveUri());
- }
- FileArchive arch = new FileArchive();
- arch.open(URI.create(uri));
- InputStream is = arch.getEntry(facesConfigFileName);
- InputSource source = new InputSource(is);
- try {
- facesConfigDocument = builder.parse(source);
- } finally {
- try{
- if(is != null)
- is.close();
- } catch(Exception e) {}
- }
- }
-
- public List<String> getManagedBeanClasses() {
- if (facesConfigDocument == null) {
- return new ArrayList<String>();
- }
- NodeList nl = facesConfigDocument.getElementsByTagName(MANAGED_BEAN_CLASS);
- List<String> classes = new ArrayList<String>();
- if (nl != null) {
- int size = nl.getLength();
- for (int i = 0; i < size; i++) {
- classes.add(nl.item(i).getFirstChild().getNodeValue().trim());
- }
- }
- return classes;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/FunctionDescriptor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/FunctionDescriptor.java
deleted file mode 100644
index 265e96e..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/FunctionDescriptor.java
+++ /dev/null
@@ -1,56 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.web;
-
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
-
-/**
- * @author Sudipto Ghosh
- */
-public class FunctionDescriptor {
- Node node;
- public FunctionDescriptor(Node n){
- this.node = n;
- }
-
- public String getFunctionClass(){
- NodeList n1 = node.getChildNodes();
- int i = 0;
- String className = null;
- for (int k = 0; k < n1.getLength(); k++) {
- String name = n1.item(k).getNodeName();
- if (name == "function-class") { // NOI18N
- className = n1.item(k).getFirstChild().getNodeValue();
- }
- }
- return className;
- }
-
- public String getFunctionSignature() {
- NodeList n1 = node.getChildNodes();
- int i = 0;
- String signature = null;
- for (int k = 0; k < n1.getLength(); k++) {
- String name = n1.item(k).getNodeName();
- if (name == "function-signature") // NOI18N
- signature = n1.item(k).getFirstChild().getNodeValue();
- }
- return signature;
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/TagDescriptor.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/TagDescriptor.java
deleted file mode 100644
index 848f7ac..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/TagDescriptor.java
+++ /dev/null
@@ -1,85 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.web;
-
-import org.w3c.dom.NodeList;
-import org.w3c.dom.Node;
-
-/**
- * This is the descriptor class for the tag element of the taglib root element
- * for a .tld file used in a jsp.
- */
-public class TagDescriptor {
- Node node;
- public static final String TAG_CLASS_NAME = "tag-class"; // NOI18N
- public static final String TAG_CLASS_1_1_NAME = "tagclass"; // NOI18N
- public static final String DYNAMIC_ATTRIB = "dynamic-attributes"; // NOI18N
- public static final String _FALSE = "false"; // NOI18N
- public static final String TAG_NAME = "name"; // NOI18N
-
- public TagDescriptor (Node n) {
- this.node=n;
- }
-
- /**
- * <tag-class>className<tag-class>
- * @return class name as String
- */
- public String getTagClass() {
- NodeList n1 = node.getChildNodes();
- String className = null;
- for (int k = 0; k < n1.getLength(); k++) {
- String name = n1.item(k).getNodeName();
- if (name == TAG_CLASS_NAME || name == TAG_CLASS_1_1_NAME) {
- className = n1.item(k).getFirstChild().getNodeValue();
- }
- }
- return className;
- }
-
- /**
- *
- * @return dynamic-attributes value defined for a tag
- */
- public String getDynamicAttributes() {
- NodeList n1 = node.getChildNodes();
- String dynAttr = _FALSE;
- for (int k = 0; k < n1.getLength(); k++) {
- String name = n1.item(k).getNodeName();
- if (name == DYNAMIC_ATTRIB) {
- dynAttr = n1.item(k).getFirstChild().getNodeValue();
- }
- }
- return dynAttr;
- }
-
- /**
- *
- * @return name of the tag
- */
- public String getTagName() {
- NodeList n1 = node.getChildNodes();
- String tagName = null;
- for (int k = 0; k < n1.getLength(); k++) {
- String name = n1.item(k).getNodeName();
- if (name == TAG_NAME) {
- tagName = n1.item(k).getFirstChild().getNodeValue();
- }
- }
- return tagName;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/TagLibFactory.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/TagLibFactory.java
deleted file mode 100644
index f8e73c8..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/TagLibFactory.java
+++ /dev/null
@@ -1,256 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.web;
-
-import javax.xml.parsers.DocumentBuilder;
-import javax.xml.parsers.DocumentBuilderFactory;
-import javax.xml.parsers.ParserConfigurationException;
-
-import jakarta.servlet.descriptor.*;
-
-import java.io.File;
-import java.io.IOException;
-import java.io.InputStream;
-import java.util.ArrayList;
-import java.util.Iterator;
-import java.util.logging.Level;
-import java.util.logging.LogRecord;
-import java.util.logging.Logger;
-
-import org.w3c.dom.Document;
-import org.w3c.dom.NodeList;
-import org.xml.sax.EntityResolver;
-import org.xml.sax.ErrorHandler;
-import org.xml.sax.InputSource;
-import org.xml.sax.SAXException;
-import org.xml.sax.SAXParseException;
-
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.tools.verifier.util.LogDomains;
-import com.sun.enterprise.tools.verifier.util.XMLValidationHandler;
-import com.sun.enterprise.tools.verifier.VerifierTestContext;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.StringManagerHelper;
-import com.sun.enterprise.tools.verifier.TagLibDescriptor;
-import com.sun.enterprise.util.LocalStringManagerImpl;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.enterprise.deploy.shared.FileArchive;
-import org.glassfish.web.deployment.descriptor.WebBundleDescriptorImpl;
-
-/** This is the factory class used for obtainig the TagLibDescriptor objects for
- * the tag libraries defined in the war archive.
- *
- * @author Sudipto Ghosh
- */
-
-public class TagLibFactory {
-
- private DocumentBuilder builder;
- private VerifierTestContext context;
- private VerifierFrameworkContext verifierFrameworkContext;
- private Logger logger = LogDomains.getLogger(
- LogDomains.AVK_VERIFIER_LOGGER);
- private boolean uninitialised = false;
- private final LocalStringManagerImpl smh = StringManagerHelper.getLocalStringsManager();
-
-
- /**
- * Constructor to create a factory object.
- *
- * @param context
- * @param verifierFrameworkContext
- */
- public TagLibFactory(VerifierTestContext context, VerifierFrameworkContext verifierFrameworkContext) {
- this.context = context;
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- /**
- * This method is responsible for creating a document object from the tld
- * files and then returning the array TagLibDescriptor objects based on tld
- * version.
- *
- * @param descriptor the web bundle descriptor giving the tlds contained
- * in the war.
- * @return the tag lib descriptor array for all the tlds defined in the war.
- */
- public TagLibDescriptor[] getTagLibDescriptors(
- WebBundleDescriptor descriptor) {
- ArrayList<TagLibDescriptor> tmp = new ArrayList<TagLibDescriptor>();
- Iterable<TaglibDescriptor> taglibConfig = null;
-
- if (((WebBundleDescriptorImpl)descriptor).getJspConfigDescriptor() != null) {
- taglibConfig = ((WebBundleDescriptorImpl)descriptor).getJspConfigDescriptor().getTaglibs();
- } else {
- return null;
- }
- init();
- for (TaglibDescriptor taglibDescriptor : taglibConfig) {
- // test all the Tag lib descriptors.
- String taglibLocation = taglibDescriptor.getTaglibLocation();
- Document d = null;
- try {
- d = createDocument(taglibLocation, descriptor);
- } catch (Exception e) {
- logger.log(Level.WARNING, smh.getLocalString
- (getClass().getName() + ".exception", // NOI18N
- "Continuing, though problem in creating taglib document. Cause: {0}", // NOI18N
- new Object[]{e.getMessage()}));
- if (e instanceof SAXParseException) {
- LogRecord logRecord = new LogRecord(Level.SEVERE,
- smh.getLocalString
- (getClass().getName() + ".exception2", // NOI18N
- "XML Error line : {0} in [ {1} ]. {2}", // NOI18N
- new Object[] {((SAXParseException) e).getLineNumber(),
- taglibLocation,
- e.getLocalizedMessage()}));
- logRecord.setThrown(e);
- verifierFrameworkContext.getResultManager().log(logRecord);
- }
- continue; // we are continuing with creating the next document.
- }
- String version = getTLDSpecVersion(d);
- TagLibDescriptor taglib = null;
- taglib = new TagLibDescriptor(d, version, taglibLocation);
- tmp.add(taglib);
- }
-
- int count = tmp.size();
- TagLibDescriptor arr[] = new TagLibDescriptor[count];
- int i = 0;
- for (Iterator e = tmp.iterator(); e.hasNext(); i++) {
- arr[i] = (TagLibDescriptor) e.next();
- }
- return arr;
- }
-
- /**
- * this method is called once to create the Documentbuilder required for
- * creating documen objects from tlds
- */
-
- private void init() {
- if (!uninitialised) {
- synchronized (this) {
- if (!uninitialised) {
- DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance();
- String W3C_XML_SCHEMA = "http://www.w3c.org/2001/XMLSchema"; // NOI18N
- String JAXP_SCHEMA_LANGUAGE = "http://java.sun.com/xml/jaxp/properties/schemaLanguage"; // NOI18N
- factory.setNamespaceAware(true);
- factory.setValidating(true);
- factory.setAttribute(
- "http://apache.org/xml/features/validation/schema", // NOI18N
- Boolean.TRUE);
- factory.setAttribute(
- "http://xml.org/sax/features/validation", // NOI18N
- Boolean.TRUE);
- factory.setAttribute(
- "http://apache.org/xml/features/allow-java-encodings", // NOI18N
- Boolean.TRUE);
- factory.setAttribute(JAXP_SCHEMA_LANGUAGE, W3C_XML_SCHEMA);
- try {
- builder = factory.newDocumentBuilder();
- } catch (ParserConfigurationException e) {
- logger.log(Level.SEVERE, e.getMessage());
- }
- EntityResolver dh = new XMLValidationHandler(true);
- ErrorHandler eh = new XMLValidationHandler(true);
- builder.setErrorHandler(eh);
- builder.setEntityResolver(dh);
- uninitialised = true;
- }
- }
- }
- }
-
- /**
- * Helper method to create the document object from the tld files specified
- * by the location in web.xml of the war archive.
- *
- * @param location location of jsp tlds
- * @param webd has all the information about the web.xml of the war archive
- * @return document object created from tlds specified at the given location
- * @throws IOException
- * @throws SAXException
- */
- private Document createDocument(String location, WebBundleDescriptor webd)
- throws IOException, SAXException {
- Document document = null;
- InputSource source = null;
- if (location.startsWith("/")) // NOI18N
- location = location.substring(1);
- else
- location = "WEB-INF/" + location; // NOI18N
- ModuleDescriptor moduleDesc = webd.getModuleDescriptor();
- String archBase = context.getAbstractArchive().getURI().getPath();
- String uri = null;
- if(moduleDesc.isStandalone()){
- uri = archBase;
- } else {
- uri = archBase + File.separator +
- FileUtils.makeFriendlyFilename(moduleDesc.getArchiveUri());
- }
- FileArchive arch = new FileArchive();
- arch.open(uri);
- InputStream is = arch.getEntry(location);
- try {
- // is can be null if wrong location of tld is specified in web.xml
- if (is == null)
- throw new IOException(smh.getLocalString
- (getClass().getName() + ".exception1", // NOI18N
- "Wrong tld [ {0} ] specified in the web.xml of [ {1} ]", // NOI18N
- new Object[]{location, moduleDesc.getArchiveUri()}));
- source = new InputSource(is);
- document = builder.parse(source);
- } finally {
- try{
- if(is != null)
- is.close();
- } catch(Exception e) {}
- }
-
- return document;
- }
-
- /**
- * Returns the spec version of the tag lib descriptor file.
- *
- * @param doc document object created from tlds
- * @return spec version of the tag lib descriptor file defined by this doc.
- */
- private String getTLDSpecVersion(Document doc) {
- String str = null;
- if (doc.getDoctype() != null) {
- NodeList nl = doc.getElementsByTagName("jsp-version"); // NOI18N
- if (nl != null && nl.getLength() != 0) {
- str = nl.item(0).getFirstChild().getNodeValue(); // web-jsptaglib dtd vesion 1.2
- } else {
- nl = doc.getElementsByTagName("jspversion"); // NOI18N
- if (nl.getLength() != 0) {
- str = nl.item(0).getFirstChild().getNodeValue(); // web-jsptaglib dtd vesion 1.1
- } else
- return "1.1"; // NOI18N
- }
- } else
- str = doc.getElementsByTagName("taglib").item(0).getAttributes() // NOI18N
- .getNamedItem("version") // NOI18N
- .getNodeValue();
-
- return str;
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/WebCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/WebCheckMgrImpl.java
deleted file mode 100755
index f9457cc..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/WebCheckMgrImpl.java
+++ /dev/null
@@ -1,198 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.web;
-
-import java.io.File;
-import java.io.FileInputStream;
-import java.io.IOException;
-import java.util.Iterator;
-import java.util.Set;
-import java.util.Vector;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import com.sun.enterprise.tools.verifier.tests.dd.ParseDD;
-import com.sun.enterprise.tools.verifier.wsclient.WebServiceClientCheckMgrImpl;
-
-import org.glassfish.web.deployment.io.WebDeploymentDescriptorFile;
-
-import javax.xml.parsers.ParserConfigurationException;
-
-import org.xml.sax.SAXException;
-
-/**
- * Web harness
- */
-public class WebCheckMgrImpl extends CheckMgr implements JarCheck {
-
- /**
- * name of the file containing the list of tests for the web architecture
- */
- private static final String testsListFileName = "TestNamesWeb.xml"; // NOI18N
- private static final String sunONETestsListFileName = getSunPrefix()
- .concat(testsListFileName);
- private static TagLibDescriptor[] tlds;
-
- public WebCheckMgrImpl(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- /**
- * Check method introduced for WebServices integration
- *
- * @param descriptor Web descriptor
- */
- public void check(Descriptor descriptor) throws Exception {
- // run persistence tests first.
- checkPersistenceUnits(WebBundleDescriptor.class.cast(descriptor));
- // a WebBundleDescriptor can have an WebServicesDescriptor
- checkWebServices(descriptor);
- // a WebBundleDescriptor can have WebService References
- checkWebServicesClient(descriptor);
-
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isWeb())
- return;
-
- createTaglibDescriptors(descriptor); //create document obj for all tld's defined in the war
-
- createFacesConfigDescriptor(descriptor);
-
- // run the ParseDD test
- if (getSchemaVersion(descriptor).compareTo("2.4") < 0) { // NOI18N
- WebDeploymentDescriptorFile ddf = new WebDeploymentDescriptorFile();
- File file = new File(getAbstractArchiveUri(descriptor),
- ddf.getDeploymentDescriptorPath());
- FileInputStream is = new FileInputStream(file);
- try {
- if (is != null) {
- Result result = new ParseDD().validateWebDescriptor(is);
- result.setComponentName(getArchiveUri(descriptor));
- setModuleName(result);
- verifierFrameworkContext.getResultManager().add(result);
- is.close();
- }
- } finally {
- try {
- if(is!=null)
- is.close();
- } catch(Exception e) {}
- }
- }
-
- super.check(descriptor);
- }
-
- /**
- * <p/>
- * return the configuration file name for the list of tests pertinent to the
- * web app space (jsp and servlet) </p>
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getTestsListFileName() {
- return testsListFileName;
- }
-
- /**
- * @return <code>String</code> filename containing the SunONE tests
- */
- protected String getSunONETestsListFileName() {
- return sunONETestsListFileName;
- }
-
- /**
- * Create array of TagLibDescriptors for all the jsp tag lib files defined
- * in the war. Set the array in the verifier Context
- *
- * @param descriptor
- */
- protected void createTaglibDescriptors(Descriptor descriptor) {
- TagLibFactory tlf = new TagLibFactory(context, verifierFrameworkContext);
- tlds = tlf.getTagLibDescriptors((WebBundleDescriptor) descriptor);
- if (tlds != null) {
- context.setTagLibDescriptors(tlds);
- setVerifierContext(context);
- }
- }
-
- /**
- * Create FacesConfigDescriptor
- *
- * @param descriptor
- */
- protected void createFacesConfigDescriptor(Descriptor descriptor) {
- FacesConfigDescriptor d = new FacesConfigDescriptor(context, (WebBundleDescriptor)descriptor);
- context.setFacesConfigDescriptor(d);
- }
-
- protected void checkWebServicesClient(Descriptor descriptor)
- throws Exception {
- if (verifierFrameworkContext.isPartition() &&
- !verifierFrameworkContext.isWebServicesClient())
- return;
-
- WebBundleDescriptor desc = (WebBundleDescriptor) descriptor;
- WebServiceClientCheckMgrImpl webServiceClientCheckMgr = new WebServiceClientCheckMgrImpl(
- verifierFrameworkContext);
- if (desc.hasWebServiceClients()) {
- Set serviceRefDescriptors = desc.getServiceReferenceDescriptors();
- Iterator it = serviceRefDescriptors.iterator();
-
- while (it.hasNext()) {
- webServiceClientCheckMgr.setVerifierContext(context);
- webServiceClientCheckMgr.check(
- (ServiceReferenceDescriptor) it.next());
- }
- }
- }
-
- protected String getSchemaVersion(Descriptor descriptor) {
- return ((WebBundleDescriptor) descriptor).getSpecVersion();
- }
-
- protected void setModuleName(Result r) {
- r.setModuleName(Result.WEB);
- }
-
- /**
- * If the call is from deployment backend and precompilejsp option is set
- * then there is no need to run the AllJSPsMustBeCompilable test.
- * @return list of excluded tests
- * @throws ParserConfigurationException
- * @throws SAXException
- * @throws IOException
- */
- protected Vector<TestInformation> getTestFromExcludeList() throws ParserConfigurationException, SAXException, IOException {
- Vector<TestInformation> tests = super.getTestFromExcludeList();
- if(verifierFrameworkContext.getJspOutDir() !=null) { // pre-compile jsp flag set
- TestInformation ti = new TestInformation();
- ti.setClassName("com.sun.enterprise.tools.verifier.tests.web.AllJSPsMustBeCompilable"); // NOI18N
- tests.addElement(ti);
- }
- return tests;
- }
-
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor((WebBundleDescriptor)descriptor);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/WebVerifier.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/WebVerifier.java
deleted file mode 100755
index 8b79dcb..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/web/WebVerifier.java
+++ /dev/null
@@ -1,211 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.web;
-
-import java.io.File;
-import java.io.IOException;
-import java.security.SecureRandom;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.WebBundleDescriptor;
-import org.glassfish.deployment.common.ModuleDescriptor;
-import com.sun.enterprise.tools.verifier.BaseVerifier;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.SpecVersionMapper;
-import com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoaderFactory;
-import com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder;
-import com.sun.enterprise.tools.verifier.apiscan.stdapis.WebClosureCompiler;
-import com.sun.enterprise.util.io.FileUtils;
-import com.sun.enterprise.loader.ASURLClassLoader;
-
-/**
- * Responsible for verfying the j2ee war archive.
- *
- * @author Vikas Awasthi
- */
-public class WebVerifier extends BaseVerifier {
-
- private WebBundleDescriptor webd = null;
- private String classPath;//this is lazily populated in getClassPath()
- private boolean isASMode = false;
- private File jspOutDir = null;
-
- public WebVerifier(VerifierFrameworkContext verifierFrameworkContext,
- WebBundleDescriptor webd) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- this.webd = webd;
- this.isASMode = !verifierFrameworkContext.isPortabilityMode();
- }
-
- /**
- * Responsible for running web based verifier tests on the the web archive.
- * Called from runVerifier in {@link BaseVerifier} class.
- *
- * @throws Exception
- */
- public void verify() throws Exception {
- if (areTestsNotRequired(verifierFrameworkContext.isWeb()) &&
- areTestsNotRequired(verifierFrameworkContext.isWebServices()) &&
- areTestsNotRequired(verifierFrameworkContext.isWebServicesClient()) &&
- areTestsNotRequired(verifierFrameworkContext.isPersistenceUnits()))
- return;
-
- jspOutDir = getJspOutDir();
- try {
- preVerification();
- context.setOutDir(jspOutDir);
- createClosureCompiler();
- verify(webd, new WebCheckMgrImpl(verifierFrameworkContext));
- } finally {
- // verificationContext.getJspOutDir() will be non-null only when the
- // call is from deployment backend and precompilejsp is set
- if(verifierFrameworkContext.getJspOutDir()==null)
- FileUtils.whack(jspOutDir);
- }
- }
-
- /**
- *
- * @return web bundle descriptor
- */
- public Descriptor getDescriptor() {
- return webd;
- }
-
- /**
- * Creates the ClassLoader for the war archive.
- *
- * @return ClassLoader
- * @throws IOException
- */
- protected ClassLoader createClassLoader()
- throws IOException {
- ASURLClassLoader ASURLClassLoader = new ASURLClassLoader(webd.getClassLoader());
- ASURLClassLoader.appendURL(jspOutDir);
- return ASURLClassLoader;
- }
-
- /**
- *
- * @return name of the war archive
- */
- protected String getArchiveUri() {
- return FileUtils.makeFriendlyFilename(webd.getModuleDescriptor().getArchiveUri());
- }
-
- /**
- * @return the array of deployment descriptor names
- */
- protected String[] getDDString() {
- String dd[] = {"WEB-INF/sun-web.xml", "WEB-INF/web.xml", // NOI18N
- "WEB-INF/glassfish-web.xml", "WEB-INF/webservices.xml"}; // NOI18N
- return dd;
- }
-
- /**
- * Creates and returns the class path associated with the web archive.
- * Uses the exploded location of the archive for generating the classpath.
- *
- * @return entire classpath string
- * @throws IOException
- */
- protected String getClassPath() throws IOException {
- if (classPath != null) return classPath;
-
- if(isASMode)
- return (classPath = getClassPath(verifierFrameworkContext.getClassPath()) +
- File.pathSeparator +
- jspOutDir.getAbsolutePath());
-
- String cp;
- if (!webd.getModuleDescriptor().isStandalone()) {
- //take the cp from the enclosing ear file
- String ear_uri = verifierFrameworkContext.getExplodedArchivePath();
- File ear = new File(ear_uri);
- assert(ear.isDirectory());
- String earCP = ClassPathBuilder.buildClassPathForEar(ear);
- String libdir = webd.getApplication().getLibraryDirectory();
- if (libdir!=null) {
- earCP = getLibdirClasspath(ear_uri, libdir) + earCP;
- }
- String module_uri = webd.getModuleDescriptor().getArchiveUri();//this is a relative path
- File module = new File(module_uri);
- assert(module.isFile() && !module.isAbsolute());
- // exploder creates the directory replacing all dots by '_'
- File explodedModuleDir = new File(ear_uri,
- FileUtils.makeFriendlyFilename(module_uri));
- String moduleCP = ClassPathBuilder.buildClassPathForWar(
- explodedModuleDir);
- cp = moduleCP + File.pathSeparator + earCP;
- } else {
- String module_uri = verifierFrameworkContext.getExplodedArchivePath();//this is an absolute path
- File module = new File(module_uri);
- assert(module.isDirectory() && module.isAbsolute());
- cp = ClassPathBuilder.buildClassPathForWar(module);
- }
- String as_lib_root=System.getProperty("com.sun.aas.installRoot")+File.separator+"lib"+File.separator;
- if (verifierFrameworkContext.getJavaEEVersion().compareTo("5") >= 0) { // NOI18N
- cp += File.pathSeparator+as_lib_root+"jakarta.faces.jar"+File.pathSeparator+ // NOI18N
- as_lib_root+"appserv-jstl.jar"+File.pathSeparator; // NOI18N
- }
- cp = cp + File.pathSeparator + jspOutDir.getAbsolutePath();
- return (classPath = cp);
- }
-
- /**
- * creates the ClosureCompiler for the web module and sets it to the
- * verifier context. This is used to compute the closure on the classes used
- * in the web archive.
- *
- * @throws IOException
- */
- protected void createClosureCompiler() throws IOException {
- String specVer = SpecVersionMapper.getWebAppVersion(
- verifierFrameworkContext.getJavaEEVersion());
- Object arg = (isASMode)?context.getClassLoader():(Object)getClassPath();
- WebClosureCompiler cc = new WebClosureCompiler(specVer,
- ClassFileLoaderFactory.newInstance(new Object[]{arg}));
- context.setClosureCompiler(cc);
- }
-
- /**
- * If precompilejsp is set in the backend then return the jspOutput
- * directory set in the frameworkContext. Otherwise create a new unique
- * directory and return it.
- * @return the output directory where compiled JSPs will be put.
- */
- private File getJspOutDir(){
- // verificationContext.getJspOutDir() will be non-null only when the
- // call is from deployment backend and precompilejsp is set
- File jspOutDir = verifierFrameworkContext.getJspOutDir();
- if(jspOutDir != null) {
- ModuleDescriptor moduleDescriptor = webd.getModuleDescriptor();
- if(moduleDescriptor.isStandalone())
- return jspOutDir;
- return new File(jspOutDir, FileUtils.makeFriendlyFilename(moduleDescriptor.getArchiveUri()));
- }
- SecureRandom random=new SecureRandom();
- String prefix=System.getProperty("java.io.tmpdir")+File.separator+".jspc";
- do{
- float f=random.nextFloat();
- String outDirPath=new String(prefix+f);
- File out=new File(outDirPath);
- if(out.mkdirs())
- return out;
- }while(true);
- }
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/webservices/WebServiceCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/webservices/WebServiceCheckMgrImpl.java
deleted file mode 100755
index 4e8537d..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/webservices/WebServiceCheckMgrImpl.java
+++ /dev/null
@@ -1,108 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.webservices;
-
-import java.util.Iterator;
-
-import com.sun.enterprise.deployment.*;
-import com.sun.enterprise.deployment.util.DOLUtils;
-import com.sun.enterprise.tools.verifier.CheckMgr;
-import com.sun.enterprise.tools.verifier.VerifierFrameworkContext;
-import com.sun.enterprise.tools.verifier.JarCheck;
-import com.sun.enterprise.tools.verifier.Result;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.deployment.common.Descriptor;
-import org.glassfish.api.deployment.archive.ArchiveType;
-
-/**
- * WebServices harness
- */
-public class WebServiceCheckMgrImpl extends CheckMgr implements JarCheck {
-
- /**
- * name of the file containing the list of tests for the webservice
- * architecture
- */
- private final String testsListFileName = "TestNamesWebServices.xml"; // NOI18N
- private final String sunONETestsListFileName = getSunPrefix().concat(
- testsListFileName);
- private String moduleName;
-
- public WebServiceCheckMgrImpl(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- /**
- * Check Ejb for spec. conformance
- *
- * @param descriptor WebServices descriptor
- */
- public void check(Descriptor descriptor) throws Exception {
- WebServicesDescriptor rootDescriptor = (WebServicesDescriptor) descriptor;
- ArchiveType moduleType = rootDescriptor.getBundleDescriptor()
- .getModuleType();
- if (moduleType != null && moduleType.equals(DOLUtils.ejbType()))
- moduleName = Result.EJB;
- else if (moduleType != null && moduleType.equals(DOLUtils.warType()))
- moduleName = Result.WEB;
- for (Iterator itr = rootDescriptor.getWebServices().iterator();
- itr.hasNext();) {
- WebService wsDescriptor = (WebService) itr.next();
- // need to pass WebServiceEndpoint's to check
- for (Iterator endPtItr = wsDescriptor.getEndpoints().iterator();
- endPtItr.hasNext();) {
- super.check((WebServiceEndpoint) endPtItr.next());
- }
- }
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * connector architecture
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getTestsListFileName() {
- return testsListFileName;
- }
-
- /**
- * @return <code>String</code> filename containing sunone tests
- */
- protected String getSunONETestsListFileName() {
- return sunONETestsListFileName;
- }
-
- protected String getSchemaVersion(Descriptor descriptor) {
- return ((WebServiceEndpoint) descriptor).getWebService().
- getWebServicesDescriptor().getSpecVersion();
- }
-
- protected void setModuleName(Result r) {
- r.setModuleName(moduleName);
- }
-
- protected BundleDescriptor getBundleDescriptor(Descriptor descriptor) {
- return ((WebServiceEndpoint) descriptor).getBundleDescriptor();
- }
-
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor((WebServiceEndpoint)descriptor);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/wsclient/WebServiceClientCheckMgrImpl.java b/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/wsclient/WebServiceClientCheckMgrImpl.java
deleted file mode 100755
index d2943e6..0000000
--- a/appserver/verifier/verifier-impl/src/main/java/com/sun/enterprise/tools/verifier/wsclient/WebServiceClientCheckMgrImpl.java
+++ /dev/null
@@ -1,119 +0,0 @@
-/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
- *
- * This program and the accompanying materials are made available under the
- * terms of the Eclipse Public License v. 2.0, which is available at
- * http://www.eclipse.org/legal/epl-2.0.
- *
- * This Source Code may also be made available under the following Secondary
- * Licenses when the conditions for such availability set forth in the
- * Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- * version 2 with the GNU Classpath Exception, which is available at
- * https://www.gnu.org/software/classpath/license.html.
- *
- * SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
- */
-
-package com.sun.enterprise.tools.verifier.wsclient;
-
-import org.glassfish.deployment.common.Descriptor;
-import com.sun.enterprise.deployment.ServiceReferenceDescriptor;
-import com.sun.enterprise.deployment.BundleDescriptor;
-import com.sun.enterprise.deployment.util.DOLUtils;
-import com.sun.enterprise.tools.verifier.*;
-import com.sun.enterprise.tools.verifier.tests.ComponentNameConstructor;
-import org.glassfish.api.deployment.archive.ArchiveType;
-
-/**
- * WebServices harness
- */
-public class WebServiceClientCheckMgrImpl extends CheckMgr implements JarCheck {
-
- /**
- * name of the file containing the list of tests for the webservice client
- * architecture
- */
- private static final String testsListFileName = "TestNamesWebServicesClient.xml"; // NOI18N
- private static final String sunONETestsListFileName = getSunPrefix()
- .concat(testsListFileName);
- private String moduleName;
-
- public WebServiceClientCheckMgrImpl(VerifierFrameworkContext verifierFrameworkContext) {
- this.verifierFrameworkContext = verifierFrameworkContext;
- }
-
- /**
- * Check Ejb for spec. conformance
- *
- * @param descriptor WebServices descriptor
- */
- public void check(Descriptor descriptor) throws Exception {
- ServiceReferenceDescriptor rootDescriptor = (ServiceReferenceDescriptor) descriptor;
- ArchiveType moduleType = rootDescriptor.getBundleDescriptor()
- .getModuleType();
- if (moduleType != null && moduleType.equals(DOLUtils.ejbType()))
- moduleName = Result.EJB;
- else if (moduleType != null && moduleType.equals(DOLUtils.warType()))
- moduleName = Result.WEB;
- else if (moduleType != null && moduleType.equals(DOLUtils.carType()))
- moduleName = Result.APPCLIENT;
- super.check(rootDescriptor);
- }
-
- /**
- * return the configuration file name for the list of tests pertinent to the
- * connector architecture
- *
- * @return <code>String</code> filename containing the list of tests
- */
- protected String getTestsListFileName() {
- return testsListFileName;
- }
-
- /**
- * @return <code>String</code> filename containing sunone tests
- */
- protected String getSunONETestsListFileName() {
- return sunONETestsListFileName;
- }
-
- /**
- * A webservices client can be an application client or an ejb or a web component
- * For a j2ee1.4 specific webservices client the version of client descriptor
- * is 1.1. For jee 5.0 this version is 1.0
- * @param descriptor
- * @return webservices client descriptor version
- */
- protected String getSchemaVersion(Descriptor descriptor) {
- String wsclientVersion = null;
- String version = ((ServiceReferenceDescriptor) descriptor).getBundleDescriptor()
- .getSpecVersion();
- if(moduleName.equals(Result.EJB)){
- if("2.1".equals(version)) wsclientVersion = "1.1"; // NOI18N
- else if("3.0".equals(version)) wsclientVersion = "1.2"; // NOI18N
- } else if(moduleName.equals(Result.WEB)){
- if("2.4".equals(version)) wsclientVersion = "1.1"; // NOI18N
- else if("2.5".equals(version)) wsclientVersion = "1.2"; // NOI18N
- } else if(moduleName.equals(Result.APPCLIENT)){
- if("1.4".equals(version)) wsclientVersion = "1.1"; // NOI18N
- else if("5".equals(version)) wsclientVersion = "1.2"; // NOI18N
- }
- if(wsclientVersion==null) {
- wsclientVersion = ""; // should we not throw exception?
- }
- return wsclientVersion;
- }
-
- protected void setModuleName(Result r) {
- r.setModuleName(moduleName);
- }
-
- protected BundleDescriptor getBundleDescriptor(Descriptor descriptor) {
- return ((ServiceReferenceDescriptor)descriptor).getBundleDescriptor();
- }
- protected ComponentNameConstructor getComponentNameConstructor(
- Descriptor descriptor) {
- return new ComponentNameConstructor((ServiceReferenceDescriptor)descriptor);
- }
-
-}
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/LocalStrings.properties b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/LocalStrings.properties
deleted file mode 100755
index 3b14f1c..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/LocalStrings.properties
+++ /dev/null
@@ -1,8207 +0,0 @@
-#
-# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-com.sun.enterprise.tools.verifier.Verifier.verifyFailed=Could not verify successfully.
-com.sun.enterprise.tools.verifier.NameToken.SAXParseException=** Parsing error, line {0} , uri {1}
-com.sun.enterprise.tools.verifier.NameToken.SAXParseException1=Exception occurred : [{0}]
-
-com.sun.enterprise.tools.verifier.Initializer.usageLine1=usage: verifier [optional_params] <jarFile>
-com.sun.enterprise.tools.verifier.Initializer.usageLine2=[optional_params] : can be:
-com.sun.enterprise.tools.verifier.Initializer.usageLine5=\ -d|--destdir <destination directory> : Verifier results are put in the specified existing directory
-#com.sun.enterprise.tools.verifier.Initializer.usageLine6=\ (Overrides default directory,
-#com.sun.enterprise.tools.verifier.Initializer.usageLine6a=\ which is the current
-#com.sun.enterprise.tools.verifier.Initializer.usageLine6b=\ directory)
-com.sun.enterprise.tools.verifier.Initializer.usageLine16=\ -h|--help|-? : Display verifier help
-com.sun.enterprise.tools.verifier.Initializer.usageLine18=\ -n|--notimestamp : No timestamp for result file name
-com.sun.enterprise.tools.verifier.Initializer.usageLine7=\ -u|--gui : Use Verifier GUI
-com.sun.enterprise.tools.verifier.Initializer.usageLine4=\ -v|--verbose : Display more execution information
-com.sun.enterprise.tools.verifier.Initializer.usageLine17=\ -V|--version : Display verifier tool version
-com.sun.enterprise.tools.verifier.Initializer.usageLine8=\ (Note: Overrides default behavior,required jarFile not needed)
-com.sun.enterprise.tools.verifier.Initializer.usageLine10=\ -r|--reportlevel <level> : Result reporting level
-com.sun.enterprise.tools.verifier.Initializer.usageLine11=\ level= a|all : Set output report level to display all results
-com.sun.enterprise.tools.verifier.Initializer.usageLine14=\ f|failures : Set output report level to display only failure results
-com.sun.enterprise.tools.verifier.Initializer.usageLine12=\ w|warnings : Set output report level to display only warning and failure results
-com.sun.enterprise.tools.verifier.Initializer.usageLine27=\ -a|--app : Run only the Application tests
-com.sun.enterprise.tools.verifier.Initializer.usageLine28=\ -A|--appclient : Run only the Application Client tests
-com.sun.enterprise.tools.verifier.Initializer.usageLine29=\ -c|--connector : Run only the Connector tests
-com.sun.enterprise.tools.verifier.Initializer.usageLine30=\ -e|--ejb : Run only the EJB tests
-com.sun.enterprise.tools.verifier.Initializer.usageLine31=\ -w|--web : Run only the Web tests
-com.sun.enterprise.tools.verifier.Initializer.usageLine32=\ -s|--webservices : Run only the WebServices tests
-com.sun.enterprise.tools.verifier.Initializer.usageLine33=\ -l|--webservicesclient : Run only the WebServicesClient tests
-com.sun.enterprise.tools.verifier.Initializer.usageLine34=\ -t|--timestamp : verifier results are generated with timestamp appended to it
-com.sun.enterprise.tools.verifier.Initializer.usageLine35=\ -D|--domain : Absolute path of the domain directory. Domain directory will be ignored if verifier is run with -p option. The default domain directory is <AS_INSTALL_DIR>/domains/domain1
-com.sun.enterprise.tools.verifier.Initializer.usageLine36=\ -p|--portability : Verifier will be run in portability mode with this option. Verifier runs in appserver mode by default. In the default mode verifier additionally checks correct usage of Sun application server features.
-com.sun.enterprise.tools.verifier.Initializer.usageLine37=\ -P|--persistence : Run only the EJB 3.0 persistence tests
-#
-#
-com.sun.enterprise.tools.verifier.Initializer.usageLine19=\Note: The default mode is non-verbose mode and the default reportlevel is to display only warning and failure results.\n
-com.sun.enterprise.tools.verifier.Initializer.usageLine20=<jarFile>: EAR/WAR/JAR/RAR file to perform static verification on
-com.sun.enterprise.tools.verifier.Initializer.usageLine21=\ An example that runs verifier in verbose mode and writes all the results of static verification of file sample.ear to the destination directory /verifierresults:
-com.sun.enterprise.tools.verifier.Initializer.usageLine24=\ verifier -v -ra -d /verifierresults sample.ear
-com.sun.enterprise.tools.verifier.Initializer.usageLine25=\
- Results are generated in both text and XML format.
-com.sun.enterprise.tools.verifier.Initializer.usageLine26=\
-Two result files, sample.ear.txt and sample.ear.xml, will be created.
-
-com.sun.enterprise.tools.verifier.VerificationHandler.notAJavaEEArchive=\
- [ {0} ] is not a valid Java EE archive. \
- Input archive must be one of the following types: \
- \n application (.ear extension),\
- \n web (.war extension), \
- \n ejb-jar(.jar extension with ejb-jar.xml or an EJB component annotated class)\
- \n application-client-jar(.jar extension with Main-Class attribute in manifest file).
-com.sun.enterprise.tools.verifier.VerificationHandler.explodedircreateerror=\
- Unable to create verifier temporary directory {0}.
-com.sun.enterprise.tools.verifier.VerificationHandler.explodedirdeleteerror=\
- Unable to delete verifier temporary directory {0}.
-com.sun.enterprise.tools.verifier.VerificationHandler.maxlength.exceeded=\
- File [ {0} ] has path length [ {1} ] which is greater than the maximum allowed length ({2}) that verifier can handle on windows platform.
-com.sun.enterprise.tools.verifier.VerificationHandler.exception=\
- Maximum Path Length exceeded. The application uses long file names which has exceeded maximum allowed path length in windows. Please shorten the file names and then continue.
-com.sun.enterprise.tools.verifier.VerificationHandler.exception1=\
- Maximum Path Length exceeded. The application uses long file names which has exceeded maximum allowed path length in windows. Please shorten the file names and then continue. Not able to proceed further as [{0}] does not exist
-
-com.sun.enterprise.tools.verifier.Initializer.debug.verboseFlag=Setting verbose flag to TRUE.
-com.sun.enterprise.tools.verifier.Initializer.debug.helpMessage=Displaying help message.
-com.sun.enterprise.tools.verifier.Initializer.debug.displayWarningFailures=Setting output report level to display only warning and failure results.
-com.sun.enterprise.tools.verifier.Initializer.debug.displayAll=Setting output report level to display all results.
-com.sun.enterprise.tools.verifier.Initializer.debug.displayFailures=Setting output report level to display only failure results.
-com.sun.enterprise.tools.verifier.Initializer.debug.reportLevel=Already set output display report level to [ {0} ]
-com.sun.enterprise.tools.verifier.Initializer.debug.startGUI=Starting Verifier GUI.
-com.sun.enterprise.tools.verifier.Initializer.debug.jarFileName=Jar filename: {0}
-com.sun.enterprise.tools.verifier.Initializer.debug.invalidArg=invalid argument \"{0}\"
-com.sun.enterprise.tools.verifier.Initializer.debug.endParseArgs=*******************************END \"Parse Args\"
-com.sun.enterprise.tools.verifier.VerificationHandler.debug.startingLoadJar=\
- Starting loadJar() method......
-com.sun.enterprise.tools.verifier.Initializer.debug.app=\
- Running App tests.
-com.sun.enterprise.tools.verifier.Initializer.debug.appClient=\
- Running AppClient tests.
-com.sun.enterprise.tools.verifier.Initializer.debug.connector=\
- Running Connector tests.
-com.sun.enterprise.tools.verifier.Initializer.debug.ejb=\
- Running EJB tests.
-com.sun.enterprise.tools.verifier.Initializer.debug.web=\
- Running Web tests.
-com.sun.enterprise.tools.verifier.Initializer.debug.webservices=\
- Running WebServices tests.
-com.sun.enterprise.tools.verifier.Initializer.debug.webservicesclient=\
- Running WebServicesClient tests.
-com.sun.enterprise.tools.verifier.Initializer.log.noDirExists=\
- Directory [ {0} ] does not exist
-com.sun.enterprise.tools.verifier.ReportHandler.resultSummary=\
- \n# of Failures : {0}\n# of Warnings : {1}\n# of Errors : {2}
-com.sun.enterprise.tools.verifier.ReportHandler.LookInResultsTestAssertions=\
- Look in file \"{0}\" for detailed results.
-com.sun.enterprise.tools.verifier.ReportHandler.LookInResultsTestAssertions1=\
- No errors found in the archive.
-com.sun.enterprise.tools.verifier.SpecVersionMapper.exception=\
- Not able to map platform version [ {0} ] component version.
-com.sun.enterprise.tools.verifier.persistence.PersistenceUnitCheckMgrImpl.exception=\
- Unknown module type : {0}
-
-com.sun.enterprise.tools.verifier.tests.util.ArchiveClassesLoadableHelper.classes=\
- Failed to find following classes:
-com.sun.enterprise.tools.verifier.tests.util.ArchiveClassesLoadableHelper.reference=\
- at
-com.sun.enterprise.tools.verifier.tests.util.ArchiveClassesLoadableHelper.ref=\
- referenced in the following call stack :\n
-
-com.sun.enterprise.tools.verifier.tests.util.WebArchiveLoadableHelper.classes=\
- Failed to find following classes:
-com.sun.enterprise.tools.verifier.tests.util.WebArchiveLoadableHelper.ref=\
- referenced in the following call stack :\n
-com.sun.enterprise.tools.verifier.tests.util.WebArchiveLoadableHelper.reference=\
- at
-
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedPairs=\
-Failed [EJB] : Either one of the [ {0} ] : [ {1} ] tag pair is not present.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedPairs=\
- Passed [EJB] : [ {0} ] and [ {1} ] tags present.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.Exception=\
-Exception : {0}
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.NoIO=\
-No InputStream found
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedLicense=\
-[Connector] license-required cannot be {0}. It has to be either true or false.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedLicense=\
-Passed [Connector]: license-required is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedReauthenticationSupport=\
-[Connector] reauthentication-support cannot be {0}. It has to be either true or false.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedReauthenticationSupport=\
-Passed [Connector]: reauthentication-support is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedTransactionSupport=\
-[Connector] transaction-support cannot be {0}. It has to be either NoTransaction or LocalTransaction or XATransaction.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedTransactionSupport=\
-Passed [Connector]: transaction-support is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedAppClientEjbRefType=\
-[App Client] ejb-ref-type cannot be {0}. It has to be either Entity or Session.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedAppClientEjbRefType=\
-Passed [App Client] : ejb-ref-type is {0}.
-# Note: Application and Container are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedWebResAuth=\
-[Web] res-auth cannot be {0}. It has to be either Application or Container.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedWebResAuth=\
-[Web] Passed : res-auth is {0}.
-# Note: Entity and Session are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedWebEjbRefType=\
-[Web] ejb-ref-type cannot be {0}. It has to be either Entity or Session.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedWebEjbRefType=\
-Passed [Web] : ejb-ref-type is {0}.
-# Note: Entity and Session are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedEjbRefType=\
-[EJB] ejb-ref-type cannot be {0}. It has to be either Entity or Session.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedEjbRefType=\
-Passed [EJB] : ejb-ref-type is {0}.
-# Note: Application and Container are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedAppClientResAuth=\
-[App Client] res-auth cannot be {0}. It has to be either Application or Container.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedAppClientResAuth=\
-Passed [App Client] : res-auth is {0}.
-# Note: Application and Container are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedEjbResAuth=\
-[EJB] res-auth cannot be {0}. It has to be either Application or Container.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedEjbResAuth=\
-Passed [EJB] : res-auth is {0}.
-# Note: Shareable and Unshareable are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedAppClientResSharingScope=\
-Failed [App Client] : res-sharing-scope cannot be {0}. It has to be either Shareable or Unshareable.
-# Note: Shareable and Unshareable are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedWebResSharingScope=\
-Failed [Web] : res-sharing-scope cannot be {0}. It has to be either Shareable or Unshareable.
-# Note: Shareable and Unshareable are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedEjbResSharingScope=\
-Failed [EJB] : res-sharing-scope cannot be {0}. It has to be either Shareable or Unshareable.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedAppClientResSharingScope=\
-Passed [App Client] : res-sharing-scope is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedWebResSharingScope=\
-Passed [Web] : res-sharing-scope is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedEjbResSharingScope=\
-Passed [EJB] : res-sharing-scope is {0}.
-# Note: Stateless and Stateful are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedSession=\
-[EJB] session-type cannot be {0}. It has to be either Stateless or Stateful.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedSession=\
-Passed [EJB]: session-type is {0}.
-# Note: multiplicity, One and Many are not to be translated
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedMultiplicity=\
-[EJB] multiplicity cannot be {0}. It has to be either One or Many.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedMultiplicity=\
-Passed [EJB]: multiplicity is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedVersion=\
-[EJB] version cannot be {0}. It has to be either 1.x or 2.x.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedVersion=\
-Passed [EJB]: version is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedDestinationType=\
-[EJB] destination-type cannot be {0}. It has to be either jakarta.jms.Topic or jakarta.jms.Queue.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedDestinationType=\
-Passed [EJB]: destination-type is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedMethodIntf=\
-[EJB] method-intf cannot be [ {0} ]. It has to be either Local, Remote, LocalHome, Home, or ServiceEndpoint.
-
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedMethodIntf=\
-Passed [EJB]: method-intf is {0}.
-
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedPersistenceType=\
-[EJB] persistence-type cannot be {0}. It has to be either Bean or Container.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedPersistenceType=\
-Passed [EJB]: persistence-type is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedReentrant=\
-[EJB] reentrant cannot be {0}. It has to be either True or False.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedReentrant=\
-Passed [EJB]: reentrant is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedResultTypeMapping=\
-[EJB] result-type-mapping cannot be {0}. It has to be either Remote or Local.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedResultTypeMapping=\
-Passed [EJB]: result-type-mapping is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedSubscriptionDurability=\
-[EJB] subscription-durability cannot be {0}. It has to be either Durable or NonDurable.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedSubscriptionDurability=\
-Passed [EJB]: subscription-durability is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedTransAttribute=\
-[EJB] trans-attribute cannot be {0}. It has to be either NotSupported, Supports, Required, RequiresNew, Mandatory, or Never.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedTransAttribute=\
-Passed [EJB]: trans-attribute is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedTransactionType=\
-[EJB] transaction-type cannot be {0}. It has to be either Bean or Container.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedTransactionType=\
-Passed [EJB]: transaction-type is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.failedAcknowledgeMode=\
-[EJB] acknowledge-mode cannot be {0}. It has to be either True or False.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.passedAcknowledgeMode=\
-Passed [EJB]: acknowledge-mode is {0}.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.assertion=\
-Test parses the deployment descriptor using a SAX parser to avoid the dependency on the DOL.
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.specMappingInfo=
-
-com.sun.enterprise.tools.verifier.Result.prefix=\
- Please refer to {0}
-com.sun.enterprise.tools.verifier.Result.suffix=\
- for further information.
-com.sun.enterprise.tools.verifier.Result.defaultNADetails=\
- Test is not applicable.
-com.sun.enterprise.tools.verifier.Result.defaultGoodDetails=\
- There were no errors reported.
-
-com.sun.enterprise.tools.verifier.CheckMgr.check=\
- inside {0}.check for [ {1} ]
-com.sun.enterprise.tools.verifier.CheckMgr.TestnamesPropsFile=\
- About to get all test names from props file.
-com.sun.enterprise.tools.verifier.CheckMgr.RunAllTests=\
- Now run all tests against [ {0} ]
-com.sun.enterprise.tools.verifier.CheckMgr.RetrievingTestnames=\
- Retrieving Test names from [ {0} ]
-com.sun.enterprise.tools.verifier.CheckMgr.status.Passed=\
- {0} [ Passed ]
-com.sun.enterprise.tools.verifier.CheckMgr.status.Failed=\
- {0} [ Failed ]
-com.sun.enterprise.tools.verifier.CheckMgr.status.Warning=\
- {0} [ Warning ]
-com.sun.enterprise.tools.verifier.CheckMgr.status.NOT_APPLICABLE=\
- {0} [ NOT_APPLICABLE ]
-com.sun.enterprise.tools.verifier.CheckMgr.version.NOT_APPLICABLE=\
- {0} [ VERSION NOT_APPLICABLE ]
-com.sun.enterprise.tools.verifier.CheckMgr.WebServices.NOT_APPLICABLE=\
- WebServices Test: {0} Not Applicable
-
-com.sun.enterprise.tools.verifier.web.TagLibFactory.exception=\
- Continuing, though problem in creating taglib document. Cause: {0}
-com.sun.enterprise.tools.verifier.web.TagLibFactory.exception1=\
- Wrong tld [ {0} ] specified in the web.xml of [ {1} ]
-com.sun.enterprise.tools.verifier.web.TagLibFactory.exception2=\
- XML Error line : {0} in [ {1} ]. {2}
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.columnName1=\
- Item
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.columnName2=\
- Test Name
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.columnName3=\
- Result
-com.sun.enterprise.tools.verifier.gui.ControlPanel.OKButton=\
- OK
-com.sun.enterprise.tools.verifier.gui.ControlPanel.HelpButton=\
- Help
-com.sun.enterprise.tools.verifier.gui.ControlPanel.CloseButton=\
- Close
-com.sun.enterprise.tools.verifier.gui.ControlPanel.AddButton=\
- Add...
-com.sun.enterprise.tools.verifier.gui.ControlPanel.DeleteButton=\
- Delete
-com.sun.enterprise.tools.verifier.gui.ControlPanel.ItemsToBeVerifierPanelLabel=\
- Items to be verified
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.ResultsPanelLabel=\
- Results: (Click on Item to show test Details below)
-com.sun.enterprise.tools.verifier.gui.ResultsPanelTableLabelColumn1=\
- Item
-com.sun.enterprise.tools.verifier.gui.ResultsPanelTableLabelColumn2=\
- Test Name
-com.sun.enterprise.tools.verifier.gui.ResultsPanelTableLabelColumn3=\
- Result
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.DetailsPanelLabel=\
- Details:
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.Status_Failed=\
- Failed
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.Status_Passed=\
- Passed
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.Status_Warning=\
- Warning
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.Status_NotApplicable=\
- Not Applicable
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.Status_NotImplemented=\
- Not Implemented
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.Status_NotRun=\
- Not Run
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.Status_Unknown=\
- Unknown
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.errStr=\
- Error during verification
-com.sun.enterprise.tools.verifier.gui.ResultsPanel.errStr1=\
- ERROR
-com.sun.enterprise.tools.verifier.gui.MainPanel.SomeTestsFailed=\
- {0}: Some tests failed.
-com.sun.enterprise.tools.verifier.gui.MainPanel.AllTestsPassed=\
- {0}: There were no failed tests.
-com.sun.enterprise.tools.verifier.gui.MainPanel.Status_Idle=\
- Idle
-com.sun.enterprise.tools.verifier.gui.MainPanel.Status_Testing=\
- Testing {0}...
-com.sun.enterprise.tools.verifier.gui.MainPanel.ErrorLoading=\
- Error verifying {0}: {1}
-com.sun.enterprise.tools.verifier.gui.MainPanel.Status_Closed=\
- Closed
-com.sun.enterprise.tools.verifier.gui.MainPanel.Status_Verifying=\
- Verifying archive {0}...
-com.sun.enterprise.tools.verifier.gui.MainPanel.Status_WritingReport=\
- Writing report...
-com.sun.enterprise.tools.verifier.gui.MainPanel.ProblemWritingReport=\
- There was a problem writing the report file.
-com.sun.enterprise.tools.verifier.gui.MainPanel.optionPane.okButtonNoFiles=\
- You must first select a file to verify.
-com.sun.enterprise.tools.verifier.gui.MainPanel.optionPane.okButtonNoFiles2=\
- Use the Add button to select a file to be verified, then click the OK button.
-com.sun.enterprise.tools.verifier.gui.ControlPanel.RadioButtonLabel=\
- Display:
-com.sun.enterprise.tools.verifier.gui.ControlPanel.FailuresOnlyRadioButton=\
- Failures Only
-com.sun.enterprise.tools.verifier.gui.ControlPanel.FailuresWarningRadioButton=\
- Failures and Warnings Only
-com.sun.enterprise.tools.verifier.gui.ControlPanel.AllRadioButton=\
- All Results
-com.sun.enterprise.tools.verifier.gui.MainFrame.WindowTitle=\
- Verify Specification Compliance
-com.sun.enterprise.tools.verifier.gui.ControlPanel.debug.helpSetMissing=\
- Help Set \"{0}\" not found
-com.sun.enterprise.tools.verifier.gui.ControlPanel.optionPane.helpSetMissing1=\
- Could not find Help Set for {0}.
-com.sun.enterprise.tools.verifier.gui.ControlPanel.optionPane.helpSetMissing2=\
- Please consult your host administrator. Starting Verifier with JavaHelp disabled.
-com.sun.enterprise.tools.verifier.gui.ControlPanel.debug.ExceptionInInitializerError=\
- Initialization error:
-com.sun.enterprise.tools.verifier.gui.ControlPanel.optionPane.helpDisabled=\
- Verifier online help disabled.
-com.sun.enterprise.tools.verifier.gui.ControlPanel.optionPane.deleteButtonNoFiles=\
- You must first select a file to delete.
-com.sun.enterprise.tools.verifier.gui.ControlPanel.optionPane.deleteButtonNoFiles2=\
- Then click the Delete button to delete the file from the list of files to be verified.
-com.sun.enterprise.tools.verifier.gui.ControlPanel.optionPane.deleteTitle=\
- ERROR
-which.class.called.string=\
- {0} called
-com.sun.enterprise.tools.verifier.gui.Deprecation=\
- '-u' | '--gui' options have been deprecated. \
- \nThey will be removed in next release. \
- \nPlease refer to verifier documentation for more details.\
- \nPress OK to continue using this GUI.
-
-test.string.assertion=\
- Assertion from resource file is: [ {0} ]
-
-tests.componentNameConstructor=\
-For [ {0} ]
-
-com.sun.enterprise.tools.verifier.annotation.error={3}\n annotation: {0}\n symbol: {1}\n location: {2}\n
-com.sun.enterprise.tools.verifier.tests.VerifierTest.interfaceimplementation.passed=\
- The class [ {0} ] implements the [ {1} ] interface.
-com.sun.enterprise.tools.verifier.tests.VerifierTest.interfaceimplementation.failed=\
- Error: The class [ {0} ] does not implement the [ {1} ] interface.
-com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.notApplicable=\
- No {0} defined in deployment descriptors.
-com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.warning=\
- {0} [ {1} ] not found in the archive.
-com.sun.enterprise.tools.verifier.tests.VerifierTest.fileexistence.passed=\
- {0} [ {1} ] found in resource adapter archive.
-
-com.sun.enterprise.tools.verifier.tests.loadableError=\
- Please either bundle the above mentioned classes in the application or use optional packaging support for them.
-
-com.sun.enterprise.tools.verifier.tests.ClassContainsNativeMethod.assertion=\
- Application classes contain native methods.
-com.sun.enterprise.tools.verifier.tests.ClassContainsNativeMethod.warning=\
- Supplied below is the list of method names \
- (in the format <package.classname>.<methodName>) \
- that are defined as native methods and used by the application:
-com.sun.enterprise.tools.verifier.tests.ClassContainsNativeMethod.suggestion=\
- Please make sure that you implement them on all operating systems.
-
-com.sun.enterprise.tools.verifier.tests.IconImageTypeTest.assertion=\
- The icon type contains small-icon and large-icon elements \
- that specify the file names for small and large GIF, JPEG, or PNG \
- icon images used to represent the parent element in a GUI tool. \
- GIF, JPEG are supported till J2EE 1.4, PNG type has been introduced in \
- JAVA EE 5. The specified files should be packaged inside the bundle \
- containing this deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.IconImageTypeTest.passed=\
- No errors were detected.
-com.sun.enterprise.tools.verifier.tests.IconImageTypeTest.failedImageType=\
- Error: Unsupported image type used in icon image URI [ {0} ].
-com.sun.enterprise.tools.verifier.tests.IconImageTypeTest.failedExistence=\
- Error: icon image URI [ {0} ] is not packaged inside [ {1} ].
-com.sun.enterprise.tools.verifier.tests.IconImageTypeTest.specMappingInfo=\
- J2EE 1.4 Platform Specification section #8.6
-
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PUMatchingEMandEMFRefTest.assertion=\
- For every entity manager referenced in the application, there must be a \
- matching persistence unit defined using META-INF/persistence.xml file.
-com.sun.enterprise.tools.verifier.tests.web.PUMatchingEMandEMFRefTest.assertion=\
- For every entity manager referenced in the application, there must be a \
- matching persistence unit defined using META-INF/persistence.xml file.
-com.sun.enterprise.tools.verifier.tests.appclient.PUMatchingEMandEMFRefTest.assertion=\
- For every entity manager referenced in the application, there must be a \
- matching persistence unit defined using META-INF/persistence.xml file.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PUMatchingEMandEMFRefTest.specMappingInfo_3.0=\
- EJB 3.0 Persistence API Specification section #6.2
-com.sun.enterprise.tools.verifier.tests.web.PUMatchingEMandEMFRefTest.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #6.2
-com.sun.enterprise.tools.verifier.tests.appclient.PUMatchingEMandEMFRefTest.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #6.2
-com.sun.enterprise.tools.verifier.tests.AbstractPUMatchingEMandEMFRefTest.failed=\
- There is no unique persistence unit found by name [ {0} ] in the scope of this component.
-com.sun.enterprise.tools.verifier.tests.AbstractPUMatchingEMandEMFRefTest.passed=\
- Found a persistence unit by name [ {0} ] in the scope of this component.
-com.sun.enterprise.tools.verifier.tests.AbstractPUMatchingEMandEMFRefTest.puList=\
- Persistence units that are visible to this component are [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PersistenceContextType.assertion=\
- An extended persistence context can only be initiated within the scope \
- of a stateful session bean.
-com.sun.enterprise.tools.verifier.tests.web.PersistenceContextType.assertion=\
- An extended persistence context can only be initiated within the scope \
- of a stateful session bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PersistenceContextType.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #5.6.1.2
-com.sun.enterprise.tools.verifier.tests.web.PersistenceContextType.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #5.6.1.2
-com.sun.enterprise.tools.verifier.tests.AbstractPersistenceContextType.failed=\
- Found a persistence unit by name [ {0} ] of EXTENDED context type.
-
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PersistenceUnitCount.assertion=\
- persistence.xml should have at least one persistence unit.
-com.sun.enterprise.tools.verifier.tests.web.PersistenceUnitCount.assertion=\
- persistence.xml should have at least one persistence unit.
-com.sun.enterprise.tools.verifier.tests.appclient.PersistenceUnitCount.assertion=\
- persistence.xml should have at least one persistence unit.
-com.sun.enterprise.tools.verifier.tests.app.PersistenceUnitCount.assertion=\
- persistence.xml should have at least one persistence unit.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PersistenceUnitCount.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #6.2.1
-com.sun.enterprise.tools.verifier.tests.web.PersistenceUnitCount.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #6.2.1
-com.sun.enterprise.tools.verifier.tests.appclient.PersistenceUnitCount.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #6.2.1
-com.sun.enterprise.tools.verifier.tests.app.PersistenceUnitCount.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #6.2.1
-
-com.sun.enterprise.tools.verifier.tests.AbstractPersistenceUnitCount.failed=\
- persistence.xml in persistence unit root [ {0} ] has no persistence units.
-
-com.sun.enterprise.tools.verifier.tests.web.EntityManagerInjection.assertion=\
- EntityManager can not be injected into a web application that uses multithread model \
- because EntityManager is not thread safe.
-com.sun.enterprise.tools.verifier.tests.web.EntityManagerInjection.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #5.2
-com.sun.enterprise.tools.verifier.tests.web.EntityManagerInjection.warning=\
- Found a persistence unit by name [ {0} ] injected into [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.web.StatefulSessionBeanInjection.assertion=\
- A stateful session bean can not be injected into a servlet.
-com.sun.enterprise.tools.verifier.tests.web.StatefulSessionBeanInjection.specMappingInfo=\
- EJB 3.0 Persistence API Specification section #5.2
-com.sun.enterprise.tools.verifier.tests.web.StatefulSessionBeanInjection.warning=\
- Found a stateful session bean [ {0} ] injected into [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed.failed=\
- Error: Local interface [ {0} ] has been exposed in remote interface [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed.assertion=\
- Local interface should not be exposed through remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1, #7.11.5, #12.2.9
-com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #7.7.2
-com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed.passed=\
- Valid Remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed.notApplicable1=\
- Test apply only to session or entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbTest.failedException=\
- Error: [ {0} ] EJB class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbHasLocalorRemoteorBothInterfaces.failed=\
-Enterprise bean [ {0} ] does not have local or remote interfaces.
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbHasLocalorRemoteorBothInterfaces.passed=\
-Enterprise bean [ {0} ] has valid local and/or remote interfaces.
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.assertion=\
- The enterprise bean deployment descriptor has an acceptable PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.passed=\
- The deployment descriptor has the proper PubidLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.failed1=\
- Error: No document type declaration found in the deployment descriptor for {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.failed2=\
- Error: The deployment descriptor for {0} does not have the expected PubidLiteral \"{1}\".
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.IOException=\
- Error: I/O error trying to open {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.failed=\
-The deployment descriptor does not have the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.passed1=\
-The deployment descriptor has the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID.notApplicable=\
-NOT-APPLICABLE: No DOCTYPE found for {0}.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbArchiveClassesLoadable.assertion=\
- All classes in this EJB Archive are loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbArchiveClassesLoadable.specMappingInfo_2.1=\
- J2EE 1.4 Specification Section #8.1.2
-com.sun.enterprise.tools.verifier.tests.ejb.EjbArchiveClassesLoadable.specMappingInfo_3.0=\
- JavaEE 5 Specification Section #8.1.2
-com.sun.enterprise.tools.verifier.tests.ejb.EjbArchiveClassesLoadable.passed=\
- All the classes are loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbArchiveClassesLoadable.exception=\
- Error: [ {0} ] exception while loading the archive [ {1} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbLogicalName.assertion=\
- Enterprise bean logical name test.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbLogicalName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.EjbLogicalName.passed=\
- Enterprise bean logical name is: [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.EjbLogicalName.failed=\
- Error: Enterprise bean logical name cannot be blank.
-
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.assertion=\
- Security identity should reference a valid role-name.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.3
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.failed2=\
- Security identity use-caller-identity is not supported for message-driven beans or for entity or stateless session beans that implement the TimedObject interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.notApplicable1=\
- Bean [ {0} ] uses caller identity for the execution of the method.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.notApplicable2=\
- Bean [ {0} ] does not specify a security identity.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.notApplicable3=\
- Bean [ {0} ] does not specify a run-as identity.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.passed=\
- Security identity run-as specified identity [ {0} ] role is found in the list of roles.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs.failed=\
- Security identity run-as specified identity [ {0} ] role is not valid.
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExist.assertion=\
- Bean class must be available in the application classpath.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExist.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExist.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #18.2*
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExist.passed=\
- Bean class [ {0} ] exists and is loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExist.failed=\
- Error: Bean class [ {0} ] does not exist or is not loadable.
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed.assertion=\
- Enterprise bean class must not be exposed in component interface.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #4.2.1*
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.3.1*, #4.6.6*
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed.failedException=\
- Error: Interface class [{0}] not found.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed.passed=\
- Ejb Bean Class [{0}] is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed.failed=\
-Error: Enterprise bean class [{0}] is exposed through interface [{1}].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable1=\
- Test applies only to session or entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.notApplicable2=\
- Home interface [ {0} ] does not define any ejbHome[METHOD] methods.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodTest.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodNameMatch.assertion=\
- Home can have arbitrary names but they must have a matching ejbHome[METHOD] method on the bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodNameMatch.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.6, #12.2.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodNameMatch.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodNameMatch.failed=\
- Error: For method [ {1} ] defined in home interface [ {0} ], no ejbHome[METHOD] name matching method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodNameMatch.passed=\
- For method [ {1} ] in Home Interface [ {0} ], a ejbHome[METHOD] name matching method was found
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodModifiers.assertion=\
- ejbHome[METHOD] methods must be public and not static.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.6, #10.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodModifiers.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodModifiers.passed=\
- For method [ {1} ] in home interface [ {0} ], the ejbHome[METHOD] method is public and not static
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodModifiers.failed=\
- Error: For method [ {1} ] defined in home interface [ {0} ], the ejbHome[METHOD] method is either static or not public.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceClassExist.assertion=\
- RemoteHome interface class must be available in the application classpath.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceClassExist.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceClassExist.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #18.2
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceClassExist.passed=\
- Home interface [ {0} ] exists and is loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceClassExist.failed=\
- Error: Home interface [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.assertion=\
- Home interface methods must have valid RMI-IIOP parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6, #10.6.10, #12.2.9
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7, #8.6.9
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.passed=\
- [ {0} ] properly declares method with valid RMI-IIOP parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.failed=\
- Error: [ {0} ] method was found, but does not have valid RMI-IIOP method parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs.failedThrowable=\
- Error: [ {0} ] class encountered [ {1} ]. Cannot access methods of class [ {2} ] within [ {3} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.assertion=\
- All enterprise bean home interfaces must follow the standard rules for RMI-IIOP remote interfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #12.2.9, #7.11.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8, #8.6.9
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.debug1=\
- For home interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.passed=\
- [ {0} ] properly declares the home interface as valid RMI-IIOP remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.failed=\
- Error: [ {0} ] is not defined as valid RMI-IIOP remote interface. All enterprise beans home interfaces must be defined as valid RMI-IIOP remote interface. [ {1} ] is not a valid remote home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP.notApplicable=\
- [ {0} ] expected {1} bean or {2} bean, but called with {3}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.assertion=\
- Home interface methods must have a valid RMI-IIOP return type.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6, #10.6.10, #12.2.9
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8, #8.6.10
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.debug1=\
- For home interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.passed=\
- [ {0} ] properly declares method with valid RMI-IIOP return type.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.failed=\
- Error: [ {0} ] method was found, but does not have valid RMI-IIOP method return type.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.assertion=\
- Home interface must have valid RMI-IIOP superinterfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6, #10.6.10, #12.2.9
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8, #8.6.10
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.debug1=\
- Interface [ {0} ]
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.passed=\
- [ {0} ] properly conforms to rules of RMI-IIOP for superinterfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.failed=\
- Error: [ {0} ] does not properly conform to rules of RMI-IIOP for superinterfaces. All enterprise bean home interfaces are allowed to have superinterfaces that conform to the rules of RMI-IIOP for superinterfaces. [ {1} ] is not a valid home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.assertion=\
- The methods defined in Remote Home interface must throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6, #10.6.10, #12.2.9
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8, #8.6.10
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.passed=\
- [ {0} ] properly throws exception java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.failed=\
- Error: [ {0} ] does not properly throw exception java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.assertion=\
- Enterprise bean LocalHome interface must extend the jakarta.ejb.EJBLocalHome interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.8
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.10
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.passed=\
- [ {0} ] properly extends the EJBLocalHome interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.failed=\
- Error: [ {0} ] does not properly extend the EJBLocalHome interface. All enterprise bean home interfaces must extend the EJBLocalHome interface. [ {1} ] is not a valid home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome.debug1=\
- Interface [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.assertion=\
- Enterprise bean RemoteHome interface must extend the jakarta.ejb.EJBHome interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.passed=\
- [ {0} ] properly extends the EJBHome interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.failed=\
- Error: [ {0} ] does not properly extend the EJBHome interface. All enterprise bean home interfaces must extend the EJBHome interface. [ {1} ] is not a valid home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome.debug1=\
- Interface [ {0} ]
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic.assertion=\
- Enterprise bean home interface must be declared as public.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #8.2.1, #13.2.1, #7.11
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic.passed=\
- [ {0} ] properly declares the home interface as public.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic.failed=\
- Error: [ {0} ] is not defined as public. All enterprise bean home interfaces must be defined as public. [ {1} ] is not a valid home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic.assertion=\
- Enterprise bean home interface must be declared as public.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #8.2.1, #13.2.1, #7.11
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic.passed=\
- [ {0} ] properly declares the home interface as public.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic.failed=\
- Error: [ {0} ] is not defined as public. All enterprise bean home interfaces must be defined as public. [ {1} ] is not a valid home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceClassExist.assertion=\
- LocalHome interface class must be available in the application classpath.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceClassExist.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceClassExist.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #18.2
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceClassExist.passed=\
- Home interface [ {0} ] exists and is loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceClassExist.failed=\
- Error: Home interface [ {0} ] does not exist or is not loadable.
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodNameMatch.assertion=\
- Home can have arbitrary names but they must have a matching ejbHome[METHOD] method on the bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodNameMatch.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.6, #12.2.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodNameMatch.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodNameMatch.failed=\
- Error: For method [ {1} ] defined in home interface [ {0} ], no ejbHome[METHOD] name matching method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodNameMatch.passed=\
- For method [ {1} ] in Home Interface [ {0} ], a ejbHome[METHOD] name matching method was found.
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodModifiers.assertion=\
- ejbHome[METHOD] methods must be public and not static.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.6, #12.2.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodModifiers.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodModifiers.passed=\
- For method [ {1} ] in home interface [ {0} ], the ejbHome[METHOD] method is public and not static.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodModifiers.failed=\
- Error: For method [ {1} ] defined in home interface [ {0} ], the ejbHome[METHOD] method is either static or not public.
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceClassExist.assertion=\
- Remote Interface must be available in application classpath.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceClassExist.specMappingInfo_2.1=\
- EJB 2.1 Specification section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceClassExist.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #18.2
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceClassExist.passed=Remote interface [ {0} ] exists and is loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceClassExist.failed=Error: Remote interface [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface.failed=Warning: Method [ {0} ] of enterprise bean [ {1} ] does not have assigned security-permissions.
-com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface.passed=Valid: All [ {0} ] enterprise bean interface methods have security-permissions assigned.
-com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface.assertion=\
- All methods of all interfaces must have an associated security permission.
-com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification section #21.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3
-com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface.notApplicable=The bean [ {0} ] is neither a session bean nor an entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface.exception=The test generated the following exception: [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.assertion=\
- Enterprise bean remote interface must extend the jakarta.ejb.EJBObject interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.5
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.passed=\
- [ {0} ] remote interface properly extends the EJBObject interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.failed=\
- Error: [ {0} ] does not properly extend the EJBObject interface. All enterprise bean remote interfaces must extend the EJBObject interface. [ {1} ] is not a valid remote interface within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.notApplicable=\
- [ {0} ] expected {1} bean or {2} bean, but called with {3}.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject.debug1=\
- Interface [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfacePublic.assertion=\
- Enterprise bean remote interfaces must be declared as public.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfacePublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #8.2.1, #13.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfacePublic.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException.assertion=\
- Remote interface business method throws clause must include java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.9, #7.11.5, #12.2.8
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException.passed=\
- [ {0} ] method properly throws java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException.failed=\
- Error: [ {0} ] method was found, but does not properly throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException.failedException=\
- Error: Remote interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.assertion=\
- Remote interface must have valid RMI-IIOP superinterfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.9, #7.11.5
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.passed=\
- [ {0} ] properly conforms to rules of RMI-IIOP for superinterfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.failed=\
- Error: [ {0} ] does not properly conform to rules of RMI-IIOP for superinterfaces. All enterprise bean remote interfaces are allowed to have superinterfaces that conform to the rules of RMI-IIOP for superinterfaces. [ {1} ] is not a valid remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.failedException=\
- Error: Remote interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.notApplicable=\
- [ {0} ] expected {1} bean or {2} bean, but called with {3}.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface.debug1=\
- Interface [ {0} ]
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.assertion=\
- For each method defined in the remote interface, there must be a matching method in the enterprise bean class that has the same return type.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.9, #7.11.5, #12.2.8
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.debug1=\
- For remote interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.passed=\
- The corresponding business method with a matching return type was found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.debug3=\
- A corresponding business method [ {0} ] was found, but the return type did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.failed=\
- Error: No corresponding business method with matching return type was found for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn.failedException=\
- Error: Remote interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.assertion=\
- For each method defined in the remote interface, there must be a matching method in the enterprise bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.9, #7.11.5, #12.2.8
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.debug1=\
- For remote interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.passed=\
- The corresponding business method with matching arguments was found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.debug3=\
- A corresponding business method [ {0} ] was found, but the arguments did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.failed=\
- Error: No corresponding business method with matching arguments was found for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs.failedException=\
- Error: Remote interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.assertion=\
- All the exceptions defined in the throws clause of the matching method of the enterprise Bean class must be defined in the throws clause of the method of the remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.9, #7.11.5, #12.2.8
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.debug1=\
- For remote interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.passed=\
- The corresponding business method with matching exceptions was found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.deubg3=\
- A corresponding business method [ {0} ] was found, but the exceptions did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.failed=\
-Error: No corresponding business method with matching exceptions was found for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException.failedException=\
-Error: Remote interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceClassExist.assertion=\
- Local interface class must be available in application classpath.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceClassExist.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceClassExist.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #18.2
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceClassExist.passed=\
-Local interface [ {0} ] exists and is loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceClassExist.failed=\
-Error: Local interface [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.assertion=\
- All the exceptions defined in the throws clause of the matching method of the enterprise bean class must be defined in the throws clause of the method of the local interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.7, #10.6.11, #12.2.10
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.9
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.debug1=\
- For local interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.passed=\
- The corresponding business method with matching exceptions was found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.deubg3=\
- A corresponding business method [ {0} ] was found, but the exceptions did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.failed=\
- Error: No corresponding business method with matching exceptions was found for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException.failedException=\
- Error: Local interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.assertion=\
- For each method defined in the local interface, there must be a matching method in the enterprise bean class that has the same return type.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.9
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.debug1=\
- For local interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.passed=\
- The corresponding business method with a matching return type was found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.debug3=\
- A corresponding business method [ {0} ] was found, but the return type did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.failed=\
- Error: No corresponding business method with matching return type was found for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn.failedException=\
- Error: Local interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceRemoteException.assertion=\
- The throws clause of a home method on the local home interface must not include the java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceRemoteException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #9.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceRemoteException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #7.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceRemoteException.failed=\
- Method [ {0} ] throws a RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceRemoteException.failed1=\
- LocalHome class [ {0} ] not found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceRemoteException.passed=\
- Valid LocalInterface.
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodArgs.assertion=\
- For each method defined in the local interface, there must be a matching method in the enterprise bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.7, #10.6.11, #12.2.10
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodArgs.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.9
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodArgs.passed=\
- The corresponding business method with matching arguments was found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.LocalInterfaceMatchMethodArgs.failed=\
- Error: No corresponding business method with matching arguments was found for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodArgs.failedException=\
- Error: Remote interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.assertion=\
- Enterprise bean local interfaces must extend the jakarta.ejb.EJBLocalObject interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.7
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.9
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.passed=\
- [ {0} ] remote interface properly extends the EJBObject interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.failed=\
- Error: [ {0} ] does not properly extend the EJBObject interface. All enterprise bean remote interfaces must extend the EJBObject interface. [ {1} ] is not a valid remote interface within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.notApplicable=\
- [ {0} ] expected {1} bean or {2} bean, but called with {3}.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject.debug1=\
- Interface [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceTest.notApplicable=\
- Not Applicable because, EJB [ {0} ] does not have {1} Interface.
-
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfacePublic.assertion=\
- Enterprise bean local interfaces must be declared as public.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfacePublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #13.2.1, #8.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfacePublic.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6
-com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfacePublic.passed=\
- Valid public interface(s).
-com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfacePublic.failed=\
- Error: [ {0} ] is not defined as a public interface.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType.assertion=\
- Bean type test.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.EjbHasLocalorRemoteorBothInterfaces.assertion=\
- Bean type test.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbHasLocalorRemoteorBothInterfaces.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType.passed=\
- [ {0} ] properly implements the {1}Bean interface.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType.failed=\
- Error: [ {0} ] is not a valid bean. The Bean Provider must use the appropriate {1} or {2} element to declare the bean type.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType.notApplicable=\
- {0} not called with a session or entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType.debug1=\
- Interface [ {0} ]
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.assertion=\
- Enterprise bean class must declare all class static fields as final.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #25.1.2*
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #20.1.2*
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.passed=\
- This bean class [ {0} ] has defined any and all static fields as final.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.warning=\
- Warning: Field [ {0} ] defined within bean class [ {1} ] is defined as static, but not defined as final. An enterprise bean must not use read/write static fields. Using read-only static fields is allowed.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.failedException1=\
- Error: [ {0} ] class encountered [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal.warningException=\
- Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionType.assertion=\
- Session bean state type test.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionType.passed=\
- [ {0} ] is a valid state type within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionType.failed=\
- Error: [ {0} ] is not a valid state type within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionType.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionType.assertion=\
- Session bean transaction demarcation test.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionType.passed=\
- [ {0} ] is a valid transaction type.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionType.failed=\
- Error: [ {0} ] is not a valid transaction type within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionType.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeBeanManaged.assertion=\
- Enterprise bean with bean-managed transaction demarcation must be a session bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeBeanManaged.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.6.1
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeBeanManaged.passed=\
- [ {0} ] is a valid transaction type within session bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeBeanManaged.failed=\
- Error: [ {0} ] is not a valid transaction type within entity bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeBeanManaged.notApplicable=\
- Expected [ {0} ] transaction demarcation, but [ {1} ] bean has [ {2} ] transaction demarcation.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceType.assertion=\
- Entity bean persistence management test.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceType.passed=\
- [ {0} ] is a valid persistence type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceType.failed=\
- Error: [ {0} ] is not a valid persistence type within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceType.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName.assertion=\
- CMP entity beans within a JAR file must have unique abstract schema names.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.13
-com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName.passed=\
- Abstract schema names for all beans within the EJB JAR file are unique.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName.failed=\
-Abstract schema names should be unique within an EJB JAR file. Abstract Schema Name [ {0} ] is not unique.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName.notApplicable=\
-This test is only for CMP beans. Abstract schema names should be unique within an EJB JAR file.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName.failed2=\
-No abstract schema name specified for CMP 2.0 entity bean {0}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.assertion=\
- Entity bean primary key class test.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #9.8
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.passed=\
- Primary key class [ {0} ] exists and is loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.passed1=\
- Primary key class is [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.failed=\
- Error: Loading primary key class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.failedException=\
- Error: Loading primary key class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.notApplicable1=\
- Entity bean [ {0} ] with [ {1} ] managed persistence, primary key optional.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement.debug1=\
- Entity bean [ {0} ] has [ {1} ] managed persistence, primary key is mandatory.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.assertion=\
- Container-managed field test.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #22.2*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.passed=\
- [ {0} ] field found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.failed=\
- Error: [ {0} ] is not a valid persistence type within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.failedException1=\
- Error: NoSuchFieldException: [ {0} ] not found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.failedException2=\
- Error: SecurityException: [ {0} ] not found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.failedException3=\
- Error: Fields do not exist or are not loadable within bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement.debug1=\
- [ {0} ] is valid persistence type.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.assertion=\
- There must be at most one container transaction element that uses the Style 1 "*" method name element for a given enterprise bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #12.3.7.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.passed=\
- Container transaction method name [ {0} ] defined only once in [ {1} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.failed=\
- Error: Container transaction method name [ {0} ] is defined [ {1} ] times in [ {2} ] bean. Method name container transaction style [ {3} ] is allowed only once per bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.notApplicable=\
- There are no method permissions within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.notApplicable1=\
- Container transaction method name [ {0} ] not defined in [ {1} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1.failedException=\
- Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.assertion=\
- There must be at most one container transaction element that uses the Style 2 method element for a given method name.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #12.3.7.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.passed=\
- Container transaction method name [ {0} ] defined only once in [ {1} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.failed=\
- Error: Container transaction method name [ {0} ] is defined [ {1} ] times in [ {2} ] bean. Method name container transaction style [ {3} ] is allowed only once per bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.notApplicable=\
- There are no container transactions within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.notApplicable1=\
- Container transaction method name [ {0} ] not defined in [ {1} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.notApplicable2=\
- Container transaction method name [ {0} ] not defined as style{1} container transaction within [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2.failedException=\
- Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3.assertion=\
- The container transaction method must be defined in the home, component, webservice endpoint or business interface(s) of the specified enterprise bean.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #12.3
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3.passed=\
- Valid container transaction methods.
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3.failed=\
- Error: Container Transaction method name [ {0} ] not defined in {1} interface(s).
-com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3.msg=\
- Any of bean
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization.assertion=\
- The Bean Provider should not store in a transient field a reference to any of the following objects: SessionContext object; environment JNDI naming context and any its subcontexts; business interfaces; home and component interfaces; EntityManager interface; EntityManagerFactory interface; UserTransaction interface
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.2.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization.passed=\
- This session bean class has not stored in a transient field a reference to any of the following objects: SessionContext object; environment JNDI naming context and any of its subcontexts; home and remote interfaces; and the UserTransaction interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization.failed=\
- Warning: Field [ {0} ] defined within session bean class [ {1} ] is defined as transient. Session bean fields should not store in a transient field a reference to any of the following objects: SessionContext object; environment JNDI naming context and any of its subcontexts; home and remote interfaces; and the UserTransaction interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization.failedException=\
- Error: [ {0} ] class not found.
-
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods.assertion=\
- An application exception must not be defined as a subclass of java.lang.RuntimeException or of java.rmi.RemoteException in home interface methods.
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #18.1.1
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.6.8, #13.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods.passed=\
- All the methods of Home interface are defined properly
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods.failed=\
- For the Interface [ {0} ] Method [ {1} ] does not throw valid application exceptions
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods.assertion=\
- An application exception must not be defined as a subclass of java.lang.RuntimeException or of java.rmi.RemoteException in remote interface methods.
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #18.1.1
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #13.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods.debug1=\
- For remote/local Interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods.passed=\
- All the business methods are defined properly
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods.failed=\
- For the Interface [ {0} ] Method [ {1} ] does not throw valid application exceptions.
-com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods.failedException=\
- Error: Remote interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbClientJarManifestClassPath.assertion=\
- EJB JAR file producer uses a Manifest Class-Path entry in the EJB JAR file to specify that the EJB JAR file depends on the client JAR at runtime.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbClientJarManifestClassPath.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #24.3
-com.sun.enterprise.tools.verifier.tests.ejb.EjbClientJarManifestClassPath.notImplemented=\
- No static testing done - yet.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodDescription.assertion=\
- Bean Provider is responsible for providing a description of each finder method for container-managed persistence test
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodDescription.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #4.2.2*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodDescription.notImplemented=\
- No static testing done - yet.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.assertion=\
- Referenced bean class must be available in the application classpath.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #20.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #15.5.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.failedRef=\
- Exception occurred : [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.passed2=\
- The referenced bean''s home interface [ {0} ] exists and is loadable within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.passed3=\
- The referenced bean''s remote interface [ {0} ] exists and is loadable within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.failed=\
- Error: [ {0} ] class cannot be found within this jar [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.notApplicable2=\
- Not Applicable: [ {0} ] must be external reference to bean outside of [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.notApplicable=\
- {0} not called with a session or entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.notApplicable1=\
- There are no references to other beans within this bean [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs.assertion=\
- Role names must be mapped to names within the jar.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #21.3.3
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3.3
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs.passed=\
- The security role reference [ {0} ] has a corresponding linked security role name [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs.failed=\
- Error: The security role reference [ {0} ] has no corresponding linked security role name [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs.notApplicable=\
- {0} not called with a session or entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs.notApplicable1=\
- There are no role references within this bean [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind.assertion=\
- Binding security role references.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #21.3.3
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3.3
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind.passed=\
- The role [ {0} ] for bean [ {1} ] is defined.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind.failed=\
- Error: The role [ {0} ] for bean [ {1} ] is undefined.
-com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind.notApplicable=\
- There are no role references which need to be bound to other security roles within this bean [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.assertion=\
- Container transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.3
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #12.3
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.passed=\
- Transaction attribute [ {0} ] for method [ {1} ] is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.passedTest=\
- Transaction attribute for method [ {0} ] is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.failed=\
- Error: Transaction attribute [ {0} ] for method [ {1} ] is not valid.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.failedException=\
- Error: Transaction attribute is null for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.notApplicable=\
- {0} not called with a session or entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.notApplicable1=\
- There are no method permissions within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.notApplicable2=\
- Bean [ {0} ] is not {1} managed, it is [ {2} ] managed.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.failedException2=\
- Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.failedException1=\
- Error: [ {0} ] should not have a transaction attribute.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.failedHome=\
-Error: Transaction attribute [ {0} ] for method [ {1} ] is not valid. Home or local home interface methods of a session bean must not have a transaction attribute.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.failedComp=\
-Error: Transaction attribute for method [ {0} ] is not valid. ''remove'' method in remote/local interface of a session bean must not have a transaction attribute.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType.failed1=\
-Error: Transaction attribute for method [ {0} ] is not valid.
-
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.assertion=\
- The Application Assembler must not define transaction attributes for an enterprise bean with bean-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #12.4
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.passed=\
- Valid: Transaction attribute [ {0} ] for method [ {1} ] is not defined for an enterprise bean [ {2} ] with bean-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.passed1=\
- Valid: Transaction attribute is null for method [ {0} ] in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.failed=\
- Error: Transaction attribute [ {0} ] for method [ {1} ] is not valid. The Application Assembler must not define transaction attributes for an enterprise bean [ {2} ] with bean-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.notApplicable=\
- {0} not called with a session or entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.passed2=\
- Valid: There are no method permissions within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.notApplicable2=\
- Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.
-com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged.failedException=\
- Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface.assertion=\
- If an enterprise bean implements the jakarta.ejb.SessionSynchronization interface, the Application Assembler can specify only the following values for the transaction attributes of the bean's methods: Required, RequiresNew, Mandatory.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #12.3.7
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface.passed=\
- TransactionAttributes are defined properly for the bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface.failed=\
- Error: Transaction attribute [ {0} ] for method [ {1} ] is not valid.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface.failedException1=\
- Error: [ {0} ] class not found.
-
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.assertion=\
- Session bean container transaction demarcation for all methods of home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1*
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.passed=\
- Valid: Transaction attribute [ {0} ] for method [ {1} ] is not defined for home interface [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.failed=\
- Error: Transaction attribute [ {0} ] for method [ {1} ] is not valid. Transaction attributes must not be specified for the methods defined in the session bean home interface [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.failed1=\
- Error: Transaction attributes must not be specified for the methods defined in the session bean home interface [ {0} ]. Method [ {1} ] has a transaction attribute defined within this bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.passed1=\
- Valid: There are no method permissions within this bean [ {0} ]. Transaction attributes must not be specified for the methods defined in the session bean home interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.passed2=\
- Valid: Transaction attributes must not be specified for the methods defined in the session bean home interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.failedException1=\
- Error: Home interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.passedException=\
- Valid: Transaction attribute is null for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface.notApplicable2=\
- Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.assertion=\
- Session bean container transaction demarcation for all methods of component interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1*
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.passed=\
- Valid: Transaction attribute [ {0} ] for method [ {1} ] is defined for an enterprise bean with bean-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.failed=\
- Error: Transaction attribute [ {0} ] for method [ {1} ] is not valid. Transaction attributes must be defined for all methods of component interface [ {2} ] except for those that belong to EJBObject and EJBLocalObject interfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.failed1=\
- Error: Transaction attributes must be specified for the methods defined in the component interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.failed2=\
- Error: There are no transaction attributes within this bean [ {0} ]. Transaction attributes must be specified for the methods defined in the component interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.failedException=\
- Error: Transaction attribute is null for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.failedException1=\
- Error: Component interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.failedException2=\
- Error: Component interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.notApplicable2=\
- Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface.failedExcep=\
- Error: Method [ {0} ] should not be assigned a transaction attribute.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.failedExcep=\
- Error: Method [ {0} ] should not be assigned a transaction attribute.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.assertion=\
- Entity bean container transaction demarcation for methods of home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.passed=\
- Valid: [ {0} ] Transaction attribute [ {1} ] for method [ {2} ] is valid. Transaction attributes must be specified for all methods of home interface [ {3} ] except getEJBMetaData and getHomeHandle.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.failed=\
- Error: [ {0} ] Transaction attribute [ {1} ] for method [ {2} ] is not valid. Transaction attributes must be specified for all methods of home interface [ {3} ] except getEJBMetaData and getHomeHandle.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.failed1=\
- Error: Transaction attributes must be specified for the methods defined in the home interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.failed2=\
- Error: There are no method container transactions within this bean [ {0} ]. Transaction attributes must be specified for the methods defined in the home interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.notApplicable1=\
- There are no method permissions within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.notApplicable2=\
- There is no home interface specified for [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.failedException=\
- Error: Transaction attribute is null for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.failedException1=\
- Error: Home interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface.failedException2=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.failedExcep=\
- Error: Method [ {0} ] should not be assigned a transaction attribute.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.assertion=\
- Entity bean container transaction demarcation for methods of component interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.passed=\
- Valid: [ {0} ] Transaction attribute [ {1} ] for method [ {2} ] is valid. Transaction attributes must be defined for all methods of component interface [ {3} ] except getEJBHome, getHandle, getPrimaryKey, and isIdentical.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.failed=\
- Error: [ {0} ] Transaction attribute [ {1} ] for method [ {2} ] is not valid. Transaction attributes must be defined for all methods of component interface [ {3} ] except getEJBHome, getHandle, getPrimaryKey, and isIdentical.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.failed1=\
- Error: Transaction attributes must be specified for the methods defined in the component interface [ {0} ]. Method [ {1} ] has no transaction attribute defined within this bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.failed2=\
- Error: There are no method permissions within this bean [ {0} ]. Transaction attributes must be specified for the methods defined in the component interface [ {1} ]. Method [ {2} ] has no transaction attribute defined.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.failedException=\
- Error: Transaction attribute is null for method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.failedException1=\
- Error: Component interface [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface.failedException2=\
- Error: Component interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.failedException1=\
-Exception occurred while opening or saving the J2EE archive.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.failedException=\
-Error: Cannot open the EAR file.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.assertion=\
- The referenced bean must be an enterprise bean in the same ear file.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #20.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #15.5.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.passed=\
- Valid referenced bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.failed=\
- Error: No enterprise bean matching [ {0} ] found within [ {1} ] JAR file.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.no_ear=\
- This EJB JAR file [ {0} ] is not part of a J2EE archive.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.notApplicable=\
- There are no EJB references to other beans within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement.notApplicable1=\
- Not Applicable: Cannot verify the existence of an EJB reference [ {0} ] to external bean within different EAR file.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameUnique.assertion=\
- EJB name is unique within the same JAR file.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameUnique.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameUnique.passed=\
- Valid: [ {0} ] was found once within JAR file, ejb-name is unique.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameUnique.failed=\
- Error: [ {0} ] has found [ {1} ] duplicate EJB name(s) within the same JAR file.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.assertion=\
- EJB method-intf element must be one of the following: Remote or Home.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.passed=\
- Container transaction method [ {0} ] method-intf element [ {1} ] is one of the following: [ {2} ] or [ {3} ] or [ {4} ] or [ {5} ] within bean [ {6} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.passed1=\
- Method permissions method [ {0} ] method-intf element [ {1} ] is either Remote or Home within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.failed1=\
- Error: Container transaction method [ {0} ] method-intf element [ {1} ] must be one of the interfaces of the bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.failed=\
- Error: Method permissions method [ {0} ] method-intf element [ {1} ] must be one of the following: [ {2} ] or [ {3} ] or [ {4} ] or [ {5} ] within bean [ {6} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.notApplicable=\
- There are no [method-intf] elements within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement.failedException=\
- Error: [ {0} ] does not contain class [ {1} ] within bean [ {2} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameNMTOKEN.assertion=\
- EJB name must conform to the lexical rules for an NMTOKEN.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameNMTOKEN.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameNMTOKEN.passed=\
- [ {0} ] conforms to the lexical rules for an NMTOKEN within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.EjbNameNMTOKEN.failed=\
- Error: [ {0} ] does not conform to the lexical rules for an NMTOKEN within bean [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbRefNamePrefixed.assertion=\
- EJB reference name is prefixed with recommended string ejb/.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbRefNamePrefixed.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #20.3.1.1
-com.sun.enterprise.tools.verifier.tests.ejb.EjbRefNamePrefixed.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #18.5
-com.sun.enterprise.tools.verifier.tests.ejb.EjbRefNamePrefixed.passed=\
- ejb-ref-name is properly defined within bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.EjbRefNamePrefixed.warning=\
- Warning: [ {0} ] is not prefixed with recommended string ejb/ within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValueType.assertion=\
- EJB environment entry value type.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValueType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #20.2.1.2
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValueType.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #15.4, #14.4.1.3
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValueType.passed=\
- Environment entry value has valid value type
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValueType.failed=\
- Error: Environment entry value [ {0} ] does not have valid value type [ {1} ] within bean [ {2} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValue.assertion=\
- EJB environment entry value must be a string that is valid for the constructor of the specified type that takes a single String parameter.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValue.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #20.2.1.2
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValue.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #15.4, 14.4.1.3
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValue.passed=\
- Environment entry name has valid value.
-com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValue.failed=\
- Error: Environment entry name [ {0} ] does not have valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within bean [ {3} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbResAuthElement.assertion=\
- Resource-ref element res-auth sub-element must be Application or Container.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbResAuthElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #20.5.1.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbResAuthElement.passed=\
- Resource-ref element res-auth sub-element value [ {0} ] is valid within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbResAuthElement.failed=\
- Error: Resource-ref element res-auth sub-element value [ {0} ] is not valid within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbResAuthElement.notApplicable=\
- There are no resource reference elements defined within this bean [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement.assertion=\
- EJB reference type.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #20.3
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement.passed=\
- All ejb-ref-type elements are valid. They are all [ {0} ] or [ {1} ] within this bean [ {2} ]
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement.failed=\
- Error: ejb-ref-type [ {0} ] within bean [ {1} ] is not valid. Must be [ {2} ] or [ {3} ]
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement.notApplicable=\
- There are no ejb references to other beans within this bean [ {0} ]
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement.failed1=\
- The ejb-ref-type is either not Session or Entity or it does not match the type of the EJB it represents.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.assertion=\
- EJB public fields.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #22.5*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.passed=\
- [ {0} ] found in public fields of bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.debug1=\
- [ {0} ] is equal to public field [ {1} ] of bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.debug=\
- [ {0} ] not equal to public field [ {1} ] of bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.failed1=\
- Error: [ {0} ] not found in public fields of bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.failedException=\
- Error: [ {0} ] within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.notApplicable1=\
- No persistent fields are defined for bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement.assertion=\
- The ejb-name element within the method element must be the name of one of the enterprise beans declared in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #18.5
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement.passed=\
- [ {0} ] is valid and contained within the JAR file.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement.failed=\
- Error: [ {0} ] is not the name of one of the enterprise beans within the JAR file.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement.notApplicable=\
- There are no method permissions within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement.debug1=\
- ejb-name is [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists.assertion=\
- Security roles used in method permission element must be defined in the roles element of the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #21.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists.passed=\
- Valid: Method permissions role [ {0} ] is one of the roles defined in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists.failed=\
- Error: Method permissions role [ {0} ] must be one of the roles defined in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists.notApplicable=\
- There are no [method-permission] elements within this bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists.notApplicable1=\
- There are no role based method-permissions within this bean [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.RunAsIdentityRoleExists.assertion=\
- Security roles used in method permission element must be defined in the roles element of the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.RunAsIdentityRoleExists.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #21.3.2*
-com.sun.enterprise.tools.verifier.tests.ejb.elements.RunAsIdentityRoleExists.passed=\
- Valid: Method permissions role [ {0} ] is one of the roles defined in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.RunAsIdentityRoleExists.failed=\
-Error: run-as identity role [ {0} ] must be one of the roles defined in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.elements.RunAsIdentityRoleExists.notApplicable=\
-Error: run-as identity not defined in bean [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists.assertion=\
- Methods used in method permissions must be methods defined in the enterprise bean's component and/or home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #21.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists.passed=\
- Valid method permission method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists.failed=\
- Error: Method name [ {0} ] not defined in {1} interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists.failedException=\
- Error: Interface class not found. [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ContainerTransactionMethodExists.assertion=\
- Methods used in container-transaction must be methods defined in the enterprise bean's component and/or home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ContainerTransactionMethodExists.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ContainerTransactionMethodExists.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ContainerTransactionMethodExists.passed=\
- Valid container transaction method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ContainerTransactionMethodExists.failed=\
- Error: Method name [ {0} ] not defined in {1} interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ContainerTransactionMethodExists.failedException=\
- Error: Interface class not found. [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist.assertion=\
- Methods used in exclude-list must be methods defined in the enterprise bean's component and/or home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #21.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist.passed=\
- Valid exclude list method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist.failed=\
- Error: Method name [ {0} ] not defined in {1} interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist.failedException=\
- Error: Interface class not found. [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist.assertion=\
- Methods used in <unchecked> must be methods defined in the enterprise bean's component and/or home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #21.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #16.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist.passed=\
- Valid unchecked method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist.failed=\
- Error: Method name [ {0} ] not defined in {1} interface.
-com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist.failedException=\
- Error: Interface class not found. [ {0} ]
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.assertion=\
- Primary key field declared in the persistence fields.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.passed=\
- Primary key field [ {0} ] is defined within set of container-managed fields for bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.failed=\
- Error: Primary key field [ {0} ] is not defined within set of container-managed fields for bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.failed1=\
- Error: Primary key field is not defined within set of container-managed fields for bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.failed2=\
- Error: Primary key field must be defined for bean [ {0} ] with primary key class set to [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.notApplicable2=\
- Primary key field not defined for [ {0} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields.notApplicable3=\
- Primary key [ {0} ] is not java.lang.String for bean [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.failedException=\
-Error: EJB class [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.assertion=\
- Primary key field type must be the same as the primary key type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.passed=\
- The type of the primary key field [ {0} ] is the same as the primary key type [ {1} ] for bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.failed=\
- Error: The type of the primary key field [ {0} ] is not the same as the primary key type [ {1} ] for bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.notApplicable2=\
- Primary key field not defined for [ {0} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType.notApplicable3=\
- Primary key field not defined within [ {0} ] bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ReEntrantElement.assertion=\
- Reentrant type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ReEntrantElement.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ReEntrantElement.passed=\
- reEntrant [ {0} ] is valid within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ReEntrantElement.failed=\
- Error: reEntrant [ {0} ] is not valid within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ReEntrantElement.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.RoleNameNMTOKEN.assertion=\
- Role name conforms to lexical rules of NMTOKEN.
-com.sun.enterprise.tools.verifier.tests.ejb.RoleNameNMTOKEN.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5
-com.sun.enterprise.tools.verifier.tests.ejb.RoleNameNMTOKEN.passed=\
- Role name [ {0} ] conforms to the lexical rules of NMTOKEN within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.RoleNameNMTOKEN.failed=\
- Error: Role name [ {0} ] does not conform to the lexical rules of NMTOKEN within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.RoleNameNMTOKEN.notApplicable=\
- No permissioned roles defined for this bean [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile.assertion=\
- JAR file contains the XML-based deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #24.2
-com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile.passed=\
- Found deployment descriptor XML file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile.failed=\
- Error: No deployment descriptor XML file found, looking for [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile.failedException=\
- Error: File not found trying to read deployment descriptor file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile.failedException1=\
- Error: I/O Error trying to read deployment descriptor file [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses.assertion=\
- JAR file contains implementation class for enterprise bean.
-com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #24.3
-com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses.passed=\
- Bean class [ {0} ] exists and its supporting classes exist.
-com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses.failedException=\
- Error: Could not instantiate [ {0} ] within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses.failedException1=\
- Error: Illegal Access while trying to instantiate [ {0} ] within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses.failedException2=\
- Error: Cannot find class [ {0} ] within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses.notApplicable=\
- Not Applicable: [ {0} ] class encountered [ {1} ]. Cannot create instance of class [ {2} ] because [ {3} ] is not accessible within [ {4} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs.assertion=\
- A stateless session bean must define exactly one create() method with no arguments.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.8, #7.11.6
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.6.8, #4.5
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs.passed=\
- The bean's Home Interface properly defines one create Method with no args
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs.failed=\
- Error: The create method has one or more parameters within bean [ {0} ]. Stateless session beans are only allowed to have create methods with no parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs.failed1=\
- Error: No create method exists within bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs.failedException=\
- Error: Class [ {0} ] not found within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX.assertion=\
- Session bean with bean-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.3.6, #23.2, #22.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX.passed=\
- This session bean [ {0} ] is [ {1} ] managed and correctly declares no container transactions.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX.failed=\
- Error: Session beans [ {0} ] with [ {1} ] managed transaction demarcation should not have container transactions defined.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX.notApplicable1=\
- Session bean [ {0} ], expected [ {1} ] managed, but called with [ {2} ] managed.
-com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor.assertion=\
- Enterprise beans must have a public constructor method with no parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.2, #7.11.2, #12.2.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor.passed=\
- Valid: This bean [ {0} ] has a public constructor method with no parameters. Enterprise beans must have a public constructor method with no parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor.failed=\
- Error: There is no parameterless public constructor method defined within bean [ {0} ]. Enterprise beans must have a public constructor method with no parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor.failedException=\
- Error: [ {0} ] class not found.
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassFinalizeMethod.assertion=\
- Bean class must not define the finalize method.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassFinalizeMethod.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.2, #7.11.2, #12.2.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassFinalizeMethod.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassFinalizeMethod.passed=\
- Valid: This bean class [ {0} ] does not define the finalize method.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassFinalizeMethod.failed=\
- Error: The bean class [ {0} ] must not define the finalize method.
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic.assertion=\
- Bean class must be declared as public.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.2, #7.11.2, #12.2.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic.passed=\
- [ {0} ] properly declares public class modifier.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic.failed=\
- Error: Bean class [ {0} ] was found, but was not declared as public. The class [ {1} ] must be defined as public.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal.assertion=\
- Bean class must not be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.2, #7.11.2, #12.2.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal.passed=\
- [ {0} ] properly declares non-final class modifier.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal.failed=\
- Error: Bean class [ {0} ] was found, but was declared as final. The class [ {1} ] must not be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.assertion=\
- The Bean class must not be declared as abstract.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.2, #7.11.2, #12.2.2
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.2*
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.passed=\
- [ {0} ] properly declares non-abstract class modifier.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.passed2=\
- [ {0} ] properly declares abstract class modifier.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.failed=\
- Error: Bean class [ {0} ] was found, but was declared as abstract. The class [ {1} ] must not be declared as abstract.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.failed2=\
- Error: CMP 2.0 Entity Bean Class [ {0} ] was found, but was declared as non abstract. The class [ {1} ] must be abstract.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface.assertion=\
- Bean class optionally implements the enterprise bean's remote/local interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #8.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface.warning=\
- Warning: [ {0} ] class implements the enterprise bean''s remote/local interface [ {1} ]. It is recommended that the enterprise bean class not implement the remote/local interface to prevent inadvertent passing of this as a method argument or result. The class must provide no-op implementations of the methods defined in the jakarta.ejb.EJBObject/jakarta.ejb.EJBLocalObject interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface.passed=\
- Bean class does not implement the enterprise Bean's component interface
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface.debug1=\
- Interface [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface.assertion=\
- Implements the EntityBean interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #4.2.2 4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface.passed=\
- [ {0} ] properly implements the EntityBean interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface.failed=\
- Error: [ {0} ] does not properly implement the EntityBean interface. All entity beans must implement the EntityBean interface. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface.debug1=\
- Interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.failed1=\
-Error: [ {0} ] extends class [ {1} ], which is not serializable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.passed1=\
-Bean [ {0} ] extends class [ {1} ], which is serializable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.failed=\
-Error: [ {0} ] implements interface [ {1} ], which is not serializable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.passed=\
-Bean [ {0} ] implements interfaces that are all serializable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.debug1=\
- Interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.assertion=\
- EJB class extends/implements superclass/interfaces that are serializable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #8.7*
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.assertion=\
- ejbFind[METHOD] methods must not be defined for container-managed entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #14.1.6*, #9.7.2*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.passed=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.failed=\
- Error: An improperly named [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.failedException=\
- Error: EJB class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.assertion=\
- ejbFind[METHOD] methods name.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.passed=\
- A properly named [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.assertion=\
- Public ejbFind[METHOD] methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3*
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.passed=\
- A public [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.failed=\
- Error: An [ {0} ] method was found, but was not public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.assertion=\
- Non-static ejbFind[METHOD] methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.passed=\
- A non-static [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.failed=\
- Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.assertion=\
- Non-final ejbFind[METHOD] methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.passed=\
- A non-final [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.failed=\
- Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.assertion=\
- ejbFind[METHOD] method returns primary key type or collection thereof.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3, #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.passed=\
- An [ {0} ] method was found, with valid return type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.failed=\
- Error: An [ {0} ] method was found, but [ {1} ] return type must be the enterprise bean''s primary key type or a collection thereof.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn.warning=\
- Warning: An [ {0} ] method was found, but [ {1} ] method has [ {2} ] return type. Deployment descriptor primary key type is [ {3} ]. Definition of the primary key type is deferred to deployment time.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.assertion=\
- ejbFind[METHOD] method arguments must be valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3, #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.passed=\
- An [ {0} ] method was found, with valid method argument types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.failed=\
- Error: An [ {0} ] method was found, but [ {1} ] method has invalid parameter values. [ {2} ] method argument types must be valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.assertion=\
- ejbFind[METHOD] methods do not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.passed=\
- [ {0} ] declares [ {1} ] method, which properly does not throw java.rmi.RemoteException, but throws FinderException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.warning=\
- Warning: Compatibility Note: An [ {0} ] method was found, but EJB 1.0 allowed the ejbFind[METHOD] method to throw a java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 or EJB 2.0 compliant enterprise bean should throw the jakarta.ejb.EJB Exception or another RuntimeException to indicate non-application exceptions to the Container. An EJB 2.0 compliant bean should not throw java.rmi.RemoteException from its ejbCreate method.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.error=\
- Error: Compatibility Note: An [ {0} ] method was found, but EJB 1.0 allowed the ejbFind[METHOD] method to throw a java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 2.0 compliant enterprise bean must throw the jakarta.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container. An EJB 1.1 compliant bean should not throw java.rmi.RemoteException from its ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException.error1=\
-Error: ejbFind[Method] [ {0} ] does not throw FinderException.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.assertion=\
- Multi-object ejbFind[METHOD] methods must not throw jakarta.ejb.ObjectNotFoundException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.1.8.2, #10.5.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.passed=\
- An [ {0} ] method was found with valid exception types declared in throws clause.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.failed=\
- Error: An [ {0} ] method was found, but [ {1} ] throws ObjectNotFoundException. Multi-object finder methods must not throw this exception.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.notApplicable1=\
- [ {0} ] does not declare any ejbFind[METHOD](...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.assertion=\
- Defines ejbFindByPrimaryKey method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.debug3=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.passed=\
- An [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.failed=\
- Error: No ejbFindByPrimaryKey method was found in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.failed1=\
- Error: ejbFindByPrimaryKey method was found for CMP bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.assertion=\
- Defines public ejbFindByPrimaryKey method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.debug3=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.passed=\
- The public [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.failed=\
- Error: An [ {0} ] method was found, but was not public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.failed1=\
- Error: No ejbFindByPrimaryKey method was found in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.assertion=\
- Defines non-static ejbFindByPrimaryKey method
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5, #10.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.debug3=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.passed=\
- The non-static [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.failed=\
- Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.failed1=\
- Error: No ejbFindByPrimaryKey method was found in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.failedException=\
- Error: enterprise bean class [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.assertion=\
- Defines non-final ejbFindByPrimaryKey method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5, #10.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.debug3=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.passed=\
- The non-final [ {0} ] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.failed=\
- Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.failed1=\
- Error: No ejbFindByPrimaryKey method was found in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.assertion=\
- Defines ejbFindByPrimaryKey method with valid return type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3, #12.2.5, #12.1.8.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.debug3=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.passed=\
- An [ {0} ] method with valid return type was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.failed=\
- Error: A [ {0} ] method was found, but [ {1} ] return type must be the enterprise bean''s primary key type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.failed1=\
- Error: No ejbFindByPrimaryKey method was found in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.assertion=\
- Defines ejbFindByPrimaryKey method with valid RMI-IIOP arguments.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5, #10.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.debug3=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.passed=\
- An [ {0} ] method with valid RMI-IIOP argument types was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.failed=\
- Error: An [ {0} ] method was found, but [ {1} ] method has invalid parameter values. [ {2} ] method argument types must be valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.failed1=\
- Error: No ejbFindByPrimaryKey method was found in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.assertion=\
- Defines ejbFindByPrimaryKey method which properly does not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.debug1=\
- For enterprise bean class [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.debug3=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.passed=\
- [ {0} ] declares [ {1} ] method, which properly does not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.failed=\
- Error: No ejbFindByPrimaryKey method was found in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.warning=\
- Error: Compatibility Note: An [ {0} ] method was found, but EJB 1.0 allowed the ejbFindByPrimary method to throw the java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean should throw the jakarta.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.failedException=\
- Error: enterprise bean class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.assertion=\
- Each entity bean may have zero or more ejbCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.4, #10.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.passed=\
- [ {0} ] properly declares [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.notApplicable1=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.failedException1=\
-Error: no create{0} method found corresponding to ejbCreate{1} method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.assertion=\
- Each entity bean may have zero or more public ejbCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.debug1=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.passed=\
- [ {0} ] properly declares public ejbCreate[METHOD] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.failed=\
- Error: An [ {0} ] method was found, but was not public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.notApplicable1=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.assertion=\
- Each entity bean may have zero or more non-final ejbCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.debug1=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.passed=\
- [ {0} ] properly declares non-final ejbCreate[METHOD] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.failed=\
- Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.notApplicable1=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.assertion=\
- Each entity bean may have zero or more non-static ejbCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.debug1=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.passed=\
- [ {0} ] properly declares non-static ejbCreate[METHOD] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.failed=\
- Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.notApplicable1=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.assertion=\
- Each entity bean may have zero or more ejbCreate methods which return primary key type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.debug1=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.passed=\
- [ {0} ] properly declares ejbCreate[METHOD] method to return primary key type [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.failed=\
- Error: An [ {0} ] method was found, but the [ {1} ] method has illegal return value. [ {2} ] methods must return primary key type [ {3} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.warning=\
- Warning: An [ {0} ] method was found, but [ {1} ] method has [ {2} ] return type. Deployment descriptor primary key type is [ {3} ]. Definition of the primary key type is deferred to deployment time.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.notApplicable0=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.assertion=\
- Each entity bean may have zero or more ejbCreate methods with arguments that are valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.debug1=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.passed=\
- [ {0} ] properly declares ejbCreate[METHOD] method with arguments that are legal types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.failed=\
- Error: An [ {0} ] method was found, but the [ {1} ] method has invalid parameter values. [ {2} ] method argument types must be valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.notApplicable1=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.assertion=\
- Each entity bean may have zero or more ejbCreate methods which properly do not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.passed=\
- [ {0} ] properly declares [ {1} ] method, which does not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.notApplicable1=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.warning=\
- Error: Compatibility Note: An [ {0} ] method was found, but EJB 1.0 allowed the ejbCreate method to throw the java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean should throw the jakarta.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.assertion=\
- Each entity bean may have zero or more ejbPostCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.passed=\
- [ {0} ] declares [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.notApplicable1=\
- [ {0} ] does not declare any ejbPostCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.failedException1=\
-Error: ejbPostCreate[METHOD] method corresponding to the ejbCreate[METHOD] method does not exist.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.assertion=\
- Each entity bean may have zero or more public ejbPostCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.passed=\
- [ {0} ] properly declares public [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.failed=\
- Error: An [ {0} ] method was found, but was not public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.notApplicable1=\
- [ {0} ] does not declare any ejbPostCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.assertion=\
- Each entity bean may have zero or more non-static ejbPostCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.passed=\
- [ {0} ] properly declares non-static [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.failed=\
- Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.notApplicable1=\
- [ {0} ] does not declare any ejbPostCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.assertion=\
- Each entity bean may have zero or more non-final ejbPostCreate methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.passed=\
- [ {0} ] declares non-final [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.failed=\
- Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.notApplicable1=\
- [ {0} ] does not declare any ejbPostCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.assertion=\
- Each entity bean may have zero or more ejbPostCreate methods that return void.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.passed=\
- [ {0} ] properly declares [ {1} ] method that returns void.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.failed=\
- Error: An [ {0} ] method was found, but [ {1} ] method has illegal return value. [ {2} ] methods must return void type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.notApplicable1=\
- [ {0} ] does not declare any ejbPostCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.assertion=\
- For each ejbCreate(...) method in an entity bean there must be a matching ejbPostCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.passed=\
- [ {0} ] declares [ {1} ] method with parameters that match corresponding [ {2} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.failed=\
- Error: An [ {0} ] method was found, but [ {1} ] method parameters did not match any corresponding [ {2} ] method parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.notApplicable1=\
- [ {0} ] does not declare any ejbPostCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.failedException1=\
-Error: ejbPostCreate[METHOD] method corresponding to the ejbCreate[METHOD] method does not exist.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.assertion=\
- Each entity bean may have zero or more ejbPostCreate methods that properly do not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.passed=\
- [ {0} ] declares [ {1} ] method that properly does not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.notApplicable1=\
- [ {0} ] does not declare any ejbPostCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.warning=\
- Error: Compatibility Note: An [ {0} ] method was found, but EJB 1.0 allowed the ejbPostCreate method to throw the java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean should throw a jakarta.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface.assertion=\
- Implements the SessionBean interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.5.1
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface.passed=\
- [ {0} ] properly implements the SessionBean interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface.failed=\
- Error: [ {0} ] does not properly implement the SessionBean interface. All session beans must implement the SessionBean interface. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface.debug1=\
- Interface [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface.assertion=\
- Only a stateful session bean with container-managed transaction demarcation may implement the SessionSynchronization interface. A stateless session bean must not implement the Session-Synchronization interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.5.4
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.3.7
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface.passed=\
- The required interface is properly implemented
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface.failed=\
- Error: [ {0} ] does not properly implement the SessionSynchronization interface. SessionSynchronization interface must not be implemented by a stateless session bean. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface.debug1=\
- Interface [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.assertion=\
- Each session bean must have at least one ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.passed=\
- [ {0} ] properly declares [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.failed=\
- Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.failedException1=\
-Error: no ejbCreate[METHOD] method for corresponding create[METHOD] method found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.assertion=\
- Each session bean must have at least one public ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.passed=\
- [ {0} ] properly declares public [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.failed=\
- Error: An [ {0} ] method was found, but was not public.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.failed1=\
- Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.assertion=\
- Each session bean must have at least one non-final ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.debug1=\
- For enterprise bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.passed=\
- [ {0} ] properly declares non-final ejbCreate[METHOD] method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.failed=\
- Error: A final [ {0} ] method was found, but [ {1} ] cannot be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.failed1=\
- Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.assertion=\
- Each session bean must have at least one non-static ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.passed=\
- [ {0} ] properly declares non-static ejbCreate(...) method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.failed=\
- Error: A static [ {0} ] method was found, but [ {1} ] cannot be declared as static.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.failed1=\
- Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.assertion=\
- Each session bean must have at least one ejbCreate method with valid RMI-IIOP argument types.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.passed=\
- [ {0} ] properly declares [ {1} ] method with valid RMI-IIOP argument types.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.failed=\
- Error: An [ {0} ] method was found, but [ {1} ] method has invalid parameter values. [ {2} ] method argument types must be valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.failed1=\
- Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjCreateMethodArgs.failedException1=\
-Error: ejbCreate[METHOD] method corresponding to the create[METHOD] method does not exist.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.assertion=\
- Each session bean must have at least one ejbCreate method with valid return type.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.passed=\
- [ {0} ] properly declares [ {1} ] method with valid void return type.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.notApplicable2=\
- An [ {0} ] method was found , but [ {1} ] method has a return type value other than void. [ {2} ] method return type must be void for at least one ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.failed=\
- Error: [ {0} ] does not properly declare at least one ejbCreate(...) method with valid void return type. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.assertion=\
- Each session bean must have at least one ejbCreate method which properly does not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.debug1=\
- For enterprise bean class [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.passed=\
- [ {0} ] properly declares [ {1} ] method which properly does not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.failed=\
- Error: [ {0} ] does not properly declare at least one ejbCreate(...) method. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.warning=\
- Error: Compatibility Note: A public ejbCreate(...) method was found, but EJB 1.0 allowed the ejbCreate method to throw a java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean should throw a jakarta.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne.assertion=\
- Stateless session bean defines only one create method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.8
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.3.10.2, #4.5
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne.passed=\
- The bean's Home Interface has exactly one create Method defined.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne.failed=\
- Error: [ {0} ] create methods exist within bean [ {1} ]. The home interface for a stateless session bean must have only one create method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne.failedException=\
- Error: Class [ {0} ] not found within bean [ {1} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn.assertion=\
- Stateless session bean create method returns the session bean's remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.8, #7.8.2
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.5
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn.passed=\
- create method is properly defined in the remote/local home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn.failed=\
- Error: A Create method was found, but the return type [ {0} ] was not the Remote/Local interface
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn.failedException=\
- Error: Home/Local Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn.debug1=\
- For home interface [ {0} ] method [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.assertion=\
- A stateless session bean must define a single ejbCreate method, with no arguments.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.passed=\
- Valid: This bean''s [ {0} ] ejbCreate method has no parameters. Stateless session beans must have an ejbCreate method with no parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.failed=\
- Error: The ejbCreate method has one or more parameters within bean [ {0} ]. Stateless session beans must have ejbCreate methods with no parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.failed2=\
- Error: [ {0} ] ejbCreate methods exist within bean [ {1} ]. A stateless session bean class must have only one ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.failed3=\
- Error: No ejbCreate method exists within bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.failed4=\
- Error: [ {0} ] is not valid stateType within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.failedException=\
- Error: Class [ {0} ] not found within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome.notApplicable1=\
- {0} expected {1} session bean, but called with {2} session bean.
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface.assertion=\
- Enterprise bean class optionally implements the enterprise bean's remote/local interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.2
-com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface.warning=\
- Warning: [ {0} ] class implements the enterprise bean''s remote/local interface [ {1} ]. It is recommended that the enterprise bean class not implement the remote/local interface to prevent inadvertent passing of this as a method argument or result.
-com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface.debug1=\
- Interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface.passed=\
- Bean class does not implement the enterprise Bean's remote interface.
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic.assertion=\
- Enterprise bean must implement all business methods and they must be public.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4, #10.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic.passed=\
- Proper declaration of business method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic.failed=\
- Error: Matching public business method [ {0} ] not found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic.failedException=\
- Error: Component interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName.assertion=\
- Enterprise bean business method name must not conflict with the name of the methods defined by the EJB architecture.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4, #10.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName.passed=\
- Proper declaration of business method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName.failed=\
- Error: Business method [ {0} ] was found, but was not properly named. [ {1} ] must not conflict with the names of the methods defined by the EJB architecture.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName.failedException=\
- Error: Component interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodMatchesWithDD.assertion=\
- Component interface business methods should be declared in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodMatchesWithDD.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodMatchesWithDD.passed=\
- Business method(s) are valid.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodMatchesWithDD.failed=\
- Error: Business method [ {0} ] is not defined in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodMatchesWithDD.failedException=\
- Error: Component interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic.assertion=\
- Enterprise bean business method must not be declared as static.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4, #10.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic.passed=\
- Proper declaration of business method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic.failed=\
- Error: static business method [ {0} ] was found, but business methods cannot be declared as static.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic.failedException=\
- Error: Component interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal.assertion=\
- Enterprise bean business methods must not be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4, #10.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal.passed=\
- Proper declaration of business method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal.failed=\
- Error: final business method [ {0} ] was found, but business methods cannot be declared as final.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal.failedException=\
- Error: Component interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs.assertion=\
- The argument types for a method must be legal types for RMI/IIOP if the method corresponds to a business method on the session bean remote business interface or remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4, #10.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs.passed=\
- Proper declaration of business method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs.failed=\
- Error: business method [ {0} ] was found, but business method has invalid parameter values. Business method parameter types must be valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs.failedException=\
- Error: Component interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.assertion=\
- Enterprise bean ejbHome[METHOD] method has valid RMI-IIOP parameter types.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.6, #7.11.6, #12.2.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.passed=\
- [ {0} ] properly declares ejbHome[METHOD] method [ {1} ] with valid RMI-IIOP parameter types.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.failed=\
- Error: ejbHome[METHOD] method [ {0} ] was found, but ejbHome[METHOD] method has invalid parameter values. ejbHome[METHOD] method argument types must be valid types for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.notApplicable1=\
- [ {0} ] does not declare any ejbHome[METHOD] methods.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.failedException=\
- Error: Remote interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn.assertion=\
- The return value types for a method must be legal types for RMI/IIOP if the method corresponds to a business method on the session bean remote business interface or remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4, #10.6.8, #12.2.7
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn.passed=\
- Proper declaration of business method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn.failed=\
- Error: business method [ {0} ] was found, but business method has invalid return type [ {1} ]. Business method return type must be a valid type for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn.failedException=\
- Error: Remote interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.assertion=\
- Enterprise bean ejbHome[METHOD] method has valid RMI-IIOP return type.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.6, #7.11.6, #12.2.9
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.passed=\
- [ {0} ] properly declares ejbHome[METHOD] method [ {1} ] with valid RMI-IIOP return type.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.failed=\
- Error: business method [ {0} ] was found, but ejbHome[METHOD] method has invalid return value. ejbHome[METHOD] method return type must be a valid type for RMI-IIOP.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.notApplicable1=\
- [ {0} ] does not declare any ejbHome[METHOD] methods.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.failedException=\
- Error: Remote interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn.notApplicable=\
- {0} expected {1} bean or {2} bean, but called with {3}.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException.assertion=\
- Enterprise bean ejbHome[METHOD] method must not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #8.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException.passed=\
- Valid Home method(s).
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException.warning=\
- Error: Compatibility Note: A public ejbHome[METHOD] method [ {0} ] was found, but EJB 1.0 allowed ejbHome[METHOD] methods to throw the java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean should throw a jakarta.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container.
-com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException.failedException=\
- Error: Remote interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException.assertion=\
- Enterprise bean business methods must not throw RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.4, #10.6.8, #12.2.7
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException.passed=\
- Proper declaration of business method(s) found.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException.warning=\
- Error: Compatibility Note: A public business method [ {0} ] was found, but EJB 1.0 allowed business methods to throw the java.rmi.RemoteException to indicate a non-application exception. This practice is deprecated in EJB 1.1 -- an EJB 1.1 compliant enterprise bean should throw a jakarta.ejb.EJBException or another RuntimeException to indicate non-application exceptions to the Container.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException.failedException=\
- Error: Remote interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames.assertion=\
- Session bean home interface methods must not define any finder method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #6.6
-com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #3.6.5
-com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames.debug1=\
- For home interface [ {0} ] method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames.passed=\
- No finder methods were found. A session bean's home interface is not allowed to have any finder methods.
-com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames.failed=\
- Error: Improperly named method [ {0} ] was found. A session bean''s home interface is not allowed to have any finder methods.
-com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.assertion=\
- Session bean home interface create methods must match ejbCreate[METHOD] method in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.debug1=\
- For home interface method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.debug3=\
- For home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.passed=\
- The corresponding ejbCreate[METHOD] method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.failed=\
- Error: No corresponding create[METHOD] method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.failedException=\
- Error: Home (Remote/Local) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.failedException1=\
- Error: ejbCreate[METHOD] method corresponding to the create[METHOD] method does not exist!
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs.failedException2=\
- Error: no create[METHOD] method exists!
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.assertion=\
- Session bean home interface create methods must have a corresponding ejbCreate[METHOD] method in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.5.7
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.debug1=\
- For home interface method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.debug3=\
- For home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.passed=\
- The corresponding ejbCreate[METHOD] method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.failed=\
- Error: No corresponding ejbCreate[METHOD] method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.failedException=\
- Error: Home (Remote/Local) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.failedException1=\
- Error: ejbCreate[METHOD] method corresponding to the create[METHOD] method does not exist!
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate.failedException2=\
- Error: no ejbCreate[METHOD] method exists!
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.assertion=\
- Entity bean home interface create methods must have a corresponding ejbCreate[METHOD] method in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.debug1=\
- For home interface method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.debug3=\
- For home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.passed=\
- The corresponding ejbCreate[METHOD] method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.failed=\
- Error: No corresponding ejbCreate[METHOD] method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.failedException=\
- Error: Home (Remote/Local) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.failedException1=\
- Error: ejbCreate[METHOD] method corresponding to the create[METHOD] method does not exist!
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.failedException2=\
- Error: no ejbCreate[METHOD] method exists!
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.assertion=\
- Session bean home interface create methods must return remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.passed=\
- A create method that returns the remote interface was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.failed=\
-Error: A create method was found, but the return type [ {0} ] was not the Remote/Local interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.failedException=\
- Error: Home interface [ {0} ] or remote interface [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodExceptionCheck.assertion=\
- All the exceptions defined in the throws clause of the matching method of the session bean class must be defined in the throws clause of the method of the component interface
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodExceptionCheck.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.5
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodExceptionCheck.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodExceptionCheck.failed=\
- Remote interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodExceptionCheck.warning=\
- Not Compatible Exception: A public business method [ {0} ] was found, but according to the EJB specification, all the exceptions defined in the throws clause of the matching method of the session bean class must be defined in the throws clause of the method of the remote interface. Exception [ {1} ] is not defined in the bean''s remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodExceptionCheck.passed=\
- Passed: All the exceptions defined in the throws clause of the matching business methods are defined in the throws clause of the method of the remote interface
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.assertion=\
- Session bean home interface create methods must throw jakarta.ejb.CreateException.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6, #7.11.8
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.passed=\
- The create method that throws jakarta.ejb.CreateException was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.failed=\
- Error: A create method was found, but did not throw jakarta.ejb.CreateException.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.failed1=\
- Error: No create method was found in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.notApplicable1=\
-No create method was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.assertion=\
- Session bean home interface create method exceptions match.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.11.6, #7.11.8
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug1=\
- For home interface method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug4=\
- For home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug3=\
-A corresponding [ {0} ] method was found, but the exceptions defined by method [ {1} ] are not defined within matching create() method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.passed=\
- The corresponding [ {0} ] method with matching exceptions was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.failed=\
- Error: A corresponding [ {0} ] method was found, but the exceptions defined by method [ {1} ] are not defined within matching create() method.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.failed1=\
- Error: No corresponding ejbCreate method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.failedException=\
- Error: Home (Remote/Local) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.assertion=\
- Session bean home interface create methods must throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.10.3
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.8
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.debug3=\
- For home interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.passed=\
- The create method that throws java.rmi.RemoteException was found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.failed=\
- Error: A create method was found, but did not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.failed1=\
- Error: No create method was found in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.notApplicable1=\
- No remote home interface was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient.assertion=\
- Session bean class declares all fields as non-transient fields.
-com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #7.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #4.2.1
-com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient.passed=\
- The session bean class has defined all fields as non-transient fields.
-com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient.warning=\
- Warning: Field [ {0} ] defined within session bean class [ {1} ] is defined as transient. Session bean fields should not be defined in the session bean class as transient.
-com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient.warningException=\
- Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.assertion=\
- Entity bean home interface create methods must match ejbCreate method in bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.debug1=\
- For home interface method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.debug3=\
- For home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.passed=\
- The corresponding ejbCreate method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.failed=\
- Error: No corresponding ejbCreate method with matching parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.failedException=\
- Error: Home (Remote/Local) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.failedException1=\
- Error: create[METHOD] method corresponding to the ejbCreate[METHOD] method does not exist!
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.notApplicable1=\
- No create method was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.assertion=\
- Entity bean home interface create methods must return remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.debug3=\
- In home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.passed=\
- A create method that returns [ {0} ] interface was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.failed=\
-Error: A create method was found, but the return type [ {0} ] was not the Remote/Local interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.failedException=\
- Error: Home interface [ {0} ] or remote interface [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.notApplicable1=\
- No create method was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.assertion=\
- Entity bean home interface create methods must throw jakarta.ejb.CreateException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.debug3=\
- For home interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.passed=\
- The create method that throws jakarta.ejb.CreateException was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.failed=\
- Error: A create method was found, but did not throw jakarta.ejb.CreateException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.notApplicable1=\
- No create method was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.assertion=\
- Entity bean home interface create methods must throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.debug3=\
- No home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.passed=\
- The create method that throws java.rmi.RemoteException was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.failed=\
- Error: A create method was found, but did not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.notApplicable1=\
- No create method was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.assertion=\
- Entity bean home interface create and bean class ejbCreate method exceptions match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug1=\
- For home interface method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug4=\
- For home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.passed=\
- The corresponding [ {0} ] method with matching exceptions was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.debug3=\
- A corresponding [ {0} ] method was found, but the exceptions defined by method [ {1} ] are not defined within matching create() method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.failed=\
- Error: No corresponding ejbCreate() method was found, where the exceptions defined by method ejbCreate() are defined within matching create() method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.notApplicable1=\
- No create method was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.failedException=\
- Error: Home (Remote/Local) interface or bean class [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.assertion=\
- Entity bean home interface create and bean class ejbPostCreate[METHOD] method exceptions match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.debug3=\
- For home interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.passed=\
- The corresponding [ {0} ] method with matching exceptions was found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.notApplicableDebug=\
- A corresponding [ {0} ] method was found in [ {1} ], but the exceptions did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.notApplicableDebug2=\
- A corresponding [ {0} ] method was found in [ {1} ], but the parameters did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.failed=\
- Error: No corresponding ejbPostCreate[METHOD] method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.notApplicable1=\
- No create method was found, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.failedException=\
- Error: Home interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.assertion=\
- Entity bean home interface find[METHOD](...) matches ejbFind[METHOD](...).
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.5.3, #10.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.passed=\
- The corresponding [ {0} ] method with matching method parameters was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.failed=\
- Error: A corresponding [ {0} ] method was found, but the parameters did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.failed1=\
- Error: No corresponding ejbFind[METHOD](...) method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.failedException=\
- Error: Home interface [ {0} ] or bean Class [ {1} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.assertion=\
- Entity bean home interface find[METHOD](...) methods must return the remote interface or a collection thereof.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.passed=\
- A find method that returns the remote interface or a collection thereof was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.failed=\
- Error: A find method was found, but the return type [ {0} ] was not the remote interface [ {1} ] or a collection thereof.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.failedException=\
- Error: Home interface [ {0} ] or remote interface [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.assertion=\
- Entity bean home interface find[METHOD](...) methods must throw jakarta.ejb.FinderException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.passed=\
- The [ {0} ] method that throws jakarta.ejb.FinderException was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.failed=\
- Error: A [ {0} ] method was found, but did not throw jakarta.ejb.FinderException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.assertion=\
- Entity bean home interface find[METHOD](...) methods must have a query assigned to them.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.passed=\
- The [ {0} ] method has a query assigned to it.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.failed=\
- Error: A [ {0} ] method was found, but did not have a query element assigned to it.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.assertion=\
- Entity bean home interface find[METHOD](...) methods must throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.passed=\
- The find[METHOD] method that throws java.rmi.RemoteException was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.failed=\
- Error: A find[METHOD] method was found, but did not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote.notApplicable1=\
- No Remote Interface for this Ejb
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.assertion=\
- Entity bean home interface find[METHOD](...) method and bean class ejbFind[METHOD(...) method exceptions match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.debug1=\
- For home interface [ {0} ] method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.passed=\
- The corresponding [ {0} ] method with matching exceptions was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.failed=\
- Error: No corresponding [ {0} ] method with matching signatures was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.debug3=\
- A corresponding [ {0} ] method was found, but the exceptions did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.debug4=\
- A corresponding [ {0} ] method was found, but the parameters did not match.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.failedException=\
- Error: Home interface [ {0} ] or bean class [ {1} ] does not exist or is not loadable within bean [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.assertion=\
- Home interface defines findByPrimaryKey method.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.debug1=\
- For home interface [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.debug3=\
- For home interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.passed=\
- A findByPrimaryKey method was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.failed=\
- Error: No findByPrimaryKey method was found in home interface class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.assertion=\
- Home interface defines findByPrimaryKey method that returns the primary key type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.debug1=\
- For home interface [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.debug3=\
- For home interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.passed=\
- A findByPrimaryKey method was found with valid return type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.failed=\
- Error: A findByPrimaryKey method was found, but with invalid return type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.failed1=\
- Error: No findByPrimaryKey method was found in home interface class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.assertion=\
- Home interface defines findByPrimaryKey method with primary key class as method parameter.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.10, #10.6.12
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.debug1=\
- For home interface [ {0} ] finder method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.debug3=\
- For home interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.passed=\
- A findByPrimaryKey method with valid parameter type was found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.notApplicable1=\
- A findByPrimaryKey method was found, but with multiple parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.notApplicable2=\
- A findByPrimaryKey method was found, but with non-PrimaryKeyClass parameter type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.failed=\
- Error: No single-parameter findByPrimaryKey(PrimaryKeyClass) method was found in home interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.failedException=\
- Error: Home interface [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass.assertion=\
- The Bean Provider must specify a primary key class in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.13
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass.debug1=\
- For enterprise bean primary key class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass.passed=\
- A primary key class was defined in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass.failed=\
- Error: A primary key class was not defined in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.assertion=\
- The Bean Provider must specify a primary key class, which must be a legal value type in RMI-IIOP, in the deployment descriptor test.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.13
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.debug1=\
- For enterprise bean primary key class [ {0} ]
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.passed=\
- A primary key class that must be a legal value type in RMI-IIOP was defined in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.failed=\
- Error: A primary key class that is a legal value type in RMI-IIOP was not defined in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.failed1=\
- Error: A primary key class was not defined in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.assertion=\
- The Bean Provider must specify the method equals() in the primary key class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.13
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.debug1=\
- For enterprise bean primary key class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.passed=\
- Primary key class method [ {0} ] was defined in the primary key class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.failed=\
- Error: Primary key class method equals() was not defined in the primary key class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.failedException=\
- Error: Primary key class [ {0} ] not found within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual.notApplicable2=\
- Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.assertion=\
- The Bean Provider must specify the method hashCode() in the primary key class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.13
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.debug1=\
- For enterprise bean primary key class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.passed=\
- Primary key class method [ {0} ] was defined in the primary key class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.failed=\
- Error: Primary key class method hashCode() was not defined in the primary key class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.failedException=\
- Error: Primary key class [ {0} ] not found within bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode.notApplicable2=\
- Bean [ {0} ] is not [ {1} ] managed, it is [ {2} ] managed.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.assertion=\
- Container-managed field has valid type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #14.1.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.passed=\
- Valid type assigned to container-managed field [ {0} ] found in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.failed=\
- Error: Invalid type assigned to container-managed field [ {0} ] found in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.failedException1=\
- Error: field [ {0} ] not found in class [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence.assertion=\
- Container-managed fields must have at least one element defined for container-managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #14.1.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence.passed=\
- [ {0} ] container-managed fields found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence.failed=\
- Error: [ {0} ] container-managed fields found in [ {1} ]. Container-managed fields must have at least one element for container-managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.assertion=\
- Each entity bean with container-managed persistence ejbCreate(...) methods returns the primary key class type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.debug1=\
- For enterprise bean class [ {0} ] ejbCreate(...) method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.passed=\
- [ {0} ] properly returns the primary key class type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.debug2=\
- ==============================
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.failed=\
- Error: An ejbCreate(...) method was found, but did not properly return the primary key class type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.notApplicable1=\
- [ {0} ] does not declare any ejbCreate(...) methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.notApplicable2=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessorExposition.failedException1=\
-Exception occurred while trying to access primary key info in PersistenceDescriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.notApplicable=\
-No persistent fields found.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.assertion=\
- Entity bean primary key class properly declares public constructor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.8.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.passed=\
- This primary key class [ {0} ] has a public constructor method with no parameters.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.failed=\
- Error: A public constructor method with no parameters was not found in the primary key class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.notApplicable2=\
- Entity bean [ {0} ] with primkey-field non-blank, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.failedException2=\
- Error: primkey-field not defined within [ {0} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor.notApplicable=\
- {0} expected {1} bean, but called with {2}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.assertion=\
- Return type of the accessor method for cmp-field is not local interface type.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.failed=\
- Error: cmp-field accessor method [{0}] cannot return local interface [{1}].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.passed=\
- cmp-field accessor method [{0}] does not return local interface [{1}].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.failed2=\
- Not Applicable: No local interface found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType.failed1=\
- Error: cmp-field accessor method [{0}] not found.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldTest.notApplicable=\
-Not Applicable: The enterprise bean has no CMR fields declared.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFields.failed1=\
-Error: No local interfaces defined for enterprise bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CascadeDeleteNotSupportedForManyMany.failed=\
-Error: cascade-delete should not be supported for many-many relationships. Please check relationship role [{0}].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CascadeDeleteNotSupportedForManyMany.passed=\
-cascade-delete is not supported for many-many relationships.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable1=\
- Test does not apply to non-entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable2=\
- Test does not apply to entity bean declared with persistence type [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.notApplicable3=\
- Test does not apply to this cmp-version of container-managed persistence entity beans.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isFieldDeclared.failed=\
- Error: [ {0} ] field is declared in the class [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isFieldDeclared.success=\
- [ {0} ] field is not declared in the class [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.success=\
- [ {0} ] field accessor methods exist and have the correct signatures.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed1=\
- Error: [ {0} ] field accessor method has the wrong return type [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed2=\
- Error: Cannot find accessor [ {0} ] method for [ {1} ] field.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.failed3=\
- Error: Return type of accessor method [ {0} ] is null.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.startWithLowercasedLetter.failed=\
- Error: [ {0} ] field first letter is not lowercase.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.startWithLowercasedLetter.success=\
- [ {0} ] field first letter is lowercase.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.accessorMethodModifiers.success=\
- [ {0} ] field accessor methods are abstract and public or protected.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.accessorMethodModifiers.failed=\
- Error: [ {0} ] accessor method for field [ {1} ] is not abstract and public or protected.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.notApplicable=\
- Field [ {0} ] is not a dependent value class reference.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.passed=\
- Dependent value class [ {0} ] reference by CMP field [ {1} ] is public and not abstract and is serializable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.DependentValueClassModifiers.failed=\
-Verifier cannot find out if [ {0} ] is a dependent value class (reference by CMP field [ {1} ]).
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAbstract.assertion=\
- The CMP and CMR fields should be virtual fields only.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAbstract.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CascadeDeleteNotSupportedForManyMany.assertion=\
- cascade-delete is not supported for many-many relationships.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CascadeDeleteNotSupportedForManyMany.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.4.2
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAbstract.assertion=\
- The CMP and CMR fields should be virtual fields only.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAbstract.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldNameStartLowercase.assertion=\
- The CMP field name's first letter must be lowercase.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldNameStartLowercase.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldNameStartLowercase.assertion=\
- The CMR field name's first letter must be lowercase.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldNameStartLowercase.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessor.assertion=\
- CMP field accessors must bear the name of the field, first letter uppercased and prefixed with get and set.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessor.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessor.assertion=\
- CMR field accessors must bear the name of the field, first letter uppercased and prefixed with get and set.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessor.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CMPTest.isAccessorDeclared.passed=\
- CMR field is properly declared.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessorModifiers.assertion=\
- CMP field accessor methods must be abstract, public or protected.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessorModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessorModifiers.assertion=\
- CMR field accessor methods must be abstract, public or protected.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessorModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFields.assertion=\
- Container-managed field validity.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFields.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFields.passed=\
- Valid type assigned for container-managed field [ {0} ] in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFields.failed=\
- Error: Invalid type assigned for container-managed field [ {0} ] in bean [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFields.assertion=\
- Container-managed relationship validity.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFields.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFields.passed=\
- Valid type assigned for container-managed [ {0} ] in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFields.failed=\
- Error: Invalid type assigned for container-managed relationship [ {0} ] in bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrUseCorrectCollectionInterface.assertion=\
- Container-managed one-to-many or many-to-many relationships fields should have the same type as is declared in deployment descriptor cmr-field-type element.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrUseCorrectCollectionInterface.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrUseCorrectCollectionInterface.passed=\
- CMR field [ {0} ] is the same type as is declared in the deployment descriptors [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrUseCorrectCollectionInterface.failed=\
- Error: CMR field [ {0} ] is not the same type as is declared in the deployment descriptors [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrUseCorrectCollectionInterface.failed2=\
- Error : CMR field [ {0} ] cmr-field-type must be defined for one-to-many or many-to-many relationships \
- and the value of the cmr-field-type element must be either: java.util.Collection or java.util.Set
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.assertion=\
- Set accessor method for primary key fields should not be exposed in the remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.failed=\
- Error: Primary key field set accessor method [ {0} ] is exposed through the remote interface [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.passed=\
- Primary key field set accessor method [ {0} ] is not exposed through the remote interface [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition.failedException1=\
-Exception occurred while trying to access primary key info in PersistenceDescriptor.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.assertion=\
- CMR accessor methods for other than one-to-one or many-to-one relationships between entity beans should not be exposed in the remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failed=\
- Error: CMR field {0} accessor method [ {1} ] is exposed through the remote interface [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.passed=\
- CMR field {0} accessor method [ {1} ] is not exposed through the remote interface [ {2} .]
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition.failedException=\
- Error: [{0}] class not found or local interface not defined.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.DependentValueClassModifiers.assertion=\
- Dependent value class must be declared public and not abstract.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.DependentValueClassModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.3
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract.assertion=\
- The entity bean class does not implement the ejbFind[METHOD] methods.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract.passed=\
- [ {0} ] is not defined in bean class [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract.failed=\
- Error: [ {0} ] is defined in bean class [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.EjbTest.passed=\
-Not Applicable: No find methods found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.passed1=\
-Passed: Found method findByPrimaryKey.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.assertion=\
- Finder methods should be associated with a query element in the deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.failed=\
- Error: [ {0} ] seems to be a finder method but has no query element associated with it.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors.passed=\
- [ {0} ] has a query element associated with it.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException.assertion=\
- Query method should throw jakarta.ejb.FinderException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #12.2.9
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException.passed=\
- [ {0} ] throws jakarta.ejb.FinderException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException.failed=\
- Error: [ {0} ] does not throw jakarta.ejb.FinderException.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodTest.notApplicable=\
-Not Applicable: No select methods found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.assertion=\
- ejbSelect method must not be exposed through the home or remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.5.2, #10.5.7
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.passed=\
- [ {0} ] is not declared in the home or remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.failed=\
- Error: [ {0} ] is declared in the home or remote interface.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition.failedException=\
-Error: home or remote interface not found.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers.assertion=\
- ejbSelect methods must be public and abstract.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers.passed=\
- [ {0} ] is declared public and abstract.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers.failed=\
- Error: [ {0} ] is not declared public and abstract.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException.assertion=\
- ejbSelect methods must throw jakarta.ejb.FinderException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.6.7
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException.passed=\
- [ {0} ] throws jakarta.ejb.FinderException.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException.failed=\
- Error: [ {0} ] does not throw jakarta.ejb.FinderException.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.assertion=\
- ejbSelect methods must be associated with an EJB-QL query that includes a SELECT statement.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.failed1=\
- Error: [ {0} ] does not have an XML query element associated with it.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.failed2=\
- Error: [ {0} ] EJB-QL query and description are null.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.failed3=\
- Error: EJB-QL query for method [ {0} ] is null.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.passed1=\
- Description for [ {0} ] is provided.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.passed2=\
- EJB-QL query for [ {0} ] is correct.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL.passed3=\
- No EJB-QL query found.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType.assertion=\
- ejbSelect methods must not return the entity bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.7.4
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType.passed=\
- [ {0} ] ejbSelect method does not return the {1} class.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType.failed=\
- Error: [ {0} ] ejbSelect method returns the {1} class.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.assertion=\
- Entity bean primary key class properly declares public class modifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.8.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.passed=\
- [ {0} ] properly declares public class modifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.failed=\
- Error: Entity bean primary key class [ {0} ] was found, but was not declared as public. The primary key class [ {1} ] must be defined as public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.notApplicable2=\
- Entity bean [ {0} ] with primkey-field non-blank, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.failedException2=\
- Error: primkey-field not defined within [ {0} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier.notApplicable=\
- {0} expected {1} bean, but called with {2}.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.assertion=\
- Entity bean primary key class properly declares all class fields as public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.8.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.passed=\
- This primary key class [ {0} ] has defined all fields as public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.failed=\
- Error: Field [ {0} ] defined within primary key class [ {1} ] is not defined as public.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.notApplicable2=\
- Entity bean [ {0} ] with primkey-field non-blank, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.failedException2=\
- Error: primkey-field not defined within [ {0} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.notApplicable=\
- {0} expected {1} bean, but called with {2}.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic.warningException=\
- Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.assertion=\
- Entity bean primary key class properly declares all class fields within subset of the names of the container-managed fields.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.8.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.passed=\
- This primary key class [ {0} ] has defined all fields within subset of container-managed fields.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.failed=\
- Error: Field [ {0} ] defined within primary key class [ {1} ] is not defined within subset of container-managed fields.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.notApplicable2=\
- Entity bean [ {0} ] with primkey-field non-blank, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.failedException2=\
- Error: primkey-field not defined within [ {0} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.notApplicable=\
- {0} expected {1} bean, but called with {2}.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp.warningException=\
- Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.assertion=\
- Entity bean primary key class field names must correspond to the field names of the entity bean class that comprise the key.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.8
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.passed=\
- This primary key class [ {0} ] has defined all fields that correspond to the field names of the entity bean class [ {1} ] that comprise the key.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.passed1=\
- Valid: Field [ {0} ] defined within primary key class [ {1} ] corresponds to the field names of the entity bean class [ {2} ] that comprise the key.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.failed=\
- Error: Field [ {0} ] defined within primary key class [ {1} ] does not correspond to the field names of the entity bean class [ {2} ] that comprise the key.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.failedException=\
- Error: [ {0} ] class or [ {1} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.notApplicable2=\
- Entity bean [ {0} ] with primkey-field non-blank, test not applicable.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.failedException2=\
- Error: primkey-field not defined within [ {0} ] bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.notApplicable=\
- {0} expected {1} bean, but called with {2}.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields.warningException=\
- Warning: [ {0} ] class encountered [ {1} ]. Cannot access fields of class [ {2} ] which is external to [ {3} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.assertion=\
- Java types assigned to the container-managed fields are restricted to the following: Java primitive types, Java serializable types, and references of enterprise beans' remote or home interfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.passed=\
- This entity bean class [ {0} ] has assigned valid Java type to [ {1} ] container-managed field.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.failed=\
- Error: Field [ {0} ] defined within entity bean class [ {1} ] was assigned an invalid type. Container-managed fields must be assigned in the entity bean class with Java types restricted to the following: Java primitive types, Java serializable types, and references of enterprise beans'' remote or home interfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.failedException1=\
- Error: [ {0} ] field not found within class [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned.notApplicable=\
- {0} expected {1} bean, but called with {2}.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.assertion=\
- Entity bean class properly declares all container-managed fields as non-transient fields.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #14.1.1
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.passed=\
- This entity bean class [ {0} ] has defined [ {1} ] container-managed field as a non-transient field.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.failed=\
- Error: Field [ {0} ] defined within entity bean class [ {1} ] is defined as transient. Container-managed fields must not be defined in the entity bean class as transient.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.failedException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.failedException1=\
- Error: [ {0} ] field not found within class [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.notApplicable1=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient.notApplicable=\
- {0} expected {1} bean, but called with {2}.
-
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.assertion=\
- Entity bean primary key class defined by deployer, so type of the argument of the findByPrimaryKey method must be declared as java.lang.Object.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.8.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.passed=\
- findByPrimaryKey method properly defines method parameter [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.failed=\
- Error: findByPrimaryKey method does not properly define method parameter [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.failedException=\
- Error: Loading home interface class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.notApplicable1=\
- Primary key class is [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.notApplicable2=\
- Entity bean with [ {0} ] managed persistence, primary key mandatory.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt.notApplicable3=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.assertion=\
- Entity bean primary key class defined by deployer, so ejbCreate() must return java.lang.Object.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #14.1.9.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.passed=\
- ejbCreate() method properly defines method return type [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.failed=\
- Error: ejbCreate() method does not properly define method return type [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.failedException=\
- Error: Loading bean class [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.notApplicable1=\
- Primary key class is [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.notApplicable2=\
- Entity bean with [ {0} ] managed persistence, primary key mandatory.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn.notApplicable3=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType.assertion=\
- Entity bean primary key class defined by deployer, so primary key class type must be set to java.lang.Object.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.5, #10.8.3
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType.passed=\
- Properly defined primary key class type [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType.notApplicable=\
- {0} expected {1} bean, but called with {2} bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType.notApplicable1=\
- Primary key class is [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType.notApplicable2=\
- Entity bean with [ {0} ] managed persistence, primary key mandatory.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType.notApplicable3=\
- Expected [ {0} ] managed persistence, but [ {1} ] bean has [ {2} ] managed persistence.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.AbstractSchemaNameIsValidJavaIdentifier.assertion=\
- abstract-schema-name must be a valid java identifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.AbstractSchemaNameIsValidJavaIdentifier.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.13
-com.sun.enterprise.tools.verifier.tests.ejb.entity.AbstractSchemaNameIsValidJavaIdentifier.passed=\
- abstract-schema-name [ {0} ] within bean [ {1} ] is a valid java identifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.AbstractSchemaNameIsValidJavaIdentifier.failed=\
- abstract-schema-name [ {0} ] within bean [ {1} ] is not a valid java identifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.AbstractSchemaNameIsValidJavaIdentifier.notApplicable=\
- abstract-schema-name is not defined or this is not applicable for this bean.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbNameIsValidJavaIdentifier.assertion=\
- ejb-name must be a valid java identifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbNameIsValidJavaIdentifier.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #10.3.13
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbNameIsValidJavaIdentifier.passed=\
- ejb-name [ {0} ] within bean [ {1} ] is a valid java identifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbNameIsValidJavaIdentifier.failed=\
- ejb-name [ {0} ] within bean [ {1} ] is not a valid java identifier.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbNameIsValidJavaIdentifier.notApplicable=\
- [ {0} ] expected {1} bean, with Container Managed Persistence.
-
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.assertion=\
- The Web deployment descriptor has an expected PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.specMappingInfo_2.4=\
- Java Servlet 2.3 Specification Section #SRV.13.2.1
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.passed=\
- The deployment descriptor has the proper PubidLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.failed1=\
- Error: No document type declaration found in the deployment descriptor for {0}.
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.failed2=\
- Error: The deployment descriptor for {0} does not have an expected PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.IOException=\
- Error: I/O error trying to open {0}.
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.failed=\
-The deployment descriptor of {0} does not have the correct URL corresponding to the PubIdLiteral.
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.passed1=\
-The deployment descriptor has the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.web.WebPublicID.notApplicable=\
- Not Applicable: No DOCTYPE found for {0}.
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebName.assertion=\
- The listed Web application has a display-name.
-com.sun.enterprise.tools.verifier.tests.web.WebName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.WebName.passed=\
- Web application display name is: [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.WebName.failed=\
- Not Applicable: Web application display name is not defined.
-
-
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.assertion=\
- Servlet implements the jakarta.servlet.Servlet interface either directly or indirectly through GenericServlet or HttpServlet.
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.2.3
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.2.3
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.passed=\
- Servlet class [ {0} ] directly or indirectly implements jakarta.servlet.Servlet.
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.failed=\
- Error: Servlet class [ {0} ] does not directly or indirectly implement jakarta.servlet.Servlet.
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.ClassNotFoundException=\
- Error: [ {0} ] class not found.
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.IOException=\
- Error: I/O error trying to open [ {0} ], {1}.
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.notApplicable=\
- There are no servlet components within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.notApplicable1=\
- Not Applicable: Servlet [ {0} ] is a JAX-RPC endpoint.
-com.sun.enterprise.tools.verifier.tests.web.ServletInterface.warning=\
- Some servlet classes could not be loaded.
-
-com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared.assertion=\
- All servlets packaged in a WAR file must be declared in the deployment descriptors.
-com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.9.7
-com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.9.7, #13.1, 13.3
-com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared.notApplicable=\
- There are no servlet implementations within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared.passed=\
- Servlet class [ {0} ] found in war file is defined in the Deployement Descriptors
-com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared.warning=\
- Servlet class [ {0} ] found in war file is not defined in the Deployement Descriptors
-com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared.exception=\
- IOException while loading the WAR file [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.assertion=\
- The value of the ejb-link element is the ejb-name of an enterprise bean in the same J2EE application archive.
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4, J2EE 1.4 Platform Specification Section #5.3.2
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4, JavaEE 5 Platform Specification Section #5.5.2
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.passed=\
- ejb-link [ {0} ] found same value as enterprise bean [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.no_ear=\
- This Web application [ {0} ] is not part of a J2EE archive.
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.failed=\
- Error: No enterprise bean matching [ {0} ] found within [ {1} ] EAR file.
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.notApplicable1=\
- Not Applicable: Cannot verify the existence of an EJB reference [ {0} ] to external bean within different EAR file.
-com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement.notApplicable=\
- There are no EJB references to other beans within this Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup.assertion=\
- The value of the JSP load-on-startup element must be an integer.
-com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup.passed=\
- load-on-startup [ {0} ] value found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup.passed2=\
- load-on-startup is not specified for [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup.failed=\
- Error: load-on-startup [ {0} ] invalid value found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup.notApplicable=\
- There are no JSP pages within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.ServletLoadOnStartup.assertion=\
- The value of the servlet load-on-startup element must be an integer.
-com.sun.enterprise.tools.verifier.tests.web.ServletLoadOnStartup.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ServletLoadOnStartup.passed=\
- load-on-startup [ {0} ] value found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.ServletLoadOnStartup.failed=\
- Error: load-on-startup [ {0} ] invalid value found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.ServletLoadOnStartup.notApplicable=\
- There are no servlets within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.URLPatternErrorCheck.assertion=\
- Content of the url-pattern element must follow the rules specified in the servlet specification.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternErrorCheck.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.11.2
-com.sun.enterprise.tools.verifier.tests.web.URLPatternErrorCheck.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.11.2
-com.sun.enterprise.tools.verifier.tests.web.URLPatternErrorCheck.passed=\
- url-pattern [ {0} ] within [ {1} ] follows the rules specified in the servlet specification.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternErrorCheck.failed=\
- Error: Content of the url-pattern element [ {0} ] within [ {1} ] does not follow the rules specified in the servlet specification.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternErrorCheck.notApplicable=\
- There is no url-pattern element within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.URLPatternWarningCheck.assertion=\
- A url-pattern used for an exact match should not contain an asterisk (*).
-com.sun.enterprise.tools.verifier.tests.web.URLPatternWarningCheck.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.11.2
-com.sun.enterprise.tools.verifier.tests.web.URLPatternWarningCheck.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.11.2
-com.sun.enterprise.tools.verifier.tests.web.URLPatternWarningCheck.passed=\
- url-pattern [ {0} ] within [ {1} ] follows the rules specified in servlet specification.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternWarningCheck.warning=\
- url-pattern [ {0} ] within [ {1} ] will be used for exact match only, although it contains an asterisk (*).
-com.sun.enterprise.tools.verifier.tests.web.URLPatternWarningCheck.notApplicable=\
- There is no url-pattern element within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.URLPatternContainsCRLF.assertion=\
- url-pattern contains a carriage return (CR) or line feed (LF).
-com.sun.enterprise.tools.verifier.tests.web.URLPatternContainsCRLF.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.11.2
-com.sun.enterprise.tools.verifier.tests.web.URLPatternContainsCRLF.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.11.2
-com.sun.enterprise.tools.verifier.tests.web.URLPatternContainsCRLF.passed=\
- url-pattern [ {0} ] within [ {1} ] does not contain carriage return or line feed character.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternContainsCRLF.failed=\
- url-pattern [ {0} ] within [ {1} ] contains a carriage return or line feed character.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternContainsCRLF.notApplicable=\
- There is no url-pattern element within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletMappings.assertion=\
- All the servlet-mappings contain unique url-patterns.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletMappings.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.11.2, 13.3
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletMappings.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.11.2, 13.3
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletMappings.passed=\
- All the servlet-mappings contain unique url-patterns within Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletMappings.failed=\
- url-pattern [ {0} ] already exists in another servlet-mapping within [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletMappings.notApplicable=\
- There is no servlet-mapping within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletFilterMappings.assertion=\
- All the filter mappings contain unique url-patterns.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletFilterMappings.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletFilterMappings.passed=\
- All the filter mappings contain unique url-patterns within Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletFilterMappings.failed=\
- url-pattern [ {0} ] already exists in another filter-mapping within [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletFilterMappings.notApplicable=\
- There is no filter-mapping using a url-pattern within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInSecurityConstraints.assertion=\
- All the security constraints contain unique url-patterns.
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInSecurityConstraints.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.12.8, #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInSecurityConstraints.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.12.7, #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInSecurityConstraints.passed=\
- All the security constraints contain unique url-patterns within Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInSecurityConstraints.failed=\
- url-pattern [ {0} ] already exists in another security-constraint within [ { 1} ].
-com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInSecurityConstraints.notApplicable=\
- There is no security-constraint within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.LibDirExists.assertion=\
- Servlet lib directory resides in WEB-INF/lib directory.
-com.sun.enterprise.tools.verifier.tests.web.LibDirExists.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.9.5
-com.sun.enterprise.tools.verifier.tests.web.LibDirExists.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.9.5
-com.sun.enterprise.tools.verifier.tests.web.LibDirExists.passed=\
- Servlet lib directory [ {0} ] resides in WEB-INF/lib directory of [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.LibDirExists.notApplicable2=\
- Servlet lib directory [ {0} ] does not reside in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.LibDirExists.IOException=\
- Error: I/O error trying to open [ {0} ], {1}.
-com.sun.enterprise.tools.verifier.tests.web.LibDirExists.notApplicable=\
- There are no servlet components within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.ParamName.assertion=\
- Web application's param-name exists.
-com.sun.enterprise.tools.verifier.tests.web.ParamName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ParamName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.3.3, #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ParamName.passed=\
- param-name exists in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.ParamName.FileNotFoundException=\
- FileNotFoundException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ParamName.IOException=\
- IOException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ParamName.notApplicable=\
- There are no context parameters within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ParamName.failed=\
- param-name must not be an empty string.
-
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.assertion=\
- Web application's param-value exists.
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.specMappingInfo_2.5=\
-3D
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.passed=\
- param-value exists in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.FileNotFoundException=\
- FileNotFoundException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.IOException=\
- IOException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.notApplicable=\
- There are no context parameters within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ParamValue.failed=\
- param-value must not be an empty string.
-
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.assertion=\
- Web application's ServletParam name exists.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.passed=\
- ServletParam name exists in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.FileNotFoundException=\
- FileNotFoundException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.IOException=\
- IOException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.notApplicable=\
- There are no servlet parameters within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ServletParamName.failed=\
- Param name should not be an empty string.
-
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.assertion=\
- Web application's ServletParam value exists.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.passed=\
- ServletParam value exists in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.FileNotFoundException=\
- FileNotFoundException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.IOException=\
- IOException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.notApplicable=\
- There are no servlet parameters within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ServletParamValue.failed=\
- Param value should not be an empty string.
-
-com.sun.enterprise.tools.verifier.tests.web.TaglibUri.assertion=\
- taglib-uri element identifying a Tag Library used in the Web Application must not be empty.
-com.sun.enterprise.tools.verifier.tests.web.TaglibUri.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.TaglibUri.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4; JSP 2.1 Specification Section #JSP.3.1
-com.sun.enterprise.tools.verifier.tests.web.TaglibUri.passed=\
- taglib-uri element is a non-empty string.
-com.sun.enterprise.tools.verifier.tests.web.TaglibUri.failed=\
- taglib-uri should not be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.TaglibUri.notApplicable=\
- There are no TagLibConfigurationDescriptors within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.assertion=\
- The Tag Libary Description file specified by taglib-location element must exist in the Web Application
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4; JSP 2.1 Specification Section #JSP.3.1
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.passed=\
- Tag library exists in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.FileNotFoundException=\
- FileNotFoundException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.IOException=\
- IOException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.notApplicable=\
- There are no TagLibConfigurationDescriptors within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.TaglibLocation.failed=\
- [ {0} ] is not a valid tld location.
-
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.assertion=\
- Tag library file exists in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.specMappingInfo_2.4=\
- JSP 2.0 Specification Section #JSP.C.1
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.specMappingInfo_2.5=\
- JSP 2.1 Specification Section #JSP.C.1
-
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.passed=\
- Tag library class [ {0} ] found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.FileNotFoundException=\
- FileNotFoundException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.IOException=\
- IOException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.notApplicable=\
- There are no TagLibDescriptors within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.failed=\
- Tag library class [ {0} ] not found in [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.TagLibHandlerExists.failedException=\
- Exception occurred : [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.TagClassExtendsValidInterface.assertion=\
- Tag class implements jakarta.servlet.jsp.tagext.JspTag for JSP version 2.0, jakarta.servlet.jsp.tagext.Tag for earlier versions of JSP specification.
-com.sun.enterprise.tools.verifier.tests.web.TagClassExtendsValidInterface.specMappingInfo_2.4=\
- Section 7.1.3 and APPENDIX JSP.C of JSP Specification version 2.0
-com.sun.enterprise.tools.verifier.tests.web.TagClassExtendsValidInterface.specMappingInfo_2.5=\
- Section 7.1.3 and APPENDIX JSP.C of JSP Specification version 2.1
-com.sun.enterprise.tools.verifier.tests.web.TagClassExtendsValidInterface.failed=\
- Error: Tag class [ {0} ] in [ {1} ] does not implement a valid interface.
-com.sun.enterprise.tools.verifier.tests.web.TagClassExtendsValidInterface.passed=\
- No tag lib files are specified
-com.sun.enterprise.tools.verifier.tests.web.TagClassExtendsValidInterface.passed1=\
- Tag class [ {0} ] in [ {1} ] implements a valid interface.
-
-com.sun.enterprise.tools.verifier.tests.web.TEIClassExtendsValidInterface.assertion=\
- tei-class implements jakarta.servlet.jsp.tagext.TagExtraInfo.
-com.sun.enterprise.tools.verifier.tests.web.TEIClassExtendsValidInterface.specMappingInfo_2.4=\
- Section 7.1.2 and APPENDIX JSP.C of JSP Specification version 2.0
-com.sun.enterprise.tools.verifier.tests.web.TEIClassExtendsValidInterface.specMappingInfo_2.5=\
- Section 7.1.2 and APPENDIX JSP.C of JSP Specification version 2.1
-com.sun.enterprise.tools.verifier.tests.web.TEIClassExtendsValidInterface.passed=\
- tei-class [ {0} ] in [ {1} ]implements valid interface.
-com.sun.enterprise.tools.verifier.tests.web.TEIClassExtendsValidInterface.failed=\
- Error: tei-class [ {0} ] in [ {1} ] does not implement a valid interface.
-com.sun.enterprise.tools.verifier.tests.web.TEIClassExtendsValidInterface.notApplicable=\
- Not Applicable: There are no tlds defined in [ {0} ] or tei-class is not defined inside them.
-
-com.sun.enterprise.tools.verifier.tests.web.TagNameIsUnique.assertion=\
- The name subelement in the tag element defines a unique action name.
-com.sun.enterprise.tools.verifier.tests.web.TagNameIsUnique.specMappingInfo_2.4=\
- APPENDIX JSP.C of JSP Specification version 2.0
-com.sun.enterprise.tools.verifier.tests.web.TagNameIsUnique.specMappingInfo_2.5=\
- APPENDIX JSP.C of JSP Specification version 2.1
-com.sun.enterprise.tools.verifier.tests.web.TagNameIsUnique.passed=\
- No tag lib files are specified
-com.sun.enterprise.tools.verifier.tests.web.TagNameIsUnique.passed1=\
- All name elements are defined properly under the tag element of [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.TagNameIsUnique.failed=\
- The name element value [ {0} ] under the tag element in [ {1} ] is not unique.
-
-com.sun.enterprise.tools.verifier.tests.web.TagClassImplementsValidInterface.assertion=\
- The tag-class must implement the jakarta.servlet.jsp.tagext.DynamicAttributes interface if dynamic-attributes is true
-com.sun.enterprise.tools.verifier.tests.web.TagClassImplementsValidInterface.specMappingInfo_2.4=\
- APPENDIX JSP.C of JSP Specification version 2.0
-com.sun.enterprise.tools.verifier.tests.web.TagClassImplementsValidInterface.specMappingInfo_2.5=\
- APPENDIX JSP.C of JSP Specification version 2.1
-com.sun.enterprise.tools.verifier.tests.web.TagClassImplementsValidInterface.passed=\
- No tag lib files are specified
-com.sun.enterprise.tools.verifier.tests.web.TagClassImplementsValidInterface.failed=\
- Error: tag class [ {0} ] in [ {1} ] does not implements interface jakarta.servlet.jsp.tagext.DynamicAttributes
-com.sun.enterprise.tools.verifier.tests.web.TagClassImplementsValidInterface.passed1=\
- All tag-class defined in the tag lib descriptor files implement valid interface
-
-com.sun.enterprise.tools.verifier.tests.web.TaglibListenerClassExists.assertion=\
- The value is of the listener-class in .tld file is must be fully qualified classname of the listener class.listener class.
-com.sun.enterprise.tools.verifier.tests.web.TaglibListenerClassExists.specMappingInfo_2.4=\
- APPENDIX JSP.C of JSP Specification version 2.0
-com.sun.enterprise.tools.verifier.tests.web.TaglibListenerClassExists.specMappingInfo_2.5=\
- APPENDIX JSP.C of JSP Specification version 2.1
-com.sun.enterprise.tools.verifier.tests.web.TaglibListenerClassExists.passed=\
- No tag lib files are specified
-com.sun.enterprise.tools.verifier.tests.web.TaglibListenerClassExists.failed=\
- Taglib listener class [ {0} ] found in [ {1} ] is not loadable
-com.sun.enterprise.tools.verifier.tests.web.TaglibListenerClassExists.passed1=\
- taglib listener classes, if any, specified in tlds are loadable
-
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionMethodTest.assertion=\
- The specified method, in function-signature element, must be a public static method in the specified class, and must be specified using a fully-qualified return type followed by the method name, followed by the fully-qualified argument types in parenthesis, separated by commas
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionMethodTest.specMappingInfo_2.4=\
- Section JSP.2.6 and APPENDIX JSP.C of JSP Specification version 2.0
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionMethodTest.specMappingInfo_2.5=\
- Section JSP.2.10.2 and APPENDIX JSP.C of JSP Specification version 2.1
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionMethodTest.failed=\
- Error: The method [ {0} ] as defined in function-signature element of [ {1} ] does not exists or is not a public static method in class [ {2} ]
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionMethodTest.passed=\
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionMethodTest.
-
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionSignatureIsValid.assertion=\
- The function-signature must be specified using a fully-qualified return type followed by the method name, followed by the fully-qualified argument types in parenthesis, separated by commas.
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionSignatureIsValid.specMappingInfo_2.4=\
- Section JSP.2.6 and APPENDIX JSP.C of JSP Specification version 2.0
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionSignatureIsValid.specMappingInfo_2.5=\
- Section JSP.2.10.2 and APPENDIX JSP.C of JSP Specification version 2.1
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionSignatureIsValid.passed=\
- function-signature element of the tag lib descriptor are properly defined.
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionSignatureIsValid.failed1=\
- ERROR: In the tld [ {0} ] parameters are not specified correctly in this signature [ {1} ]
-com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionSignatureIsValid.failed=\
- ERROR: In the tld [ {0} ] return type is not specified correctly in this signature [ {1} ]
-
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.assertion=\
- Resource reference name exists.
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.9.11, #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.14.2.2, #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.passed=\
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.passed=\
- Resource reference exists in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.FileNotFoundException=\
- FileNotFoundException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.IOException=\
- IOException while creating the JAR file.
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.notApplicable=\
- There are no resource references defined within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ResourceRefName.failed=\
- Resource reference entry should not be an empty string.
-
-com.sun.enterprise.tools.verifier.tests.web.elements.ServletName.assertion=\
- Servlet name exists.
-com.sun.enterprise.tools.verifier.tests.web.elements.ServletName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.ServletName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.ServletName.passed=\
- Servlet class's name is valid.
-com.sun.enterprise.tools.verifier.tests.web.elements.ServletName.failed=\
- Servlet class name should not be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.elements.ServletName.notApplicable=\
- There are no servlet components within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName.assertion=\
- Web environment entry name.
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName.passed=\
- Environment entry value [ {0} ] has valid name within Web archive [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName.failed=\
- Environment entry name should not be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName.notApplicable=\
- There are no environment entry elements defined within this Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.assertion=\
- Web archive references to other beans.
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.specMappingInfo_2.4=\
- Java Servlet 2.3 Specification Section #SRV.9.5, Java Servlet 2.4 Specification Section #SRV.13.4, J2EE 1.4 Platform Specification Section #5.3.1.2, J2EE 1.4 Platform Specification Section #5.3.2
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.notApplicable2=\
- Not Applicable: [ {0} ] must be external reference to bean outside of [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.notApplicable=\
-Not Applicable: No EJB references found in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.IOException=\
-I/O error trying to open {0}.
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.notApplicable1=\
-There are no EJB references to other beans within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.passed1=\
-The referenced enterprise bean''s bean class [ {0} ] exists and is loadable within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.failed=\
-Error: The [ {0} ] interface of the referenced enterprise bean [ {1} ] is not packaged inside the WEB-INF directory of the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.failed1=\
-Error: Bean class [ {0} ] does not exist or is not loadable.
-com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF.passed=\
-The referenced bean''s home/component [ {0} ] interface exists and is loadable within [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.web.ResourceAuth.assertion=\
- Resource reference authorization.
-com.sun.enterprise.tools.verifier.tests.web.ResourceAuth.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.ResourceAuth.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.ResourceAuth.passed=\
- Resource reference has valid authorization.
-com.sun.enterprise.tools.verifier.tests.web.ResourceAuth.failed=\
- Resource reference authorization has to be either Container or Application.
-com.sun.enterprise.tools.verifier.tests.web.ResourceAuth.notApplicable=\
- There are no resource references defined within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement.assertion=\
- Web archive enterprise bean reference type.
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement.specMappingInfo_2.4=\
- Java Servlet 2.3 Specification Section #SRV.13.3, Java Servlet 2.4 Specification Section 13.4, J2EE 1.4 Platform Specification Section #5.3.1.2, J2EE 1.4 Platform Specification Section #5.3.2
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section 13.4, JavaEE 5 Platform Specification Section #5.5.1.3
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement.passed=\
- All ejb-ref-type elements are valid. They are all [ {0} ] or [ {1} ] within the Web archive [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement.failed=\
- Error: ejb-ref-type [ {0} ] within Web archive [ {1} ] is not valid. Must be [ {2} ] or [ {3} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement.notApplicable=\
- There are no EJB references to other beans within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement.assertion=\
- Web archive references to other bean's home interfaces.
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement.specMappingInfo_2.4=\
- Java Servlet 2.3 Specification Section #SRV.13.3, Java Servlet 2.4 Specification Section 13.4, J2EE 1.4 Platform Specification Section #5.3.1.2, J2EE 1.4 Platform Specification Section #5.3.2
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section 13.4, JavaEE 5 Platform Specification Section #5.5.1.3
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement.passed=\
- For ejb-ref element [ {0} ] the home/component interface class [ {1} ] is loadable within [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement.failed=\
- Error: For ejb-ref element [ {0} ] the home/component interface class [ {1} ] is not loadable within [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement.notApplicable=\
- There is no ejb-ref inside [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable.assertion=\
- All classes in this Web Archive are loadable excluding classes used in JSPs. The test AllJSPsMustBeCompilable takes care of reporting non portable errors in JSP classes.
-com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable.specMappingInfo_2.4=\
- J2EE 1.4 Specification Section #8.1.2
-com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable.specMappingInfo_2.5=\
- JavaEE 5 Specification Section #8.1.2
-com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable.passed=\
- All the classes are loadable within [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable.exception=\
- Error: [ {0} ] exception while loading the archive [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.JspFile.assertion=\
- jsp-file element contains the full path to a JSP file within the Web application.
-com.sun.enterprise.tools.verifier.tests.web.JspFile.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.JspFile.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.JspFile.passed=\
- jsp-file element [ {0} ] contains the full path to a JSP file within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.JspFile.failed=\
- Error: jsp-file element [ {0} ] is not found within [ {1} ] or does not contain the full path to a JSP file within Web application [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.JspFile.notApplicable=\
- There are no JSP components within the Web archive [ {0} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.web.WelcomeFile.assertion=\
- welcome-file element contains the file name to use as a default welcome file.
-com.sun.enterprise.tools.verifier.tests.web.WelcomeFile.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #9.10, #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WelcomeFile.specMappingInfo_2.5=\
- Java Servlet 2.4 Specification Section #9.10, #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WelcomeFile.failed1=\
- Error: Welcome file URL [ {0} ] must be a partial URL with no trailing or leading /.
-com.sun.enterprise.tools.verifier.tests.web.WelcomeFile.passed=\
- welcome-file element [ {0} ] contains the file name to use as a default welcome file within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WelcomeFile.failed=\
- Error: Welcome file [ {0} ] is not found within [ {1} ] or does not contain the file name to use as a default welcome file within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WelcomeFile.notApplicable=\
- There are no welcome file elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.ExceptionType.assertion=\
- exception-type element contains a fully qualified class name of a Java exception type.
-com.sun.enterprise.tools.verifier.tests.web.ExceptionType.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ExceptionType.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ExceptionType.passed=\
- exception-type element [ {0} ] contains a fully qualified class name of a Java exception type within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.ExceptionType.failed=\
- Error: exception-type element [ {0} ] does not contain a fully qualified class name of a Java exception type within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.ExceptionType.notApplicable=\
- There are no exception-type elements within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ExceptionType.notApplicable1=\
- Exception type is null, using error-code [ {0} ] instead within Web application [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebResourceName.assertion=\
- The web-resource-name element contains the name of this Web resource collection.
-com.sun.enterprise.tools.verifier.tests.web.WebResourceName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.WebResourceName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.WebResourceName.passed=\
- web-resource-name [ {0} ] contains the name of this Web resource collection within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceName.failed=\
- Error: web-resource-name [ {0} ] does not contain the name of this Web resource collection within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceName.notApplicable=\
- There are no web-resource-name elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.assertion=\
- The http-method element contains the name of the Web resource collection's HTTP method.
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.passed=\
- http-method [ {0} ] is a valid HTTP method name within Web resource collection [ {1} ] in Web application [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.failed=\
- Error: http-method [ {0} ] is not a valid HTTP method name within Web resource collection [ {1} ] in Web application [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.notApplicable=\
- There are no http-method elements within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.notApplicable1=\
- There are no http-method elements in the Web resource collection [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod.notApplicable2=\
- There are no Web resource collections in the Web security constraint within [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee.assertion=\
- The transport-guarantee element specifies that the communication between client and server should be "SECURE", "NONE", or "CONFIDENTIAL".
-com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #12.8, #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV12.7, #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee.passed=\
- transport-guarantee [ {0} ] specifies that the communication between client and server should be one of \"SECURE\", \"NONE\", or \"CONFIDENTIAL\" within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee.failed=\
- Error: transport-guarantee [ {0} ] does not specify that the communication between client and server is one of \"SECURE\", \"NONE\", or \"CONFIDENTIAL\" within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee.notApplicable=\
- There are no transport-guarantee elements within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee.notApplicable1=\
- There are no transport-guarantee elements within the Web application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.assertion=\
- Web security role names.
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.passed=\
- The security role name [ {0} ] was found within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.failed=\
- Error: The security role name [ {0} ] was not found within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.notApplicable=\
- There are no security role-name elements within this Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.notApplicable1=\
- Not Applicable: There are no security roles in this security constraint within [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName.notApplicable2=\
- Not Applicable: There is no authorization constraint in this security constraint within [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.AuthMethod.assertion=\
- Web auth-method must be one of the following: "BASIC", "DIGEST", "FORM" or "CLIENT-CERT".
-com.sun.enterprise.tools.verifier.tests.web.AuthMethod.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #12.5 #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.AuthMethod.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #12.5 #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.AuthMethod.passed=\
- The auth-method [ {0} ] is a valid value within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.AuthMethod.failed=\
- Error: The auth-method [ {0} ] is not a valid value within Web application [ {1} ]. It must be either [ {2} ], [ {3} ], [ {4} ], or [ {5} ].
-com.sun.enterprise.tools.verifier.tests.web.AuthMethod.notApplicable=\
- There are no auth-method elements within this Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.FormLoginPage.assertion=\
- Web form-login-page value defines the location in the Web application where the page to be used for login can be found.
-com.sun.enterprise.tools.verifier.tests.web.FormLoginPage.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.FormLoginPage.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.FormLoginPage.passed=\
- The form-login-page [ {0} ] value defines the location in the Web application [ {1} ] where the page to be used for login can be found.
-com.sun.enterprise.tools.verifier.tests.web.FormLoginPage.failed=\
- Error: The form-login-page [ {0} ] value does not define the location in the Web application [ {1} ] where the page to be used for login can be found.
-com.sun.enterprise.tools.verifier.tests.web.FormLoginPage.notApplicable=\
- There are no form-login-page elements within this Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.FormErrorPage.assertion=\
- Web form-error-page value defines the location in the Web application where the error page that is displayed when login is not successful can be found.
-com.sun.enterprise.tools.verifier.tests.web.FormErrorPage.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.FormErrorPage.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.FormErrorPage.passed=\
- The form-error-page [ {0} ] value defines the location in Web application [ {1} ] where the error page that is displayed when login is not successful can be found.
-com.sun.enterprise.tools.verifier.tests.web.FormErrorPage.failed=\
- Error: The form-error-page [ {0} ] value does not define the location in Web application [ {1} ] where the error page that is displayed when login is not successful can be found.
-com.sun.enterprise.tools.verifier.tests.web.FormErrorPage.notApplicable=\
- There are no form-error-page elements within this Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.RealmName.assertion=\
- Web realm-name specifies the realm name to use in HTTP basic authentication.
-com.sun.enterprise.tools.verifier.tests.web.RealmName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #12.5.1 #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.RealmName.specMappingInfo_2.5=\
- Java Servlet 2.4 Specification Section #12.5.1 #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.RealmName.passed=\
- The realm-name [ {0} ] value specifies the realm name to use in HTTP basic authentication within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.RealmName.notApplicable1=\
- Not Applicable: The realm-name [ {0} ] value does not specify the realm name to use in HTTP basic authentication within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.RealmName.notApplicable=\
- There are no realm-name elements within this Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.ErrorCode.assertion=\
- error-code element contains an HTTP error code.
-com.sun.enterprise.tools.verifier.tests.web.ErrorCode.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ErrorCode.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.ErrorCode.passed=\
- error-code [ {0} ] contains valid HTTP error code within Web application [ {1} ]
-com.sun.enterprise.tools.verifier.tests.web.ErrorCode.failed=\
- Error: error-code [ {0} ] does not contain a valid HTTP error code within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.ErrorCode.notApplicable1=\
- Not Applicable: error-code is [ {0} ], using [ {1} ] instead within Web application [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.ErrorCode.notApplicable=\
- There are no error-code elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.Location.assertion=\
- Location element contains the location of the resource in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.Location.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.Location.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.Location.passed=\
- Location [ {0} ] contains the location of the resource within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.Location.failed=\
- Error: Location [ {0} ] is not found within [ {1} ] or does not contain the location of the resource within Web application [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.Location.notApplicable=\
- There are no location elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.RoleLink.assertion=\
- The role-link element is used to link a security role reference to a defined security role.
-com.sun.enterprise.tools.verifier.tests.web.RoleLink.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.RoleLink.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.RoleLink.passed=\
- role-link [ {0} ] links security role reference to a defined security role within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.RoleLink.failed=\
- Error: role-link [ {0} ] does not link security role reference to a defined security role within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.RoleLink.notApplicable1=\
- [ {0} ] has no role-link element defined within the Web archive [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.RoleLink.notApplicable=\
- There are no role-link elements within the Web archive [ {0} ]
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType.assertion=\
- Web archive environment entry value type.
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType.passed=\
- Environment entry value [ {0} ] has valid value type [ {1} ] within Web archive [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType.failed=\
- Error: Environment entry value [ {0} ] does not have valid value type [ {1} ] within Web archive [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType.notApplicable1=\
- Environment entry [ {0} ] initial value is not defined within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType.notApplicable=\
- There are no env-entry elements defined within this Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue.assertion=\
- Web archive environment entry value must be a string that is valid for the constructor of the specified type that takes a single String parameter.
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue.passed=\
- Environment entry value [ {0} ] has valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within Web archive [ {3} ].
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue.failed=\
- Error: Environment entry value [ {0} ] does not have valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within Web archive [ {3} ].
-com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue.notApplicable=\
- There are no env-entry elements defined within this Web archive [ {0} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.web.WebResourceType.assertion=\
- The resource-type element specifies the Java class type of the data source.
-com.sun.enterprise.tools.verifier.tests.web.WebResourceType.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebResourceType.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.WebResourceType.passed=\
- The resource-type [ {0} ] element specifies the Java class type of the data source within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceType.failed=\
- Error: The resource-type [ {0} ] element does not specify a valid Java class type for the data source within Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.WebResourceType.notApplicable=\
- There are no resource-type elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.SessionTimeout.assertion=\
- Servlet session-timeout element defines the default session timeout interval expressed in whole minutes.
-com.sun.enterprise.tools.verifier.tests.web.SessionTimeout.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV7.5, #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.SessionTimeout.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.7.5, #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.SessionTimeout.passed=\
- Servlet session-timeout [ {0} ] element defines the default session timeout interval expressed in whole minutes.
-com.sun.enterprise.tools.verifier.tests.web.SessionTimeout.failed=\
- Error: Servlet session-timeout [ {0} ] element does not define the default session timeout interval expressed in whole minutes.
-com.sun.enterprise.tools.verifier.tests.web.SessionTimeout.notApplicable=\
- Not Applicable: Servlet session-timeout [ {0} ] element does not define the default session timeout interval.
-
-com.sun.enterprise.tools.verifier.tests.web.SessionConfigTest.assertion=\
- The deployment descriptor instance file must not contain multiple session-config elements.
-com.sun.enterprise.tools.verifier.tests.web.SessionConfigTest.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.SessionConfigTest.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.SessionConfigTest.notApplicable=\
- Not Applicable: Servlet session-config element is not specified.
-com.sun.enterprise.tools.verifier.tests.web.SessionConfigTest.passed=\
- The session-config element is specified correctly.
-com.sun.enterprise.tools.verifier.tests.web.SessionConfigTest.failed=\
- The deployment descriptor instance contains multiple session-config elements.
-com.sun.enterprise.tools.verifier.tests.web.elements.UrlElement.assertion=\
- Servlet url element defines a url location to a resource external to this Web application.
-com.sun.enterprise.tools.verifier.tests.web.elements.UrlElement.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.UrlElement.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.UrlElement.passed=\
- Servlet url [ {0} ] defines a url location to a resource external to this Web application.
-com.sun.enterprise.tools.verifier.tests.web.elements.UrlElement.failed=\
- Error: Servlet url [ {0} ] does not define a url location to a resource external to this Web application.
-com.sun.enterprise.tools.verifier.tests.web.elements.UrlElement.notApplicable=\
- There are no url elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.elements.ExtensionElement.assertion=\
- Servlet extension element contains a string describing an extension.
-com.sun.enterprise.tools.verifier.tests.web.elements.ExtensionElement.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.ExtensionElement.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.ExtensionElement.passed=\
- Servlet extension [ {0} ] defined and valid for this Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.ExtensionElement.failed=\
- Error: Servlet extension [ {0} ] defined but not valid for this Web application [ {1} ]. Extensions must start with \".\".
-com.sun.enterprise.tools.verifier.tests.web.elements.ExtensionElement.notApplicable=\
- There are no mime-mapping elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement.assertion=\
- Servlet mime-type element contains a defined MIME type.
-com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement.passed=\
- Servlet mime-type [ {0} ] is defined and valid for this Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement.failed=\
- Error: Servlet mime-type [ {0} ] is defined but not valid for this Web application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement.notApplicable=\
- There are no mime-mapping elements within the Web archive [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile.assertion=\
- JAR file contains the XML-based deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.9.5
-com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.9.5
-com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile.passed=\
- Found deployment descriptor XML file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile.failed=\
- Error: No deployment descriptor XML file found, looking for [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile.failedException=\
- Error: File not found trying to read deployment descriptor file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile.failedException1=\
- Error: I/O error trying to read deployment descriptor file [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.WebTest.Exception=\
- Error: Unexpected exception occurred [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.WebTestsUtil.Exception=\
-Error: Unexpected exception occurred : {0}
-
-com.sun.enterprise.tools.verifier.tests.web.ListenerClass.notApplicable=\
- There are no listener components within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists.assertion=\
- Listener class resides in the WEB-INF/classes directory or WEB-INF/lib JAR files.
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.10.3.1
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.10.3.1
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists.passed=\
- Declared Listener class [ {0} ] resides in WEB-INF/classes or WEB-INF/lib.
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists.failed=\
- Empty or null String specified for Listener class name in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists.passed1=\
- Listener class name is [ {0} ]; make sure it is available in classpath at runtime.
-
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor.assertion=\
- Listener class has a public constructor that takes no argument.
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.10.3.1
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.10.3.1
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor.debug=\
- Testing Listener class constructor [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor.passed=\
- Listener class [ {0} ] implements a valid constructor.
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor.failed=\
- Error: Listener class [ {0} ] does not implement a valid constructor.
-
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface.warning=\
-Listener class [ {0} ] implements a valid interface.\n Warning: Listener class [ {0} ] implements jakarta.servlet.http.HttpSessionBindingListener interface.\n NOTE: The valueBound() and valueUnbound() methods will never be called unless the application explicitly adds an instance to the session itself.
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface.assertion=\
- Listener class implements one of the listener interfaces.
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.10.3.1
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.10.3.1
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface.debug=\
- Interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface.passed=\
- Listener class [ {0} ] implements a valid listener interface.
-com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface.failed=\
- Error: Listener class [ {0} ] does not implement one or more of the following valid interfaces:\n jakarta.servlet.ServletContextAttributeListener, jakarta.servlet.ServletContextListener, jakarta.servlet.http.HttpSessionAttributeListener, jakarta.servlet.http.HttpSessionListener
-
-com.sun.enterprise.tools.verifier.tests.web.FilterClass.notApplicable=\
- There are no filter components within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.FilterClassExists.assertion=\
- Filter class resides in the WEB-INF/classes directory or WEB-INF/lib JAR files.
-com.sun.enterprise.tools.verifier.tests.web.FilterClassExists.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.6.2.4
-com.sun.enterprise.tools.verifier.tests.web.FilterClassExists.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.6.2.4
-com.sun.enterprise.tools.verifier.tests.web.FilterClassExists.passed=\
- Declared filter class [ {0} ] resides in WEB-INF/classes or WEB-INF/lib.
-
-com.sun.enterprise.tools.verifier.tests.web.FilterMapping.assertion=\
- Filter mapping should be a correct URL or a servlet-name within the application.
-com.sun.enterprise.tools.verifier.tests.web.FilterMapping.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.6.2.4
-com.sun.enterprise.tools.verifier.tests.web.FilterMapping.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.6.2.4
-com.sun.enterprise.tools.verifier.tests.web.FilterMapping.failed=\
- Filter Mapping for [ {0} ] has invalid url-mapping [ {1} ]
-com.sun.enterprise.tools.verifier.tests.web.FilterMapping.failed1=\
- Filter Mapping for [ {0} ] has invalid servlet-name
-com.sun.enterprise.tools.verifier.tests.web.FilterMapping.passed=\
- All filter mappings are correct.
-
-com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName.assertion=\
- JSP file name must start with a leading / for Web applications referring to Servlet Specification 2.3.
-com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3
-com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.4
-com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName.passed=\
- JSP name [ {0} ] is valid.
-com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName.passed1=\
- JSP name [ {0} ] is valid and starts with a leading ''/''.
-com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName.failed=\
- Error: JSP name [ {0} ] is invalid as it does not start with a leading /.
-com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName.notApplicable=\
- There are no JSP components within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor.assertion=\
- Filter class has a public constructor that takes no argument.
-com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.6.2
-com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.6.2
-com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor.debug=\
- Testing filter class constructor [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor.passed=\
- Filter class [ {0} ] implements a valid constructor.
-com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor.failed=\
- Error: Filter class [ {0} ] does not implement a valid constructor.
-
-com.sun.enterprise.tools.verifier.tests.web.FilterClassImplementsValidInterface.assertion=\
- Filter class implements the jakarta.servlet.Filter interface.
-com.sun.enterprise.tools.verifier.tests.web.FilterClassImplementsValidInterface.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.6.2
-com.sun.enterprise.tools.verifier.tests.web.FilterClassImplementsValidInterface.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.6.2
-
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue.assertion=\
- Filter init param value should not be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3, #SRV.6.2.3
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3, #SRV.6.2.3
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue.passed=\
- Param value exists for the filter [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue.warning=\
- Warning: Param value entry for the filter [ {0} ] should be of finite length.
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue.notApplicable=\
- There are no initialization parameters for the filter [ {0} ] within the web archive [ {1} ]
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue.notApplicable1=\
- There are no filters defined within the web archive [ {0} ]
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName.assertion=\
- Filter init param name should be unique and not empty.
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName.specMappingInfo_2.4=\
- Java Servlet 2.4 Specification Section #SRV.13.3, #SRV.6.2.3
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName.specMappingInfo_2.5=\
- Java Servlet 2.5 Specification Section #SRV.13.3, #SRV.6.2.3
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName.failed1=\
- Error: Init param name/value entry should not be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName.failed2=\
- Error: Duplicate init param names are not allowed.
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName.passed=\
- All initialization parameter names are unique.
-com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName.notApplicable=\
- There are no initialization parameters for the filter within the Web archive [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.web.AllJSPsMustBeCompilable.assertion=\
- All the JSPs that are bundled inside a web application must be compilable using a J2EE compliant JSP compiler that does not have any proprietary or optional features in it.
-com.sun.enterprise.tools.verifier.tests.web.AllJSPsMustBeCompilable.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.AllJSPsMustBeCompilable.passed=\
- All JSPs are compilable.
-com.sun.enterprise.tools.verifier.tests.web.AllJSPsMustBeCompilable.exception=\
- Error: Some JSPs bundled inside [ {0} ] could not be compiled. See details below.
-
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.assertion=\
- The application may assign an alternate application client deployment descriptor URI file.
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.2.1, #8.4; J2EE 1.4 Platform Specification Section #8.3.1, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.passed=\
- Found alternate application client deployment descriptor URI file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.failed=\
- Error: No alternate application client deployment descriptor URI file found, looking for [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.failedException=\
- Error: File not found trying to read deployment descriptor file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.failedException1=\
- Error: I/O error trying to read deployment descriptor file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.notApplicable1=\
- There is no application client alternative deployment descriptor in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient.notApplicable=\
- There are no application clients in application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.assertion=\
- The application may assign an alternate ejb-jar deployment descriptor URI file.
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.2.1, #8.4; J2EE 1.4 Platform Specification Section #8.3.1, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.passed=\
- Found alternate ejb-jar deployment descriptor URI file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.failed=\
- Error: No alternate ejb-jar deployment descriptor URI file found, looking for [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.failedException=\
- Error: File not found trying to read deployment descriptor file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.failedException1=\
- Error: I/O error trying to read deployment descriptor file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.notApplicable1=\
- There is no alternative ejb-jar deployment descriptor in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb.notApplicable=\
- There are no ejb-jar components in application [ {0} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.assertion=\
- The application may assign an alternate Web deployment descriptor URI file.
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.2.1, #8.4; J2EE 1.4 Platform Specification Section #8.3.1, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.passed=\
- Found alternate Web deployment descriptor URI file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.failed=\
- Error: No alternate Web deployment descriptor URI file found, looking for [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.failedException=\
- Error: File not found trying to read deployment descriptor file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.failedException1=\
- Error: I/O error trying to read deployment descriptor file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.notApplicable1=\
- There is no alternative Web deployment descriptor in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb.notApplicable=\
- There are no Web components in application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.AppName.assertion=\
- The application provider must assign a display name to each application.
-com.sun.enterprise.tools.verifier.tests.app.AppName.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.6
-com.sun.enterprise.tools.verifier.tests.app.AppName.passed=\
- Application display name is [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.AppName.failed=\
- Error: Application display name cannot be blank.
-
-
-com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile.assertion=\
- Application deployment descriptor must be named META-INF/application.xml.
-com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.2.2; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile.passed=\
- Found deployment descriptor XML file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile.failed=\
- Error: No deployment descriptor XML file found, looking for [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile.failedException=\
- Error: File not found trying to read deployment descriptor file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile.failedException1=\
- Error: I/O error trying to read deployment descriptor file [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.assertion=\
- The application deployment descriptor has an expected PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.passed=\
- The deployment descriptor has the proper PubidLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.failed1=\
- Error: No document type declaration found in the deployment descriptor for {0}.
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.failed2=\
- Error: The deployment descriptor for {0} does not have an expected PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.IOException=\
- Error: I/O error trying to open {0}.
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.failed=\
-The deployment descriptor does not have the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.passed1=\
-The deployment descriptor has the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.app.AppPublicID.notApplicable=\
-Not Applicable: No DOCTYPE found for {0}.
-
-com.sun.enterprise.tools.verifier.tests.app.AppWebContext.assertion=\
- All Web modules in the application have a non-blank context-root.
-com.sun.enterprise.tools.verifier.tests.app.AppWebContext.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.2.1; J2EE 1.4 Platform Specification Section #8.3.1
-com.sun.enterprise.tools.verifier.tests.app.AppWebContext.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1c
-com.sun.enterprise.tools.verifier.tests.app.AppWebContext.passed=\
- [ {0} ] has context root defined as [ {1} ] within application [ {2} ].
-com.sun.enterprise.tools.verifier.tests.app.AppWebContext.warning=\
- Warning: [ {0} ] has blank context root defined within application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppWebContext.notApplicable=\
- There are no Web components in application [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.app.AppWebContextUnique.assertion=\
- All Web modules in the application must have unique context-root values.
-com.sun.enterprise.tools.verifier.tests.app.AppWebContextUnique.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.2.1; J2EE 1.4 Platform Specification Section #8.3.1
-com.sun.enterprise.tools.verifier.tests.app.AppWebContextUnique.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1c
-com.sun.enterprise.tools.verifier.tests.app.AppWebContextUnique.passed=\
- All the context-root values are unique within application [ {0} ].
-com.sun.enterprise.tools.verifier.tests.app.AppWebContextUnique.failed=\
- Error: There is already a Web module with context-root [ {0} ] within application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppWebContextUnique.notApplicable=\
- There is one or fewer Web component in application [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.app.EjbURI.assertion=\
- The ejb element specifies the URI of an ejb-jar, relative to the top level of the application package.
-com.sun.enterprise.tools.verifier.tests.app.EjbURI.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.EjbURI.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1
-com.sun.enterprise.tools.verifier.tests.app.EjbURI.passed=\
- [ {0} ] specifies the URI [ {1} ] of an ejb-jar, relative to the top level of the application package [ {2} ].
-com.sun.enterprise.tools.verifier.tests.app.EjbURI.failed=\
- Error: [ {0} ] does not specify the URI [ {1} ] of an ejb-jar, relative to the top level of the application package [ {2} ], or does not end with \".jar\".
-com.sun.enterprise.tools.verifier.tests.app.EjbURI.notApplicable=\
- There are no enterprise bean components in application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.AppClientURI.assertion=\
- The java element specifies the URI of a Java application client module, relative to the top level of the application package.
-com.sun.enterprise.tools.verifier.tests.app.AppClientURI.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppClientURI.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1
-com.sun.enterprise.tools.verifier.tests.app.AppClientURI.passed=\
- All the Application URIs are valid.
-com.sun.enterprise.tools.verifier.tests.app.AppClientURI.failed=\
- Error: [ {0} ] does not specify the URI [ {1} ] of a Java application client module, relative to the top level of the application package [ {2} ], or does not end with \".jar\".
-com.sun.enterprise.tools.verifier.tests.app.AppClientURI.notApplicable=\
- There are no Java application client modules in application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.WebURI.assertion=\
- The web-uri element specifies the URI of a Web application file, relative to the top level of the application package.
-com.sun.enterprise.tools.verifier.tests.app.WebURI.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.WebURI.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1
-com.sun.enterprise.tools.verifier.tests.app.WebURI.passed=\
- [ {0} ] specifies the URI [ {1} ] of a Web application file, relative to the top level of the application package [ {2} ].
-com.sun.enterprise.tools.verifier.tests.app.WebURI.failed=\
- Error: [ {0} ] does not specify the URI [ {1} ] of a Web application file, relative to the top level of the application package [ {2} ], or does not end with \".war\".
-com.sun.enterprise.tools.verifier.tests.app.WebURI.notApplicable=\
- There are no Web components in application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.ConnectorURI.assertion=\
- The connector element specifies the URI of a Connector module, relative to the top level of the application package.
-com.sun.enterprise.tools.verifier.tests.app.ConnectorURI.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.ConnectorURI.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.3.1
-com.sun.enterprise.tools.verifier.tests.app.ConnectorURI.passed=\
- All the Connector URIs are valid.
-com.sun.enterprise.tools.verifier.tests.app.connectorURI.failed=\
- Error: [ {0} ] does not specify the URI [ {1} ] of a Connector module, relative to the top level of the application package [ {2} ], or does not end with \".rar\".
-
-
-com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole.assertion=\
- Application security role names.
-com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.2.1, #8.3.2, #8.4; J2EE 1.4 Platform Specification Section #8.3.1, #8.4.2, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #3.1, #3.2, #8.5
-com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole.passed=\
- The security role name [ {0} ] was found within application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole.failed=\
- Error: The security role name [ {0} ] was not found within application [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole.notApplicable=\
- There are no security role-name elements within this application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.assertion=\
- The application's listed J2EE application client modules exist in the enterprise archive.
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.passed=\
- J2EE application client module [ {0} ] exists within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.failed=\
- Error: J2EE application client module [ {0} ] does not exist within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.failedException=\
- Error: File not found trying to read J2EE module file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.failedException1=\
- Error: I/O error trying to read J2EE module file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient.notApplicable=\
- There are no application clients in application [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.assertion=\
- Application's listed J2EE Web modules exist in the enterprise archive.
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.2, 8.3.1, 8.5
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.passed=\
- J2EE Web module [ {0} ] exists within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.failed=\
- Error: J2EE Web module [ {0} ] does not exist within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.failedException=\
- Error: File not found trying to read J2EE module file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.failedException1=\
- Error: I/O error trying to read J2EE module file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb.notApplicable=\
- There are no Web components in application [ {0} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.assertion=\
- Application's listed J2EE EJB modules exist in the enterprise archive.
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.specMappingInfo_1.4=\
- J2EE 1.3 Platform Specification Section #8.4; J2EE 1.4 Platform Specification Section #8.5
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.2, 8.3.1, 8.5
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.passed=\
- J2EE EJB module [ {0} ] exists within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.failed=\
- Error: J2EE EJB module [ {0} ] does not exist within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.failedException=\
- Error: File not found trying to read J2EE module file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.failedException1=\
- Error: I/O error trying to read J2EE module file [ {0} ] within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb.notApplicable=\
- There are no EJB components in application [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.app.EARFileUsesClassPath.assertion=\
- Manifest file of an EAR file should not contain Class-Path entries.
-com.sun.enterprise.tools.verifier.tests.app.EARFileUsesClassPath.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #8.2
-com.sun.enterprise.tools.verifier.tests.app.EARFileUsesClassPath.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.2.1
-com.sun.enterprise.tools.verifier.tests.app.EARFileUsesClassPath.passed=\
- Manifest file of this EAR file does not contain Class-Path entries.
-com.sun.enterprise.tools.verifier.tests.app.EARFileUsesClassPath.failed=\
- Manifest file of this EAR file contains [ {0} ] as the Class-Path entry.
-
-
-com.sun.enterprise.tools.verifier.tests.app.OptPkgDependencySatisfied.assertion=\
- Optional package dependency of an EAR file must be satisfied.
-com.sun.enterprise.tools.verifier.tests.app.OptPkgDependencySatisfied.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #8.2
-com.sun.enterprise.tools.verifier.tests.app.OptPkgDependencySatisfied.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #8.2.1
-com.sun.enterprise.tools.verifier.tests.app.OptPkgDependencySatisfied.passed=\
- All optional packages required by this EAR file are available in the system.
-com.sun.enterprise.tools.verifier.tests.app.OptPkgDependencySatisfied.failed=\
- Some optional packages required by this EAR file are not available in the system. Given below is the missing list...
-
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.assertion=\
- The application client deployment descriptor has the expected PubidLiteral \"-//Sun Microsystems, Inc.//DTD J2EE Application Client 1.2//EN\".
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.passed=\
- The deployment descriptor has the proper PubidLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.failed1=\
- Error: No document type declaration found in the deployment descriptor for {0}.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.failed2=\
- Error: The deployment descriptor for {0} does not have the expected PubidLiteral \"{1}\".
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.IOException=\
- Error: I/O error trying to open {0}.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.failed=\
-The deployment descriptor does not have the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.passed1=\
-The deployment descriptor has the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID.notApplicable=\
-Not Applicable: No DOCTYPE found for {0}.
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientName.assertion=\
- The application client has a non-blank display-name.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientName.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientName.passed=\
- Application client display name is : [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientName.failed=\
- Error: Application client display name must not be blank.
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler.assertion=\
- The application client has a loadable JAAS CallbackHandler.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #3.4.4
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler.specMappingInfo_5=\
- JavaEE 5.0 Platform Specification Section #3.4.4, #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler.passed=\
- Application client callback handler is not specified.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler.passed1=\
- Application client callback handler is [ {0} ] and is loadable.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler.failed=\
- Error: Application client callback handler is not loadable.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler.failed1=\
- Error: Application client callback handler class name must not be blank.
-
-com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML.assertion=\
- Application client JAR file contains the XML-based deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML.passed=\
- Found deployment descriptor XML file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML.failed=\
- Error: No deployment descriptor XML file found, looking for [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML.failedException=\
- Error: File not found trying to read deployment descriptor file [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML.failedException1=\
- Error: I/O error trying to read deployment descriptor file [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType.assertion=\
- The application client res-type element specifies the Java class type of the data source.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #5.4.1.2, #5.4.1.3
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType.specMappingInfo_5=\
- JavaEE 5.0 Platform Specification Section #5.6.1.4
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType.passed=\
- The res-type [ {0} ] element specifies the Java class type of the data source within application client [ {1} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType.failed=\
- Error: The res-type [ {0} ] element does not specify a valid Java class type for the data source within application client [ {1} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType.notApplicable=\
- There are no res-type elements within the application client [ {0} ].
-
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement.assertion =\
- Application client enterprise bean reference type.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #5.3.1.1, #5.3.1.2
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement.specMappingInfo_5=\
- JavaEE 5.0 Platform Specification Section #5.5.1.2, #5.5.1.3
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement.passed=\
- All ejb-ref-type elements are valid. They are all [ {0} ] or [ {1} ] within this application client [ {2} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement.failed=\
- Error: ejb-ref-type [ {0} ] within application client [ {1} ] is not valid. Must be [ {2} ] or [ {3} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement.notApplicable=\
- There are no references to enterprise beans within this application client [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.assertion=\
- EJB References in application client are resolved.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #5.3.2, #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.specMappingInfo_5=\
- Java EE 5.0 Platform Specification Section #5.5.1
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.passed=\
- EJB reference [ {0} ] is successfully resolved.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.failed=\
- Error: Failed to resolve EJB reference [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.notApplicable=\
- There are no references to enterprise beans within this application client [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.notApplicable1=\
- Not Applicable: Cannot verify the existence of an enterprise bean reference [ {0} ] to external bean within a different .ear file.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement.no_ear=\
- This application client [ {0} ] is not part of a J2EE archive.
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.assertion=\
- EJB References in application client is resolved to only one EJB.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #5.3.2, #8.3.1
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.specMappingInfo_5=\
- Java EE 5.0 Platform Specification Section #5.5.1
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.passed=\
- EJB reference [ {0} ] is successfully resolved.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.debug=\
- ejb-link [ {0} ] found same value as enterprise bean [ {1} ] for application client [ {2} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.failed=\
- Error: Failed to resolve EJB reference [ {0} ] to a unique EJB in this application.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.notApplicable=\
- There are no references to enterprise beans within this application client [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.notApplicable1=\
- Not Applicable: Cannot verify the existence of an enterprise bean reference [ {0} ] to external bean within a different .ear file.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne.no_ear=\
- This application client [ {0} ] is not part of a J2EE archive.
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed.assertion=\
- Application client EJB reference name is prefixed with recommended string "ejb/".
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed.specMappingInfo_5=\
- JavaEE 5.0 Platform Specification Section #8.6
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed.passed=\
- [ {0} ] is prefixed with recommended string \"ejb/\" within application client [ {1} ]
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed.warning=\
- Warning: [ {0} ] is not prefixed with recommended string \"ejb/\" within application client [ {1} ]
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed.notApplicable=\
- There are no references to enterprise beans within this application client [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.assertion=\
- Application client references to other beans home interfaces.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #5.3
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.specMappingInfo_5=\
- JavaEE 5.0 Platform Specification Section #5.5
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.passed2=\
- The referenced bean''s home interface [ {0} ] exists and is loadable within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.passed3=\
- The referenced bean''s remote interface [ {0} ] exists and is loadable within [ {1} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.failed=\
- Error: [ {0} ] class [ {1} ] cannot be found within this JAR file [ {2} ].
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.failed1=\
- Error: {0} class cannot be null.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.notApplicable=\
- {0} not called with an application client.
-com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement.notApplicable1=\
- There are no references to enterprise beans within this application client [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientArchiveClassesLoadable.assertion=\
- All classes in this AppClient Archive are loadable.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientArchiveClassesLoadable.specMappingInfo_1.4=\
- J2EE 1.4 Specification Section #8.1.2
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientArchiveClassesLoadable.specMappingInfo_5=\
- JavaEE 5.0 Specification Section #8.3.1
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientArchiveClassesLoadable.passed=\
- All the classes are loadable within [ {0} ].
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientArchiveClassesLoadable.exception=\
- Error: [ {0} ] exception while loading the archive [ {1} ].
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType.assertion=\
- Application client environment entry value type.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #5.2.1.2, #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType.specMappingInfo_5=\
- JavaEE 5 Platform Specification Section #5.4
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType.passed=\
- Environment entry value [ {0} ] has valid value type [ {1} ] within application client [ {2} ].
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType.failed=\
- Error: Environment entry value [ {0} ] does not have valid value type [ {1} ] within application client [ {2} ].
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType.notApplicable=\
- There are no environment entry elements defined within this application client [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue.assertion=\
- Application client environment entry value must be a string that is valid for the constructor of the specified type that takes a single String parameter.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #5.2.1.2, #9.7
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue.specMappingInfo_5=\
- J2EE 5.0 Platform Specification Section #5.4.1.3
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue.passed=\
- Environment entry value [ {0} ] has valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within application client [ {3} ].
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue.failed=\
- Error: Environment entry value [ {0} ] does not have valid value [ {1} ] for constructor of the specified type [ {2} ] that takes a single String parameter within application client [ {3} ].
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue.notApplicable1=\
- Environment entry [ {0} ] initial value is not defined within application client [ {1} ].
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue.notApplicable=\
- There are no environment entry elements defined within this application client [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass.assertion=\
- Application clients start execution at the main method of the class specified in the Main-Class attribute in the manifest file of the application clients JAR file. It must be specified in the MANIFEST file.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass.specMappingInfo_1.4=\
- J2EE 1.4 Platform Specification Section #9.5
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass.specMappingInfo_5=\
- JavaEE 5 Platform Specification section #9.5
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass.passed=\
- main-class entry is defined properly.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass.failed=\
- Appclient main-class is not found. Please check the main-class entry of your appclient manifest file.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass.failed1=\
- ERROR: Appclient main-class [ {0} ] as specified in the Manifest file is not loadable.
-com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass.failed2=\
- ERROR: Appclient main-class [ {0} ] as specified in the Manifest file is not public.
-
-com.sun.enterprise.tools.verifier.tests.appclient.PUTransactionType.assertion=\
- A persistence unit with JTA transaction type is not supported in application client.
-com.sun.enterprise.tools.verifier.tests.appclient.PUTransactionType.specMappingInfo=\
- EJB 3.0 Persistence API Specification Section #5.5
-com.sun.enterprise.tools.verifier.tests.appclient.PUTransactionType.puName=\
- Found a persistence unit by name [ {0} ] in persistence unit root [ {1} ] with JTA transaction type.
-com.sun.enterprise.tools.verifier.tests.appclient.PUTransactionType.puRefName=\
- Found a reference to a persistence unit by name [ {0} ] in persistence unit root [ {1} ] with JTA transaction type.
-
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.assertion=\
- The connector deployment descriptor has the expected PubidLiteral "-//Sun Microsystems, Inc.//DTD Connector 1.0//EN".
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.passed=\
- The deployment descriptor has the proper PubidLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.failed1=\
- Error: No document type declaration found in the deployment descriptor for {0}.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.failed2=\
- Error: The deployment descriptor for {0} does not have an expected PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.IOException=\
- Error: I/O error trying to open {0}.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.failed=\
-The deployment descriptor does not have the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.passed1=\
-The deployment descriptor has the correct URL corresponding to the PubIdLiteral: {0}.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID.notApplicable=\
-Not Applicable: No DOCTYPE found for {0}.
-
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorArchiveClassesLoadable.assertion=\
- All classes in this Connector Archive are loadable.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorArchiveClassesLoadable.specMappingInfo_1.5=\
- J2EE 1.4 Specification Section #8.1.2
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorArchiveClassesLoadable.passed=\
- All the classes are loadable within [ {0} ].
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorArchiveClassesLoadable.exception=\
- Error: [ {0} ] exception while loading the archive [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.web.TagLibPublicID.assertion=\
- The tag library deployment descriptor should have expected PubidLiteral as "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1/1.2 //EN".
-com.sun.enterprise.tools.verifier.tests.web.TagLibPublicID.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.TagLibPublicID.passed=\
- The test passed successfully.
-com.sun.enterprise.tools.verifier.tests.web.TagLibPublicID.failed=\
-The deployment descriptor for [ {0} ] does not have an expected PubidLiteral or SystemID"
-com.sun.enterprise.tools.verifier.tests.web.TagLibPublicID.passed1=\
-The deployment descriptor [ {0} ] has the proper PubidLiteral: [ {1} ] and sytemID: [ {2} ]
-
-
-com.sun.enterprise.tools.verifier.tests.connector.InteractionExistence.notapp=\
- Not Applicable : The CCI interfaces do not seem to be implemented by this resource adapter.
-com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerExistence.failed=\
- Error: No default implementation of the [ {0} ] interface is provided.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.optionalInterfaceMissing=\
- Warning: There is no implementation of the optional [ {0} ] interface.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.MethodOverride.failed=\
- Error: The [ {0} ] class does not override the method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.MethodOverride.passed=\
- The [ {0} ] class overrides the method [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.findImplementor.passed=\
- The class [ {0} ] provides an implementation of [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.findImplementor.failed=\
- Error: There is no implementation of the [ {0} ] provided.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.isClassLoadable.passed=\
- The class [ {0} ] is contained in the archive file.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectorTest.isClassLoadable.failed=\
- The class [ {0} ] is not contained in the archive file.
-
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport.assertion=\
- Transaction support for the resource adapter should be one of the following values: no_transaction, local_transaction, xa_transaction.
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport.passed=\
- Transaction support [ {0} ] for resource adapter is supported.
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport.failed=\
- Error: Deployment descriptor transaction-support [ {0} ] for resource adapter is not valid.
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport.nonexist=\
- Error: No transaction support specified for resource adapter.
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryTest.nonexist=\
- Error: The class [ {0} ] as defined in the managedconnectionfactory-class deployment descriptor does not exist.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryTest.nonimpl=\
- Error: The resource adapter must implement the jakarta.resource.spi.ManagedConnectionFactory interface and declare it in the managedconnectionfactory-class deployment descriptor.
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplementation.assertion=\
- The class specified by deployment descriptor managedconnectionfactory-class should implement jakarta.resource.spi.ManagedConnectionFactory.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplementation.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactorySerializable.assertion=\
- The class specified by deployment descriptor managedconnectionfactory-class should implement java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactorySerializable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.5.1.2
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplEquals.assertion=\
- The class specified by deployment descriptor managedconnectionfactory-class should override the "public boolean equals(Object)" method.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplEquals.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.3.2
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplHashcode.assertion=\
- The class specified by deployment descriptor managedconnectionfactory-class should override the "public int hashCode()" method.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplHashcode.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.3.2
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryProperties.assertion=\
- JavaBeans compliant accessor methods should be implemented for each property defined in deployment descriptor config-property.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryProperties.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryProperties.passed=\
- Found a JavaBeans compliant accessor method [ {0} ] for the config-property [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryProperties.failed=\
- Error: There is no JavaBeans compliant accessor method [ {0} ] implemented in [ {1} ] for the config-property [ {2} ].
-
-com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerExistence.assertion=\
- A default implementation of the jakarta.resource.spi.ConnectionManager interface should be provided.
-com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.2.2 6.10.1
-
-
-com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerSerializable.assertion=\
- The default implementation of the jakarta.resource.spi.ConnectionManager interface should implement the java.io.Serializable interface.
-com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerSerializable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.5.1.3 6.5.2
-com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplEquals.assertion=\
- The implementation of the jakarta.resource.spi.ConnectionRequestInfo interface should override the "boolean equals(Object)" method.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplEquals.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.1.2
-com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplHashcode.assertion=\
- The implementation of the jakarta.resource.spi.ConnectionRequestInfo interface should override the "int hashCode()" method.
-com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplHashcode.specMappingInfo=
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionExistence.assertion=\
- An implementation of the jakarta.resource.spi.managed.ManagedConnection interface should be provided.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.10.1
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionMetaDataExistence.assertion=\
- An implementation of the jakarta.resource.spi.managed.ManagedConnectionMetaData interface should be provided.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionMetaDataExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.10.1
-
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence.assertion=\
- Transaction interface LocalTransaction or XAResource implementation should follow the declared transaction support (no_transaction, local_transaction, xa_transaction).
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #7.13.1 17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence.warning=\
- Warning: Transaction support {0} is specified for resource adapter, but [ {1} ] is implemented.
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence.passed1=\
- Transaction support no_transaction is specified for resource adapter and [ {0} ] are not implemented.
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence.nonexist=\
- Error: Transaction support {0} is specified for resource adapter but [ {1} ] is not implemented.
-com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence.passed2=\
- Transaction support {0} is specified for resource adapter and [ {1} ] is (are) implemented.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceExistence.assertion=\
- The archive contains the interface declared in the deployment descriptor connectionfactory-interface element.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.5.1, #17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceExistence.nonexist=\
- Error: The deployment descriptor for the resource adapter does not define the connectionfactory-interface element.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryTest.nonimpl=\
- Error: The resource adapter must implement the jakarta.resource.cci.ConnectionFactory interface and declare it in the connectionfactory-impl-class deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryTest.nonexist=\
- Error: The class [ {0} ] declared in the connectionfactory-impl-class deployment descriptor does not exist.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryImplExistence.assertion=\
- The archive contains the class declared in the deployment descriptor connectionfactory-impl-class element.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryImplExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.5.1, #17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryImplExistence.passed=\
- The class defined in the connectionfactory-impl-class element [ {0} ] is contained in the archive.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceImpl.assertion=\
- The class defined by the connectionfactory-impl-class element implements the specified connectionfactory-interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceImpl.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.1.1
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceImpl.pass1=\
-The class [ {0} ] defined in the connectionfactory-impl-class deployment descriptor implements the jakarta.resource.cci.ConnectionFactory interface.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactorySerializable.assertion=\
- The class defined in the connectionfactory-impl-class element implements the java.io.Serializable interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactorySerializable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.1.3 15.5.1.1
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryReferenceable.assertion=\
- The class defined by the connectionfactory-impl-class element implements the jakarta.resource.Referenceable interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryReferenceable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.1.3 15.5.1.1
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryGetConnection.assertion=\
- The getConnection method of the ConnectionFactory returns the interface defined in the connection-interface element.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryGetConnection.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.5.3
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryGetConnection.passed=\
- The getConnection method of the [ {0} ] returns the [ {1} ] interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryGetConnection.failed=\
- Error: The getConnection method of the [ {0} ] does not return the [ {1} ] interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryGetConnection.warning=\
- Warning: The getConnection method is not defined by [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionTest.nonimpl=\
- Error: The resource adapter must implement the jakarta.resource.cci.Connection interface and declare it in the connection-impl-class deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionTest.nonexist=\
- Error: The class [ {0} ] defined in the connection-impl-class deployment descriptor does not exist.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceExistence.assertion=\
- The archive contains the interface declared in the deployment descriptor connection-interface element.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.5.1, #17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceExistence.nonexist=\
- Error: The deployment descriptor for the resource adapter does not define the connection-interface element.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplExistence.assertion=\
- The archive contains the class declared in the deployment descriptor connection-impl-class element.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplExistence.passed=\
- The class defined in the connection-impl-class element [ {0} ] is contained in the archive.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceImpl.assertion=\
- The class defined by the connection-impl-class element implements the specified connection-interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceImpl.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.1.1
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplClose.assertion=\
- The connection interface should implement a close() method.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplClose.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.1
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplClose.failed=\
- The connection interface [ {0} ] does not implement the close() method.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplClose.passed=\
- The connection interface [ {0} ] implements the close() method.
-
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyName.assertion=\
- The config property names are unique within the resource adapter.
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyName.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1, #17.4.4, #17.5.4
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyName.passed=\
- There are no config properties with duplicate names.
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyName.failed=\
- More than one config property has a duplicate name [ {0} ] in the deployment descriptors.
-
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType.assertion=\
- Every configuration property type should be one of the types allowed.
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.6
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType.notdefined=\
- Error: The configuration property named [ {0} ] has no type.
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType.nonexist=\
- Error: The type [ {0} ] of the configuration property named [ {1} ] cannot be loaded.
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType.passed=\
- All properties have an allowed type.
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType.failed=\
- Error: The type [ {0} ] for the configuration property named [ {1} ] is not allowed.
-com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType.notApplicable=\
- Not Applicable: There are no config-property element defined
-
-com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.assertion=\
- Authentication mechanism types should be one of the allowed types.
-com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.6
-com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.nonexist=\
- No authentication mechanism defined for this resource adapater.
-com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.failed=\
- Authentication mechanism type [ {0} ] is not allowed.
-com.sun.enterprise.tools.verifier.tests.connector.AuthMechType.passed=\
- All defined authentication mechanisms have an allowed type.
-
-com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface.assertion=\
- Credential interface for the authentication mechanism should be one of the allowed interfaces.
-com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #9.2.1, #17.6
-com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface.failed=\
- Authentication mechanism credential interface [ {0} ] defined in the credential-interface tag is not allowed.
-com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface.passed=\
- All defined authorization mechanism credential interfaces are valid.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.assertion=\
- An implementation of the jakarta.resource.cci.Interaction interface should be provided if CCI is implemented.
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.4
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence.notapp=\
- Not Applicable: The CCI interfaces do not seem to be implemented by this resource adapter.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecExistence.assertion=\
- An implementation of the jakarta.resource.cci.InteractionSpec interface should be provided if CCI is implemented.
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.4
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecSerializable.assertion=\
- The implementation of the jakarta.resource.cci.InteractionSpec interface should implement the java.io.Serializable interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecSerializable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.6.2.4
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance.assertion=\
- The implementation of the jakarta.resource.cci.InteractionSpec interface should provide property access compliant to the JavaBeans specification.
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.6.2.4
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance.passed=\
- The jakarta.resource.cci.InteractionSpec implementation complies with the JavaBeans specification.
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance.nonexit=\
- Error: Athough the CCI interfaces are implemented, the jakarta.resource.cci.InteractionSpec interface is not.
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance.failed=\
- Error: The jakarta.resource.cci.InteractionSpec implementation [ {0} ] does not comply with the JavaBeans specification.
-com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance.failed2=\
- Error: The property [ {0} ] of the jakarta.resource.cci.InteractionSpec implementation [ {1} ] is not bound or constrained.
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.RecordExistence.assertion=\
- An implementation of the jakarta.resource.cci.Record interface should be provided if CCI is implemented.
-com.sun.enterprise.tools.verifier.tests.connector.cci.RecordExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.4, #15.10
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.RecordFactoryExistence.assertion=\
- An implementation of the jakarta.resource.cci.RecordFactory interface should be provided if CCI is implemented.
-com.sun.enterprise.tools.verifier.tests.connector.cci.RecordFactoryExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.4 15.10
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionMetaDataExistence.assertion=\
- An implementation of the jakarta.resource.cci.ConnectionMetaData interface should be provided if CCI is implemented.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionMetaDataExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.7.1.1
-
-com.sun.enterprise.tools.verifier.tests.connector.cci.ResourceAdapterMetaDataExistence.assertion=\
- An implementation of the jakarta.resource.cci.ResourceAdapterMetaData interface should be provided if CCI is implemented.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ResourceAdapterMetaDataExistence.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.7.2
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageBeanTest.notApplicable=\
- Test applies only to message-driven bean components.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageBeanTest.classnotfoundexception=\
- Cannot load declared message-driven bean component [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageDrivenBean.assertion=\
- Declared message-driven bean components must implement the jakarta.ejb.MessageDrivenBean interface.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageDrivenBean.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.4.1
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageListener.assertion=\
- Message-Driven Bean class must implement, directly or indirectly, the message listener interface required by the messaging type that it supports.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageListener.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.7.2
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.assertion=\
- Message-driven bean must define one ejbCreate with a void return type.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.4.4
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.passed=\
- Message-driven bean [ {0} ] {1} implementation has a void return type.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType.failed=\
- Error: Message-driven bean [ {0} ] {1} return type is [ {1} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.RemoteExceptionNotThrown.assertion=\
- Message listener methods should not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.RemoteExceptionNotThrown.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.4.13
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.RemoteExceptionNotThrown.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #5.4.17
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.RemoteExceptionNotThrown.passed=\
- Valid message listener method(s).
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.RemoteExceptionNotThrown.failed=\
- Method [ {0} ] throws RemoteException
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.RemoteExceptionNotThrown.failed1=\
- [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageListenerMethodModifiers.assertion=\
- Message listener methods must not be declared as final or static.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageListenerMethodModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.7.4
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageListenerMethodModifiers.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #5.6.3
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageListenerMethodModifiers.failed=\
- Wrong method [ {0} ]
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageListenerMethodModifiers.passed=\
- Valid message listener method(s).
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.assertion=\
- Message-driven bean must define one ejbCreate method that has no arguments.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.4.4
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.failed=\
- Error: Message-driven bean [ {0} ] does not implement an {1} with no arguments.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists.passed=\
- Message-driven bean [ {0} ] provide an {1} implementation with no argument.
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers.assertion=\
- Message-driven bean must define a public ejbCreate method that is not static or final.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.7.3
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers.passed=\
- Message-driven bean [ {0} ] provides an {1} implementation declared public and not static or final.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers.failed=\
- Error: Message-driven bean [ {0} ] {1} implementation is either not public or is static or final.
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveModifiers.assertion=\
- Message-driven bean must define a public ejbRemove method that is not static or final.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveModifiers.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.7.5
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveExists.assertion=\
- Message-driven bean must define one ejbRemove method that has no arguments.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveExists.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.7.5
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveReturnType.assertion=\
- Message-driven bean must define one ejbRemove with a void return type.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveReturnType.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.7.5
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.assertion=\
- Message-driven bean message selectors must be valid JMS message selectors.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2, #23.5
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #5.4.15
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.notApplicable=\
- Message-driven bean [ {0} ] does not define a message selector.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.passed=\
- Message-driven bean [ {0} ] defines a valid message selector.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector.failed=\
- Error: Message-driven bean [ {0} ] does not define a valid message selector
-
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.assertion=\
- Message-driven beans with container-managed transaction demarcation must use Required or NotSupported transaction attribute.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #15.4.8
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #5.4.12
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.notApplicable1=\
- Message-driven bean [ {0} ] does not define any methods.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.notApplicable2=\
- Message-driven bean [ {0} ] does not use container-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.passed=\
- Message-driven bean [ {0} ] onMessage method definition in assembly-descriptor is correct.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.failed3=\
- Error: Message-driven bean [ {0} ] method definition [ {1} ] transaction attribute must be Required or NotSupported.
-com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor.failed4=\
- Error: Message-driven bean [ {0} ] method definition [ {1} ] does not have a valid container transaction descriptor.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor.passed=\
-Syntax and semantics of EJB QL queries (if any) are correct.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor.assertion=\
- Container-managed persistence EJB QL queries should comply with specification rules for syntax and semantics.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #11.3.5
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor.failed=\
- Error: Exception [ {0} ] when calling JDOCodeGenerator.validate().
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor.failed1=\
-Error: Exception [ {0} ] while initializing JDO code generator.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLChecker.parseError=\
- Error: [ {0} ] has parsing error(s).
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLChecker.SAXParseException=\
-Exception occurred : [{0}].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor.parseError=\
- Error: Entity bean [ {0} ] has the following EJB QL error(s) [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor.notApplicable=\
- Not applicable: Test applies only to container-managed persistence entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist.notApplicable1=\
- Test applies only to session or entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist.notApplicable2=\
-Not Applicable because, EJB [ {0} ] does not have {1} Interface.
-com.sun.enterprise.tools.verifier.tests.ejb.intf.InterfaceClassExist.failed=\
- [ {0} ] is defined as a class. It should be an interface.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.CMPFieldExistence.assertion=\
- CMP entity bean must have at least one cmp-field.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.CMPFieldExistence.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #23.2
-com.sun.enterprise.tools.verifier.tests.ejb.entity.CMPFieldExistence.notApplicable=\
- The enterprise bean [ {0} ] is not a CMP entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.CMPFieldExistence.passed=\
- For this CMP entity bean [ {0} ], some cmp-fields are defined.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.CMPFieldExistence.failed=\
- Error: For this CMP entity bean [ {0} ], no cmp-fields are defined.
-
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbNoInvalidCreateMethod.assertion=\
- CMP 1.1 entity beans cannot define create[METHOD].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbNoInvalidCreateMethod.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #14.1.8
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbNoInvalidCreateMethod.notApplicable=\
- The enterprise bean [ {0} ] is not an CMP 1.1 entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbNoInvalidCreateMethod.passed=\
- No create[METHOD] defined for this CMP 1.1 entity bean [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbNoInvalidCreateMethod.failed=\
- Error: CMP 1.1 entity beans are not authorized to define [ {0} ] method.
-
-com.sun.enterprise.tools.verifier.tests.ejb.timer.ImplementsTimedObjectTest.assertion=\
- Timers can be created for stateless session beans, message-driven beans, and 2.1 entity beans.Timers cannot be created for stateful session beans or EJB 3.0 entities.Only 2.1 entity beans and stateless session beans may implement the TimedObject interface.
-com.sun.enterprise.tools.verifier.tests.ejb.timer.ImplementsTimedObjectTest.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #22.2.2
-com.sun.enterprise.tools.verifier.tests.ejb.timer.ImplementsTimedObjectTest.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #17.2
-com.sun.enterprise.tools.verifier.tests.ejb.timer.ImplementsTimedObjectTest.passed=\
- [ {0} ] properly implements the TimedObject interface.
-com.sun.enterprise.tools.verifier.tests.ejb.timer.ImplementsTimedObjectTest.failed1=\
- [ {0} ] must not implement the TimedObject interface. Only 2.1 entity beans and stateless session beans may implement the TimedObject interface.
-
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor.assertion=\
- The allowed transaction attributes for the ejbTimeout method are RequiresNew and NotSupported.
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor.specMappingInfo_2.1=\
- EJB 2.1 Specification Section #17.4.1
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor.specMappingInfo_3.0=\
- EJB 3.0 Specification Section #12.3.7
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor.passed=\
- Transaction attributes are properly specified.
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor.failed1=\
- Error : Bean [ {0} ] Transaction attribute for timeout method must be Required, RequiresNew or NotSupported
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor.failed2=\
- Error : Bean [ {0} ] Transaction attribute for ejbTimeout must be RequiresNew or NotSupported
-com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor.failed3=\
- Transaction attribute for Timeout is not specified for [ {0} ]
-
-com.sun.enterprise.tools.verifier.tests.connector.managed.notApplicableForInboundRA=\
- Resource adapter does not provide outbound communication.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.assertion=\
- The return type of jakarta.resource.spi.ManagedConnection.getMetaData() implements the ManagedConnectionMetaData interface.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5.5.2
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.failed=\
- Error: There is no implementation of getMetaData() provided.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.failed1=\
- Error: getMetaData() does not return an instance of the jakarta.resource.spi.ManagedConnectionMetaData interface.
-com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData.passed=\
- ManagedConnection.getMetaData() returns an instance of the jakarta.resource.spi.ManagedConnectionMetaData interface.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor.assertion=\
- The implementation class for jakarta.resource.cci.ConnectionFactory provides a default constructor.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.5.1.1
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor.noDefConstr=\
- Error: The connectionfactory-impl-class [ {0} ] must provide a default constructor.
-com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor.defConstr=\
- The connectionfactory-impl-class [ {0} ] provides a default constructor.
-com.sun.enterprise.tools.verifier.tests.connector.cci.notApp=\
- The CCI interfaces do not seem to be implemented by this resource adapter.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionImplClass.assertion=\
- The connection-impl-class for each connection-definition must implement connection-interface.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionImplClass.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionImplClass.failed=\
- Error: connection-impl-class [ {0} ] does not implement connection-interface [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionImplClass.passed=\
- All connection-impl-class classes implement their corresponding connection-interface.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionImplClass.nonexist=\
- Error: The class [ {0} ] defined by the connection-impl-class element in the deployment descriptor does not exist.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplClass.assertion=\
- connectionfactory-class must implement connectionfactory-interface.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplClass.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #6.5
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplClass.failed=\
- Error: connectionfactory-class [ {0} ] does not implement connectionfactory-interface [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplClass.passed=\
- All connectionfactory-impl-class classes implement their corresponding connectionfactory-interface.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplClass.nonexist=\
- Error: The class [ {0} ] defined by the connectionfactory-impl-class element in the deployment descriptor does not exist.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplSerializable.assertion=\
- For each connection-definition, the specified connectionfactory-impl-class implements java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplSerializable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.5.1.1
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplSerializable.failed=\
- Error: connectionfactory-class [ {0} ] does not implement java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplSerializable.passed=\
- All connectionfactory-impl-class classes implement java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplReferenceable.assertion=\
- For each connection-definition, the specified connectionfactory-impl-class implements jakarta.resource.Refereneceable.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplReferenceable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #15.5.1.1
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplReferenceable.failed=\
- Error: connectionfactory-class [ {0} ] does not implement jakarta.resource.Referenceable.
-com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplReferenceable.passed=\
- All connectionfactory-impl-class classes implement jakarta.resource.Referenceable.
-com.sun.enterprise.tools.verifier.tests.connector.admin.notApp=\
- Resource adapter does not define any administered objects.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectImpl.assertion=\
- For each administered object, the specified adminobject-class implements the specified adminobject-interface.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectImpl.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1, #12.4.2.3, #12.4.2.4
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectImpl.passed=\
- All adminobject-class classes implement their corresponding adminobject-interface.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectImpl.failed=\
- Error: adminobject-class [ {0} ] does not implement adminobject-interface [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.admin.nonexist=\
- Error: The class [ {0} ] as defined under adminobject-class in the deployment descriptor does not exist.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectJavaBean.assertion=\
- For each administered object, the specified adminobject-class is a JavaBeans component.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectJavaBean.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1, #12.4.7
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectJavaBean.failed=\
- Error: The adminobject-class [ {0} ] does not comply with the JavaBeans specification.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectJavaBean.failed1=\
- Error: The adminobject-class [ {0} ] does not provide accessor methods for [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectJavaBean.passed=\
- Each adminobject-class is a JavaBeans component.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectSerializable.assertion=\
- For each administered object, the specified adminobject-class implements java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectSerializable.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectSerializable.passed=\
- All adminobject-class classes implement java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectSerializable.failed=\
- Error: adminobject-class [ {0} ] does not implement java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.notApp=\
- Resource adapter does not provide inbound communication.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.nonexist=\
- Error: The class [ {0} ] as defined under activationspec-class in the deployment descriptor does not exist.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecClass.assertion=\
- For each message-listener, the specified activationspec-class implements the jakarta.resource.spi.ActivationSpec interface.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecClass.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #5.3.3, #17.3.1, #17.6
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecClass.failed=\
- Error: activationspec-class [ {0} ] does not implement jakarta.resource.spi.ActivationSpec.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecClass.passed=\
- All activationspec-class classes implement jakarta.resource.spi.ActivationSpec.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecJavaBean.assertion=\
- For each message-listener, the specified activationspec-class is a JavaBeans component.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecJavaBean.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecJavaBean.failed=\
- Error: The activationspec-class [ {0} ] does not comply with the JavaBeans specification.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecJavaBean.failed1=\
- Error: The activationspec-class [ {0} ] does not provide accessor methods for [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecJavaBean.passed=\
- The activationspec-class is a JavaBeans component.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecOverridesEquals.assertion=\
- For each message-listener, the specified activationspec-class does not override the equals method.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecOverridesEquals.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #16.4
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecOverridesEquals.failed=\
- Error: activationspec-class [ {0} ] overrides the equals method.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecOverridesEquals.passed=\
- No activationspec-class classes override the equals method.
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapter.nonexist=\
- Error: The class [ {0} ] defined by the resourceadapter-class element in the deployment descriptor does not exist.
-com.sun.enterprise.tools.verifier.tests.connector.resourceadapter.notApp=\
- The resourceadapter-class is not specified.
-
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClass.assertion=\
- The specified resourceadapter-class implements the jakarta.resource.spi.ResourceAdapter interface.
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClass.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.3.1
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClass.failed1=\
- The resourceadapter-class cannot be empty if the resource adapter provides inbound communication.
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClass.passed=\
- The resourceadapter-class implements jakarta.resource.spi.ResourceAdapter.
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClass.failed=\
- Error: resourceadapter-class [ {0} ] does not implement jakarta.resource.spi.ResourceAdapter.
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClassSerializable.assertion=\
- ResourceAdapter class must be available if the resource adapter provides inbound communication
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClassSerializable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #11
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClassSerializable.failed=\
- ResourceAdapter class not found
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClassSerializable.passed=\
- Valid ResourceAdapter class.
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterJavaBean.assertion=\
- The ResourceAdapter implementation must be a JavaBean.
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterJavaBean.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #17.4.1.1
-com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterJavaBean.failed=\
- Error: The resourceadapter-class [ {0} ] does not comply with the JavaBeans specification.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckResourceAdapterJavaBean.failed1=\
- Error: The resourceadapter-class [ {0} ] does not provide accessor methods for [ {1} ].
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckResourceAdapterJavaBean.passed=\
- The resourceadapter-class is a JavaBeans component.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecSerializable.assertion=\
- The specified activationspec-class implements the java.io.Serializable interface.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecSerializable.specMappingInfo_1.5=\
- J2EE Connector Architecture Specification Section #16.3
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecSerializable.failed=\
- Error: activationspec-class [ {0} ] does not implement java.io.Serializable.
-com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecSerializable.passed=\
- All activationspec-class classes implement java.io.Serializable.
-
-
-com.sun.enterprise.tools.verifier.tests.webservices.Error=\
- Error: Unexpected error occurred [ {0} ].
-com.sun.enterprise.tools.verifier.tests.webservices.WSTest.SEIClassExists=\
- Error: Service endpoint interface class [ {0} ] not found.
-com.sun.enterprise.tools.verifier.tests.webservices.WSTest.BeanClassExists=\
- Error: Service endpoint implementation bean class [ {0} ] not found.
-com.sun.enterprise.tools.verifier.tests.wsclient.WSClientTest.SEIClassExists=\
- Error: Service endpoint interface class [ {0} ] not found.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.assertion=\
- For a stateless session bean implementation, the ejb-link element associates the port-component with a session element in the ejb-jar.xml file. The ejb-link element may not refer to a session element defined in another module.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.passed=\
- Service implementation bean defined in ejb-jar.xml using [{0}] session element.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.failed=\
- Service implementation bean cannot be stateful session bean.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.failed1=\
- Service implementation bean could not be resolved from the ejb-link specified.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.failed2=\
- Service implementation bean should be a session bean.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck.notapp=\
- This is a JAX-RPC service endpoint.
-
-com.sun.enterprise.tools.verifier.tests.webservices.EJBLinkedToOnePortCompCheck.assertion=\
- A session bean must only be linked to by a single port-component.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBLinkedToOnePortCompCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.EJBLinkedToOnePortCompCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.EJBLinkedToOnePortCompCheck.passed=\
- The session bean associated with this endpoint is linked to by a single port-component.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBLinkedToOnePortCompCheck.failed=\
- The session bean associated with this endpoint is linked to by multiple port-components.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBLinkedToOnePortCompCheck.notapp=\
- This is a JAX-RPC service endpoint.
-
-com.sun.enterprise.tools.verifier.tests.webservices.ServletLinkedToOnePortCompCheck.assertion=\
- A servlet must only be linked to by a single port-component.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletLinkedToOnePortCompCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.ServletLinkedToOnePortCompCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.ServletLinkedToOnePortCompCheck.passed=\
- The servlet associated with this endpoint is linked to by a single port-component.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletLinkedToOnePortCompCheck.failed=\
- The servlet associated with this endpoint is linked to by multiple port-components.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletLinkedToOnePortCompCheck.notapp=\
- This is not a JAX-RPC service endpoint.
-
-com.sun.enterprise.tools.verifier.tests.webservices.EJBServiceImplBeanChk.assertion=\
- This assertion tests several service implementation bean characteristics specified by JSR-109.
-com.sun.enterprise.tools.verifier.tests.webservices.EJBServiceImplBeanChk.specMappingInfo_1.1=\
- JSR 109 Section #5.3.2.1
-com.sun.enterprise.tools.verifier.tests.webservices.EJBServiceImplBeanChk.specMappingInfo_1.2=\
- JSR 109MR Section #5.3.2.3
-
-com.sun.enterprise.tools.verifier.tests.webservices.EJBServiceImplBeanChk.failed=\
- The [ {0} ] class [ {1} ] could not be loaded.
-
-com.sun.enterprise.tools.verifier.tests.webservices.passed=\
- [ {0} ].
-com.sun.enterprise.tools.verifier.tests.webservices.failed=\
- [ {0} ].
-com.sun.enterprise.tools.verifier.tests.webservices.failed1=\
- Error: [ {0} ] class used in [ {1} ] class cannot be found.
-com.sun.enterprise.tools.verifier.tests.webservices.notapp=\
- [ {0} ].
-com.sun.enterprise.tools.verifier.tests.webservices.clfailed=\
- The [ {0} ] class [ {1} ] could not be loaded.
-com.sun.enterprise.tools.verifier.tests.webservices.clpassed=\
- The [ {0} ] class [ {1} ] exists and was loaded successfully.
-
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerClassCheck.assertion=\
- handler-class defines a fully qualified class name for the handler implementation and implements javax.xml.rpc.handler.Handler.
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerClassCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.2.5
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerClassCheck.passed=\
- The handler class [ {0} ] exists and implements the javax.xml.rpc.handler.Handler interface.
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerClassCheck.failed=\
- Handler class [ {0} ] does not implement javax.xml.rpc.handler.Handler.
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerClassCheck.notapp=\
- Not Applicable: No handlers defined in this Web service.
-
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerChainClassCheck.assertion=\
- With JAX-WS a Handler class must implement the jakarta.xml.ws.handler.Handler interface or one of its subinterfaces
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerChainClassCheck.specMappingInfo_1.2=\
- JSR 109 MR Section #6.2.3
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerChainClassCheck.passed=\
- The Handler Class [{0}] exists and implements the jakarta.xml.ws.handler.Handler Interface.
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerChainClassCheck.failed=\
- Handler Class [{0}] does not implement jakarta.xml.ws.handler.Handler Interface
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerChainClassCheck.passed1=\
- Handler chains, if any, are defined properly
-
-
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerPortNameCheck.assertion=\
- Handler port name is a valid port name.
-com.sun.enterprise.tools.verifier.tests.webservices.HandlerPortNameCheck.specMappingInfo=
-
-com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCEndpointIsServletClassCheck.assertion=\
- Service implementations using a JAX-RPC service endpoint must be defined in the web.xml deployment descriptor file using the servlet-class element.
-com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCEndpointIsServletClassCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCEndpointIsServletClassCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCServiceImplBeanChk.assertion=\
- This assertion tests several service implementation bean characteristics specified by JSR-109.
-com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCServiceImplBeanChk.specMappingInfo_1.1=\
- JSR 109 Section #5.3.2.2
-com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCServiceImplBeanChk.specMappingInfo_1.2=\
- JSR 109MR Section #5.3.2.4.1
-
-com.sun.enterprise.tools.verifier.tests.webservices.MappingFileCheck.assertion=\
- The jaxrpc-mapping-file file name is a relative path within the module. If JAX-WS is used, mapping file is not required because all of the data binding in JAX-WS is done according to the JAXB specification
-com.sun.enterprise.tools.verifier.tests.webservices.MappingFileCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.5
-com.sun.enterprise.tools.verifier.tests.webservices.MappingFileCheck.specMappingInfo_1.2=\
- JSR 109MR Section #4.2.3.4, #5.4
-com.sun.enterprise.tools.verifier.tests.webservices.MappingFileCheck.passed=\
- Mapping file requirements are satisfied
-com.sun.enterprise.tools.verifier.tests.webservices.MappingFileCheck.failed=\
- The mapping file does not exist at the specified location [ {0} ] in the archive.
-com.sun.enterprise.tools.verifier.tests.webservices.MappingFileCheck.warning=\
- The mapping file as specified in location [ {0} ] is not required.
-
-com.sun.enterprise.tools.verifier.tests.webservices.OnlyOneServletMappingCheck.assertion=\
- No more than one servlet mapping may be specified for a servlet that is linked to by a port-component.
-com.sun.enterprise.tools.verifier.tests.webservices.OnlyOneServletMappingCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.OnlyOneServletMappingCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.OnlyOneServletMappingCheck.passed=\
- Found only one servlet mapping for the servlet linked to by this port-component.
-com.sun.enterprise.tools.verifier.tests.webservices.OnlyOneServletMappingCheck.failed=\
- Found [ {0} ] servlet mappings for the servlet linked to by this port-component.
-com.sun.enterprise.tools.verifier.tests.webservices.OnlyOneServletMappingCheck.notapp=\
- Not applicable: This is not a JAX-RPC service endpoint.
-
-com.sun.enterprise.tools.verifier.tests.webservices.SEIClassNameCheck.assertion=\
- The developer must specify the fully qualified class name of the service endpoint interface in the service-endpoint-interface element.
-com.sun.enterprise.tools.verifier.tests.webservices.SEIClassNameCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2, #7.1.5
-com.sun.enterprise.tools.verifier.tests.webservices.SEIClassNameCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.SEIClassNameCheck.passed=\
- The [ {0} ] class [ {1} ] was loaded successfully.
-com.sun.enterprise.tools.verifier.tests.webservices.SEIClassNameCheck.failed=\
- The [ {0} ] class [ {1} ] could not be loaded.
-
-com.sun.enterprise.tools.verifier.tests.webservices.SEIEJBTxAttrChk.assertion=\
- If the service implementation bean is an enterprise bean, the transaction attributes for the methods defined by the service endpoint interface do not include Mandatory.
-com.sun.enterprise.tools.verifier.tests.webservices.SEIEJBTxAttrChk.specMappingInfo_1.1=\
- JSR 109 Section #8.1
-com.sun.enterprise.tools.verifier.tests.webservices.SEIEJBTxAttrChk.specMappingInfo_1.2=\
- JSR 109MR Section #8.1, 8.2.10
-com.sun.enterprise.tools.verifier.tests.webservices.SEIEJBTxAttrChk.failed=\
- [ {0} ] of this Web service [ {1} ] have/has the Mandatory transaction attribute.
-com.sun.enterprise.tools.verifier.tests.webservices.SEIEJBTxAttrChk.passed=\
- None of the methods of this Web service [ {0} ] have Mandatory transaction attribute.
-com.sun.enterprise.tools.verifier.tests.webservices.SEIEJBTxAttrChk.notapp=\
- Not applicable: This is not an EJB service endpoint.
-
-com.sun.enterprise.tools.verifier.tests.webservices.SEIExtendsRemoteCheck.assertion=\
- Service endpoint interface must extend the java.rmi.Remote interface. JAX-WS specification does not require Service Endpoint Interface to extend java.rmi.Remote interface
-com.sun.enterprise.tools.verifier.tests.webservices.SEIExtendsRemoteCheck.specMappingInfo_1.1=\
- JSR 109 Section #5.3.1
-com.sun.enterprise.tools.verifier.tests.webservices.SEIExtendsRemoteCheck.specMappingInfo_1.2=\
- JSR 109MR Section #3.9
-com.sun.enterprise.tools.verifier.tests.webservices.SEIExtendsRemoteCheck.passed=\
- Service Enpoint is defined properly.
-com.sun.enterprise.tools.verifier.tests.webservices.SEIExtendsRemoteCheck.failed=\
- Service endpoint interface [ {0} ] does not extend the java.rmi.Remote interface.
-com.sun.enterprise.tools.verifier.tests.webservices.SEIExtendsRemoteCheck.warning=\
- SEI [{0}] is not required to extend the java.rmi.Remote interface.
-
-com.sun.enterprise.tools.verifier.tests.webservices.ServiceImplBeanLinkCheck.assertion=\
- The service-impl-bean element defines the Web service implementation. A service implementation can be an enterprise bean class or a JAX-RPC Web component.
-com.sun.enterprise.tools.verifier.tests.webservices.ServiceImplBeanLinkCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.5
-com.sun.enterprise.tools.verifier.tests.webservices.ServiceImplBeanLinkCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.ServiceImplBeanLinkCheck.passed=\
- [ {0} ] link of service-impl-bean element resolved successfully.
-com.sun.enterprise.tools.verifier.tests.webservices.ServiceImplBeanLinkCheck.failed=\
- Could not resolve [ {0} ] link of service-impl-bean element.
-
-com.sun.enterprise.tools.verifier.tests.webservices.ServletImplClassCheck.assertion=\
- The servlet implementation class for a JAX-RPC service endpoint is packaged in the archive.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletImplClassCheck.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.webservices.ServletImplClassCheck.passed=\
- The servlet implementation class [ {0} ] was loaded successfully.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletImplClassCheck.failed=\
- The servlet implementation class [ {0} ] was not found.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletImplClassCheck.notapp=\
- Not Applicable: This is not a JAX-RPC service endpoint.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletImplClassCheck.failed1=\
- The Web component implementation for this JAX-RPC service endpoint [ {0} ] is not a servlet.
-
-com.sun.enterprise.tools.verifier.tests.webservices.ServletUrlPatternExactCheck.assertion=\
- The url-pattern of the servlet-mapping must be an exact match pattern (i.e. it must not contain an asterisk (*)).
-com.sun.enterprise.tools.verifier.tests.webservices.ServletUrlPatternExactCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.ServletUrlPatternExactCheck.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.ServletUrlPatternExactCheck.passed=\
- The url-pattern for this servlet-mapping [ {0} ] is exact.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletUrlPatternExactCheck.failed=\
- The url-pattern for this servlet-mapping [ {0} ] contains an asterisk (*) and is not exact.
-com.sun.enterprise.tools.verifier.tests.webservices.ServletUrlPatternExactCheck.notapp=\
- Not Applicable: This is not a JAX-RPC service endpoint.
-
-
-com.sun.enterprise.tools.verifier.tests.webservices.WSDLFileCheck.assertion=\
- The wsdl-file element specifies a location of the WSDL description of a set of Web services. The location is relative to the root of the module and must be specified by the developer.
-com.sun.enterprise.tools.verifier.tests.webservices.WSDLFileCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.WSDLFileCheck.specMappingInfo_1.2=\
- JSR 109MR Section #5.3.2.1, #7.1.2
-com.sun.enterprise.tools.verifier.tests.webservices.WSDLFileCheck.passed=\
- WSDL file exists in the archive at URI [ {0} ].
-com.sun.enterprise.tools.verifier.tests.webservices.WSDLFileCheck.failed=\
- WSDL file does not exist in the archive at URI [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.webservices.WSXMLLocCheck.assertion=\
- A Web services deployment descriptor in an EJB JAR file is located at META-INF/webservices.xml. A Web services deployment descriptor in a WAR file is located at WEB-INF/webservices.xml.
-com.sun.enterprise.tools.verifier.tests.webservices.WSXMLLocCheck.specMappingInfo_1.1=\
- JSR 109 Section #5.4.1
-com.sun.enterprise.tools.verifier.tests.webservices.WSXMLLocCheck.passed=\
- The webservices.xml file for [ {0} ] is located at the correct place.
-com.sun.enterprise.tools.verifier.tests.webservices.WSXMLLocCheck.failed=\
- The webservices.xml file for [ {0} ] is not located in the directory WEB-INF (for a WAR file) or META-INF (for an EJB JAR file).
-
-com.sun.enterprise.tools.verifier.tests.webservices.WSSchemaLocation.assertion=\
- The Web services schemaLocation in webservices.xml matches the schema requirement.
-com.sun.enterprise.tools.verifier.tests.webservices.WSSchemaLocation.specMappingInfo_1.1=\
- JSR 109 Section #7.1.5
-com.sun.enterprise.tools.verifier.tests.webservices.WSSchemaLocation.specMappingInfo_1.2=\
- JSR 109MR Section #7.1.5
-com.sun.enterprise.tools.verifier.tests.webservices.WSSchemaLocation.passed=\
- The webservices.xml file for [ {0} ] has the correct schemaLocation.
-com.sun.enterprise.tools.verifier.tests.webservices.WSSchemaLocation.passed1=\
- Webservices deployment descriptor is not defined for this archive
-com.sun.enterprise.tools.verifier.tests.webservices.WSSchemaLocation.failed=\
- The webservices.xml file for [ {0} ] does not have the correct schemaLocation.
-
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPort.assertion=\
- The developer must specify the WSDL port QName in the wsdl-port element for each Port.
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPort.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPort.passed=\
- The webservices.xml file for [ {0} ] has the wsdl-port specified.
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPort.failed=\
- The webservices.xml file for [ {0} ] does not have the wsdl-port correctly specified.
-
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPortComponentName.assertion=\
- A logical name for the port must be specified by the developer using the port-component-name element.
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPortComponentName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPortComponentName.passed=\
- The webservices.xml file for [ {0} ] has the port-component-name element specified
-com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPortComponentName.failed=\
- The webservices.xml file for [ {0} ] does not have the port-component-name element specified
-
-
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.assertion=\
- Service implementation bean (stateless session bean) must implement the ejbRemove() method, which takes no arguments.
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.passed=\
- [ {0} ] declares [ {1} ] method.
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.failed=\
- Error: [ {0} ] does not properly declare at least one ejbRemove() method. [ {1} ] is not a valid bean.
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.notApplicable=\
- Not Applicable: Service implementation bean is not a stateless session bean.
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.notApplicable1=\
- Not Applicable: Service implementation bean is null or not a session bean descriptor.
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.notApplicable2=\
- Not Applicable: Service implementation bean is not implemented.
-com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB.failedException=\
- Error: [ {0} ] class not found.
-
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerClassCheck.assertion=\
- The handler-class element defines a fully qualified class name for the handler implementation and implements javax.xml.rpc.handler.Handler.
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerClassCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.2.5
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerClassCheck.passed=\
- The handler class [ {0} ] exists and implements the javax.xml.rpc.handler.Handler Interface.
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerClassCheck.failed=\
- Handler class [ {0} ] does not implement javax.xml.rpc.handler.Handler.
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerClassCheck.notapp=\
- Not Applicable: No handlers are defined in this Web service.
-
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerPortNameCheck.assertion=\
- Handler port name is a valid port name.
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerPortNameCheck.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerPortNameCheck.passed=\
- Port name(s) in the handler chain are valid.
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerPortNameCheck.failed=\
- The port name(s) in the handler chain are invalid.
-com.sun.enterprise.tools.verifier.tests.wsclients.HandlerPortNameCheck.notapp=\
- Not Applicable: No handlers are defined in this Web service.
-
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.assertion=\
- The jaxrpc-mapping-file file name is a relative path within the module.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.1.5
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.failed=\
- The mapping file does not exist at the specified location [{0}] in the archive.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.passed=\
- Mapping file found at location [ {0} ] in archive.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.failed1=\
- The Web service client [ {0} ] has a WSDL file specified but no mapping file.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.failed2=\
- The Web service client [ {0} ] has a mapping file specified but no WSDL File.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.passed2=\
- This Web service client has neither a WSDL file nor a mapping file.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.passed1=\
- Mapping file specified because WSDL file is also specified.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck.notapp=\
- This Web service client does not have a mapping file.
-
-
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileOnlyIfWSDLFileCheck.assertion=\
- If the wsdl-file is not specified in the deployment descriptor, the jaxrpc-mapping-file must not be specified.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileOnlyIfWSDLFileCheck.specMappingInfo_1.1=\
- JSR 109 Section #4.2.6
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileOnlyIfWSDLFileCheck.failed=\
- Mapping file specified for this Web service [ {0} ] without a corresponding WSDL file.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileOnlyIfWSDLFileCheck.passed=\
- No mapping file specified, since there is no WSDL file.
-com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileOnlyIfWSDLFileCheck.notapp=\
- Not Applicable: A WSDL file is specified in the deployment descriptor.
-
-
-com.sun.enterprise.tools.verifier.tests.wsclients.PortCompRefSEIClassCheck.assertion=\
- The service-endpoint-interface element defines a fully qualified Java class that represents the service endpoint interface of a WSDL port.
-com.sun.enterprise.tools.verifier.tests.wsclients.PortCompRefSEIClassCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.2.5
-com.sun.enterprise.tools.verifier.tests.wsclients.PortCompRefSEIClassCheck.passed=\
- Service endpoint interface class [ {0} ] found.
-com.sun.enterprise.tools.verifier.tests.wsclients.PortCompRefSEIClassCheck.failed=\
- Error: Service endpoint interface class [ {0} ] not found.
-com.sun.enterprise.tools.verifier.tests.wsclients.PortCompRefSEIClassCheck.notapp=\
- Not Applicable: The service reference does not specify a service endpoint interface.
-
-
-com.sun.enterprise.tools.verifier.tests.wsclients.PortComponentLinkValidCheck.assertion=\
- The port-component-link element links a port-component-ref to a specific port-component required to be made available by a service reference. The value of a port-component-link must be the port-component-name of a port-component in the same module or another module in the same application unit.
-com.sun.enterprise.tools.verifier.tests.wsclients.PortComponentLinkValidCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.2.5
-com.sun.enterprise.tools.verifier.tests.wsclients.PortComponentLinkValidCheck.failed=\
- Invalid port-component-link [ {0} ] in Web service client [ {1} ].
-com.sun.enterprise.tools.verifier.tests.wsclients.PortComponentLinkValidCheck.passed=\
- All port-component-link elements in this service reference are valid.
-com.sun.enterprise.tools.verifier.tests.wsclients.PortComponentLinkValidCheck.notapp=\
- Not Applicable: port-component-link does not exist in port-component-ref [ {0} ].
-
-
-com.sun.enterprise.tools.verifier.tests.wsclients.ServiceRefCheck.assertion=\
- The service-interface element declares the fully qualified class name of the JAX-RPC service interface the client depends on. In most cases the value will be javax.xml.rpc.Service. A JAX-RPC generated service interface class may also be specified.
-com.sun.enterprise.tools.verifier.tests.wsclients.ServiceRefCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.2.2
-com.sun.enterprise.tools.verifier.tests.wsclients.ServiceRefCheck.passed=\
- The JAX-RPC service interface the client depends on is the generic service interface.
-com.sun.enterprise.tools.verifier.tests.wsclients.ServiceRefCheck.passed1=\
- The JAX-RPC service interface the client depends on is a generated service interface [ {0} ].
-com.sun.enterprise.tools.verifier.tests.wsclients.ServiceRefCheck.failed=\
- The JAX-RPC service interface the client depends on [ {0} ] could not be loaded.
-
-com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck.assertion=\
- The wsdl-file element specifies a location of the WSDL description of the service. The location is relative to the root of the module. The WSDL description may be a partial WSDL, but must at least include the portType and binding elements. If wsdlLocation attribute of WebServiceRef annotation is specified, it is always relative to the root of the module. HTTP URL can also be specified here.
-com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck.specMappingInfo_1.1=\
- JSR 109 Section #7.2.2
-com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck.specMappingInfo_1.2=\
- JSR 109 Section #4.2.2
-com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck.passed=\
- WSDL file exists in the archive at URI [ {0} ].
-com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck.failed=\
- WSDL file does not exist in the archive at URI [ {0} ].
-com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck.failed1=\
- WSDL file [{0}] does not exist or is not accessible. Please check the url
-com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck.notapp=\
- Not Applicable: Service client does not have a WSDL file specified.
-
-com.sun.enterprise.tools.verifier.tests.persistence.DefaultProviderVerification.assertion=\
- Test validity of EJB 3.0 persistence unit. This test tests validity using \
- a portable persistence provider.
-com.sun.enterprise.tools.verifier.tests.persistence.DefaultProviderVerification.specMappingInfo=\
- EJB 3.0 Persistence API Specification
-
-com.sun.enterprise.tools.verifier.tests.persistence.DuplicatePUNameTest.assertion=\
- A persistence unit must have a name. \
- \nOnly one persistence unit of any given name may be defined within \
- \na single EJB-JAR file, within a single WAR file, within a \
- \nsingle application client jar, or per persistence.xml within an EAR file.
-com.sun.enterprise.tools.verifier.tests.persistence.DuplicatePUNameTest.specMappingInfo=\
- EJB 3.0 Persistence API Specification Section #6.2
-com.sun.enterprise.tools.verifier.tests.persistence.DuplicatePUNameTest.failed=\
- There are [ {0} ] number of persistence units by name [ {1} ]
-com.sun.enterprise.tools.verifier.tests.persistence.DuplicatePUNameTest.puName=\
- Found a persistence unit by name [ {0} ] in persistence unit root [ {1} ]
-
-com.sun.enterprise.tools.verifier.tests.persistence.ClassNotFound.assertion=\
- All the classes specified using <class> element in persistence.xml should be loadable.
-com.sun.enterprise.tools.verifier.tests.persistence.ClassNotFound.failed1=\
- Class [ {0} ] could not be loaded
-com.sun.enterprise.tools.verifier.tests.persistence.ClassNotFound.failed2=\
- Class [ {0} ] could not be loaded because a dependent class could not be loaded.
- See reason:\
- \n [ {1} ]
-
-com.sun.enterprise.tools.verifier.tests.persistence.JarNotFound.assertion=\
- All the jar file names specified using <jar-file> element in persistence.xml should be available in the application.
-com.sun.enterprise.tools.verifier.tests.persistence.JarNotFound.failed=\
- [ {0} ] specified in persistence.xml does not exist in the application.
-
-com.sun.enterprise.tools.verifier.tests.persistence.MappingFileNotFound.assertion=\
- All the mapping files specified using <mapping-file> element in persistece.xml \
- must be in the standard XML mapping format, be uniquely named and \
- be resource-loadable from the application classpath.
-com.sun.enterprise.tools.verifier.tests.persistence.MappingFileNotFound.failed=\
- Mapping file [ {0} ] specified in persistence.xml does not exist in the application.
-
-## stuff needed for appserv-core integration
-verification.class.notfound=Class {0} not found.
-verification.method.notfound=Method {0} not found in class {1}.
-verification.class.instantiate.error=Could not instantiate class {0}.
-verification.class.access.error=Could not access class {0}.
-verification.method.error=Method {0} threw exception {1}.
-avkhome.notset=Property j2ee.appverification.home not set.
-
-com.sun.enterprise.tools.verifier.tests.ejb.webservice.notapp=\
-Not Applicable: Enterprise bean [ {0} ] implements a service endpoint interface.
-com.sun.enterprise.tools.verifier.tests.ejb.webservice.failed=\
-Enterprise bean [ {0} ] does not have local or remote interfaces.
-com.sun.enterprise.tools.verifier.tests.ejb.webservice.failedhome=\
-Enterprise bean [ {0} ] does not have local or remote home interfaces.
-com.sun.enterprise.tools.verifier.checkinclasspath=\
-The class [ {0} ] was not found. Check the manifest classpath or make sure it is available in the classpath at runtime.
-com.sun.enterprise.tools.verifier.tests.ejb.localinterfaceonly.notapp=\
-Not Applicable: Enterprise bean [ {0} ] has local interfaces only.
-
-##
-com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate.notApplicable1=\
- [ {0} ]''s home or local home interface does not declare any create[METHOD] methods.
-
-## CLIP Parser specific strings
-com.sun.enterprise.tools.verifier.CLIPParser.ambig=\
-{0}: ambiguous long option [ {1} ].
-com.sun.enterprise.tools.verifier.CLIPParser.loptnoarg=\
-{0}: long option [ {1} ] does not have arguments.
-com.sun.enterprise.tools.verifier.CLIPParser.optnoarg=\
-{0}: option [ {1}{2} ] does not have arguments.
-com.sun.enterprise.tools.verifier.CLIPParser.reqargs=\
-{0}: option [ {1} ] requires an argument.
-com.sun.enterprise.tools.verifier.CLIPParser.loptunknown=\
-{0}: unrecognized long option [ {1} ].
-com.sun.enterprise.tools.verifier.CLIPParser.optunknown=\
-{0}: unrecognized option [ {1}{2} ].
-com.sun.enterprise.tools.verifier.CLIPParser.invalidopt=\
-{0}: invalid option [ -{1} ].
-com.sun.enterprise.tools.verifier.CLIPParser.reqsarg=\
-{0}: option [ -{1} ] requires an argument.
-com.sun.enterprise.tools.verifier.Initializer.invalidarg=\
-{0}: option [ -{1} ] is not valid.
-com.sun.enterprise.tools.verifier.Initializer.Version=\
-verifier: version 5
-com.sun.enterprise.tools.verifier.Initializer.extraargs=\
-{0}: extra argument [ {1} ] will be ignored.
-com.sun.enterprise.tools.verifier.Initializer.jarmissing=\
-{0}: no <jarfilename> specified on command line.
-com.sun.enterprise.tools.verifier.Initializer.reqargs=\
-{0}: option [ {1} ] requires an argument.
-com.sun.enterprise.tools.verifier.Initializer.reqsarg=\
-{0}: option [ -{1} ] requires an argument.
-com.sun.enterprise.tools.verifier.Initializer.invalidreplevel=\
-{0}: missing argument for -r or unknown reporting level [ {1} ].
-com.sun.enterprise.tools.verifier.Initializer.invalidArchive=\
-{0}: is not a valid archive.
-com.sun.enterprise.tools.verifier.Initializer.invalidjavaeeversion=\
-{0}: Invalid Java EE Version [ {1} ] specified using -m option.\
-\nValid options are 1.2, 1.3, 1.4 or 5.
-com.sun.enterprise.tools.verifier.Initializer.specversion=\
-Verifier will be checking compliance of this application against \
-Java EE Specification version [ {0} ].
-
-
-## Localization Drive
-com.sun.enterprise.tools.verifier.CheckMgr.ParserConfigException=\
-loadTestsFromPropsFile...ParserConfigException
-com.sun.enterprise.tools.verifier.CheckMgr.SAXException=\
-loadTestsFromPropsFile...SAXException
-com.sun.enterprise.tools.verifier.CheckMgr.IOException=\
-loadTestsFromPropsFile...IOException
-com.sun.enterprise.tools.verifier.NameToken.print=\
-{0}
-com.sun.enterprise.tools.verifier.testsprint=\
-{0}
-com.sun.enterprise.tools.verifier.tests.dd.ParseDD.srcnull=\
-source is null
-com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist.clerr=\
-Can't get classloader
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement.refnull=\
-reference is null
-com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist.clerr=\
-could not get classloader
-source is null
-
-
-###### EJB30 tests specific strings
-
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.SessionBeanTest.notApplicable=\
- Test apply only to Session Bean components
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MessageBeanTest.notApplicable=\
- Test apply only to Message Bean components
-########################## BusinessIntfInheritance #############################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfInheritance.assertion=\
- A business interface must not extend jakarta.ejb.EJBObject or jakarta.ejb.EJBLocalObject.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfInheritance.specMappingInfo_3.0=\
- EJB 3.0 Simplified API Section #3.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfInheritance.failed=\
- [ {0} ] extends either jakarta.ejb.EJBObject or jakarta.ejb.EJBLocalObject.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfInheritance.failed1=\
- Business Interface class [ {0} ] not found.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfInheritance.passed=\
- Business Interface(s) are valid.
-
-########################## BusinessInterfaceException ##########################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessInterfaceException.assertion=\
- The methods of the business interface should only throw the java.rmi.RemoteException if the interface extends java.rmi.Remote.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessInterfaceException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessInterfaceException.warning=\
- java.rmi.RemoteException is thrown in method [ {0} ] of business interface [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessInterfaceException.failed1=\
- [ {0} ] not found.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessInterfaceException.passed=\
- Business interface(s) if any are valid.
-
-########################## CallbackMethodException #############################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodException.assertion=\
- Lifecycle callback interceptor methods must not throw application exceptions. Any exception other than derived from java.lang.RuntimeException or java.rmi.RemoteException is an application exception.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #11.4.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodException.failed=\
- Method [ {0} ] throws an application exception.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodException.passed=\
- Valid lifecycle callback interceptor methods.
-
-########################## InterceptorMethodException ##########################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodException.assertion=\
- The business interceptor methods must not throw java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodException.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #11.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodException.failed=\
- Method [ {0} ] throws java.rmi.RemoteException.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodException.passed=\
- Valid Interceptor methods.
-
-########################## AroundInvokeNotBusinessMethod #######################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.AroundInvokeNotBusinessMethod.assertion=\
- An AroundInvoke method must not be a business method.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.AroundInvokeNotBusinessMethod.specMappingInfo_3.0=\
- EJB 3.0 Simplified API Section #3.4.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.AroundInvokeNotBusinessMethod.failed=\
- AroundInvoke method [ {0} ] is a business method.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.AroundInvokeNotBusinessMethod.passed=\
- Valid Interceptor methods.
-
-########################## InterceptorNoArgConstructor #########################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorNoArgConstructor.assertion=\
- An interceptor class must have a public no-arg constructor.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorNoArgConstructor.specMappingInfo_3.0=\
- EJB 3.0 Simplified API Section #3.4
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorNoArgConstructor.failed=\
- Interceptor class [ {0} ] does not have a public constructor with no arguments.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorNoArgConstructor.passed=\
- Valid Interceptor(s) used.
-
-########################## EJBCreatePostConstruct ##############################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBCreatePostConstruct.assertion=\
- If the stateless session bean instance has an ejbCreate method, the PostConstruct annotation (or deployment descriptor metadata) can only be applied to the beans ejbCreate method.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBCreatePostConstruct.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.3.10.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBCreatePostConstruct.failed=\
- Wrong postconstruct method [ {0} ]
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBCreatePostConstruct.passed=\
- Valid postcontruct method(s) in Bean
-
-########################## CallbacksOnBeanClass ################################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbacksOnBeanClass.assertion=\
- If the PostConstruct lifecycle callback interceptor method is the ejbCreate method, if the PreDestroy lifecycle callback interceptor method is the ejbRemove method, if the PostActivate lifecycle callback interceptor method is the ejbActivate method, or if the Pre-Passivate lifecycle callback interceptor method is the ejbPassivate method, these callback methods must be implemented on the bean class itself (or on its superclasses).
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbacksOnBeanClass.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.3
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbacksOnBeanClass.failed=\
- Wrong method [ {0} ] in class [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbacksOnBeanClass.passed=\
- Valid lifecycle callback method(s)
-
-########################## MDBInheritsMDB ######################################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBInheritsMDB.assertion=\
- A message-driven bean class must not have a superclass that is itself a message-driven bean class.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBInheritsMDB.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #5.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBInheritsMDB.failed=\
- Message bean [ {0} ] inherits other message bean [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBInheritsMDB.passed=\
- Valid Message bean [ {0} ]
-
-########################## MDBImplementsListenerMethods ########################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBImplementsListenerMethods.assertion=\
- The message-driven bean class must implement the message listener interface or the methods of the message listener interface.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBImplementsListenerMethods.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #5.6.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBImplementsListenerMethods.failed=\
- Message bean [ {0} ] neither implements listener interface [ {1} ] nor implements listener interface method [ {2} ]
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBImplementsListenerMethods.passed=\
- Valid Message bean [ {0} ]
-
-########################## InterceptorMethodNotStaticOrFinal ###################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodNotStaticOrFinal.assertion=\
- An interceptor method must not be declared as final or static.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodNotStaticOrFinal.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #11.3
-
-########################## CallbackMethodArgument ##############################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodArgument.assertion=\
- Lifecycle callback interceptor methods defined on an interceptor class should have InvocationContext as argument. When defined on the bean class they should have empty argument.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodArgument.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #11.4
-
-########################## InterceptorMethodTest ###############################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodTest.failed=\
- Wrong {0} interceptor method [ {1} ]
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodTest.passed=\
- Valid Interceptor methods.
-
-########################## InitMethodReturnType ################################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InitMethodReturnType.assertion=\
- The return type of an init method is required to be void.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InitMethodReturnType.specMappingInfo_3.0=\
- EJB 3.0 Simplified API Section #9.3.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InitMethodReturnType.failed=\
- Wrong init method [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InitMethodReturnType.passed=\
- Valid init method(s).
-
-########################### InjectionTargetTest ################################
-com.sun.enterprise.tools.verifier.tests.InjectionTargetTest.failed=\
- Invalid annotation in {0} [ {1} ].
-com.sun.enterprise.tools.verifier.tests.InjectionTargetTest.passed=\
- Valid injection method(s).
-
-########################## EJBInjectionAnnotationModifiers #####################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBInjectionAnnotationModifiers.assertion=\
- The field or method where injection annotation is used must not be static or final.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBInjectionAnnotationModifiers.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #15.2.2
-
-########################## BusinessIntfAnnotationValue #########################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfAnnotationValue.assertion=\
- If @Local or @Remote is specified both on the bean class and on the referenced interface then the values must macth.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfAnnotationValue.specMappingInfo_3.0=\
- EJB 3.0 Simplified API Section #10.2
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfAnnotationValue.failed=\
- {0} annotation is used in {1} interface [ {2} ].
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfAnnotationValue.passed=\
- Valid annotations used in business interface(s).
-
-########################## ValidBusinessInterface ##############################
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.ValidBusinessInterface.assertion=\
- Business interface of an enterprise bean must not be defined as a class.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.ValidBusinessInterface.specMappingInfo_3.0=\
- EJB 3.0 "Core Contracts and Requirements" Specification Section #4.6.6
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.ValidBusinessInterface.failed=\
- [ {0} ] is defined as a class. It should be an interface.
-com.sun.enterprise.tools.verifier.tests.ejb.ejb30.ValidBusinessInterface.passed=\
- Business Interface(s) are valid.
-
-####ejb runtime tests specific strings
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.assertion=\
-The test case checks the cmp element in the ejb element.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.warning=\
-Warning [AS-EJB cmp] : mapping-properties element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.failed=\
-Failed [AS-EJB cmp] : mapping-properties field must contain a valid non-empty value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.passed=\
-Passed [AS-EJB cmp] : mapping-properties file is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.warning1=\
-Warning [AS-EJB cmp] : is-one-one-cmp element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.failed1=\
-Failed [AS-EJB cmp] : getOneOneFinders failed.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.passed1=\
-Passed [AS-EJB cmp] : is-one-one-cmp is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.warning2=\
-Warning [AS-EJB cmp] : one-one-finders element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.notApplicable=\
-Not applicable [AS-EJB cmp] : {0} is not a CMP entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.notRun=\
-Not run [AS-EJB cmp] Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.failed2=\
-Failed [AS-EJB finder] : method-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.failed3=\
-Failed [AS-EJB {0}] : {1} cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.warning3=\
-Warning [AS-EJB {0}] : {1} element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP.passed3=\
-Passed [AS-EJB {0}] : {1} is/are {2}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCommitOption.assertion=\
-Tests the commit-option value for an entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCommitOption.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCommitOption.failed=\
-Failed [AS-EJB ejb] : commit-option cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCommitOption.failed1=\
-Failed [AS-EJB ejb] : commit-option cannot be {0}. It must be one of A, B and C.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCommitOption.notApplicable=\
-Not applicable [AS-EJB ejb] : commit-option element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCommitOption.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.assertion=\
-ior-security-config element describes the security configuration information for the IOR.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.notApplicable=\
-Not applicable [AS-EJB ior-security-config] : ior-security-config element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.failedAsContextAuthMethod=\
-Failed [AS-EJB as-context] : auth-method cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.passedAsContextAuthMethod=\
-Passed [AS-EJB as-context] : auth-method is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.failedAsContextAuthMethod1=\
-Failed [AS-EJB as-context] : auth-method cannot be {0}. It can only be USERNAME_PASSWORD.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.failedAsContextRealm=\
-Failed [AS-EJB as-context] : realm cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.failedAsContextRealm1=\
-Failed [AS-EJB as-context] : realm cannot be null.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.passedAsContextRealm=\
-Passed [AS-EJB as-context] : realm is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.failedTestMsg=\
-Failed [AS-EJB {1}] : {2} cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.passedAsContextRequired=\
-Passed [AS-EJB as-context] : required is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.passedTestMsg=\
-Passed [AS-EJB as-context] : required is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.failedTestMsg1=\
-Failed [AS-EJB {1}] : {2} cannot be {0}. It can be either NONE, SUPPORTED or REQUIRED.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig.failedTestMsg2=\
-Failed [AS-EJB {1}] : {2} cannot be {0}. It can be either NONE or SUPPORTED.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.assertion=\
-This test checks whether the is-read-only flag value is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.failed=\
-Failed [AS-EJB ejb] : value [{0}] for is-read-only-bean is incorrect. It can only be true or false.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.passed=\
-Passed [AS-EJB ejb] : is-read-only-bean is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.notApplicable=\
-Not applicable [AS-EJB ejb] : is-read-only-bean element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.notApplicable1=\
-Not applicable [AS-EJB ejb] : refresh-period-in-seconds element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.notRun=\
-Not run [AS-EJB] : Could not create an SunEjbJar object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.passed1=\
-Passed [AS-EJB ejb] : Read-only beans can only be entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.failed1=\
-Failed [AS-EJB ejb] : Read-only beans cannot be session beans. They can only be entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.passed2=\
-Passed [AS-EJB ejb] : Read-only beans can only have container-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.failed2=\
-Failed [AS-EJB ejb] : Read-only beans cannot be message-driven beans. They can only be entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.failed3=\
-Failed [AS-EJB ejb] : Read-only beans cannot have bean-managed transaction demarcation.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.warning=\
-Warning [AS-EJB ejb] : Home interface [ {0} ] should have zero create methods for Read-only beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.warning1=\
-Warning [AS-EJB ejb] : Home interface [ {0} ] should have zero remove methods for Read-only beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.passed3=\
-Passed [AS-EJB ejb] : Read-only bean has zero create methods.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.passed4=\
-Passed [AS-EJB ejb] : Read-only bean has zero remove methods.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.failed4=\
-Failed [AS-EJB ejb] : refresh-period-in-seconds is invalid. It should be between 0 and {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean.passed5=\
-Passed [AS-EJB ejb] : refresh-period-in-seconds is {0}.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.assertion=\
-The ejb runtime deployment descriptor has an acceptable PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.passed1=\
-Passed [AS-EJB ] : The Application Server runtime deployment descriptor has the proper PubidLiteral: {0}
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.passed2=\
-Passed [AS-EJB] : The Application Server runtime deployment descriptor has the proper URL corresponding to the PubidLiteral: {0}
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.failed1=\
-Failed [AS-EJB] : No document type declaration found in the deployment descriptor for {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.failed2=\
-Failed [AS-EJB ejb] : The deployment descriptor for {0} does not have an expected PubidLiteral.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.notRun=\
-Not run [AS-EJB cmp] : Could not create descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID.notApplicable=\
-Not applicable : No DOCTYPE found for [ {0} ].
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName.assertion=\
-jms-durable-subscription-name specifies the name of a durable subscription associated with a message-driven bean's destination.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName.failed=\
-Failed [AS-EJB ejb] : jms-durable-subscription-name cannot be an empty string value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName.passed=\
-Passed [AS-EJB ejb] : jms-durable-subscription-name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName.failed1=\
-Failed [AS-EJB ejb] : jms-durable-subscription-name should be defined for a message-driven bean with destination type Topic and Durable subscriptionDurability value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName.notApplicable=\
-Not applicable [AS-EJB ejb] : jms-durable-subscription-name element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad.assertion=\
-jms-max-messages-load specifies the maximum number of messages to load into a JMS session at one time for a message-driven bean to serve.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad.failed=\
-Failed [AS-EJB ejb] :{0} is not a valid value for jms-max-messages-load. It should be between 0 and MAX_INT.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad.passed=\
-Passed [AS-EJB ejb] : jms-max-messages-load is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad.warning=\
-Warning [AS-EJB ejb] : jms-max-messages-load should be defined for message-driven beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad.notApplicable=\
-Not applicable [AS-EJB ejb] : jms-max-messages-load element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.assertion=\
-jndi-name is specified for enterprise beans and mdb-resource-adapter is specified for message-driven beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.passed=\
-Passed [AS-EJB ejb] : jndi-name is {0}
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.passed1=\
-mdb-resource-adapter is defined for the EJB {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.failed=\
-jndi-name or mdb-resource-adapter should be defined for a message-driven bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.warning=\
-Warning [AS-EJB ejb] : jndi-name is not defined for the enterprise bean {0} although it has a remote interface. Hence this ejb won''t be accessible from remote clients.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.warning1=\
-Warning [AS-EJB ejb] jndi-name for an MDB should start with jms/
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName.notApplicable=\
-Not applicable [AS-EJB] : Test is not applicable
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.assertion=\
-mdb-connection-factory element specifies the connection factory associated with a message-driven bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime..ASEjbMDBConnFactory.failed=\
-Failed [AS-EJB mdb-connection-factory] : jndi-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.passed=\
-Passed [AS-EJB mdb-connection-factory] : jndi-name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.warning=\
-Warning [AS-EJB mdb-connection-factory] : jndi-name {0} should start with jms/.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.failed1=\
-Failed [AS-EJB default-resource-principal] : name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.passed1=\
-Passed [AS-EJB default-resource-principal] : name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.warning2=\
-Failed [AS-EJB default-resource-principal] : password is an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEjbMDBConnFactory.passed2=\
-Passed [AS-EJB default-resource-principal] : password is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.notApplicable=\
-Not applicable [AS-EJB mdb-connection-factory] : default-resource-prncipal element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.failed2=\
-Failed [AS-EJB ejb] : mdb-connection-factory has to be defined for a message-driven bean with destination-type of Topic and subscription-durability of Durable.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.warning1=\
-Warning [AS-EJB ejb] : mdb-connection-factory should be defined for a message-driven bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.notApplicable1=\
-Not applicable [AS-EJB ejb] : mdb-connection-factory element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory.notRun=\
-Not run [AS-EJB] : Could not create descriptor object.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbName.assertion=\
-Tests the ejb-name that is defined in the corresponding ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbName.failed=\
-Failed [AS-EJB ejb] : ejb-name cannot not be empty. It should be a valid ejb-name as defined in ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbName.passed=\
-Passed [AS-EJB ejb] : ejb-name is {0} and verified with ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbName.failed1=\
-Failed [AS-EJB ejb] : ejb-name {0} is not found in ejb-jar.xml. It should exist in ejb-jar.xml also.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbName.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbPrincipal.assertion=\
-The principal tag defines a username on the platform.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbPrincipal.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbPrincipal.notApplicable=\
-Not applicable [AS-EJB ejb] :run-as element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbPrincipal.failed=\
-Failed [AS-EJB principal] : name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbPrincipal.passed=\
-Passed [AS-EJB principal] : name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbPrincipal.notRun=\
-Not run [AS-EJB] : Could not create a SunEjbJar object.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.assertion=\
-The test checks the ejb-ref for a valid JNDI name.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.failed1=\
-Failed [AS-EJB ejb-ref] : ejb-ref-name has an invalid type in ejb-jar.xml. Type should be Session or Entity only.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.failed2=\
-Failed [AS-EJB ejb-ref] : jndi-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.warning=\
-Failed [AS-EJB] : JNDI name should start with ejb/ for an ejb reference.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.passed=\
-Passed [AS-EJB] : {0} ejb reference has been verified.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.passed1=\
-Passed [AS-EJB ejb-ref] : ejb-ref-name is {0} and jndi-name is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.passed2=\
-Passed [AS-EJB ejb-ref] : ejb-ref-name [{0}] is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef.notApplicable=\
-Not applicable [AS-EJB] : {0} Does not define any EJB references.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.assertion=\
-This test checks the valid values for refresh-period-in-seconds, which specifies the rate at which the read-only bean must be refreshed from the data source.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.failed=\
-Failed [AS-EJB ejb] : refresh-period-in-seconds is invalid. It should be between 0 and MAX_INT.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.warning=\
-Warning [AS-EJB ejb] : refresh-period-in-seconds should be defined for read-only beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.failed1=\
-Failed [AS-EJB ejb] : refresh-period-in-seconds cannot be greater than or less than 0.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.passed=\
-Passed [AS-EJB ejb] : refresh-period-in-seconds is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.notApplicable=\
-Not applicable [AS-EJB ejb] : refresh-period-in-seconds is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination.assertion=\
- Information about logical message destination.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination.failed1=\
-Failed [AS-WEB message-destination] : message-destination-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination.passed1=\
-Passed [AS-WEB message-destination] : message-destination-name is {1}.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination.failed2=\
-Failed [AS-WEB message-destination] : jndi-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination.passed2=\
-Passed [AS-WEB message-destination] : jndi-name is {1}.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : message-destination element not defined.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination.assertion=\
- Information about logical message destination.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination.failed1=\
-Failed [AS-WEB message-destination] : message-destination-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination.passed1=\
-Passed [AS-WEB message-destination] : message-destination-name is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination.failed2=\
-Failed [AS-WEB message-destination] : jndi-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination.passed2=\
-Passed [AS-WEB message-destination] : jndi-name is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : message-destination element not defined.
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.assertion=\
- Runtime configuration information for the message-driven bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.failed1=\
-Failed [AS-EJB mdb-resource-adapter] : resource-adapter-mid cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.passed1=\
-Passed [AS-EJB mdb-resource-adapter] : resource-adapter-mid is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.failed2=\
-Failed [AS-EJB mdb-resource-adapter] : activation-config-property-name cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.passed2=\
-Passed [AS-EJB mdb-resource-adapter] : activation-config-property-name is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.failed3=\
-Failed [AS-EJB mdb-resource-adapter] : activation-config-property-value cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.passed3=\
-Passed [AS-EJB mdb-resource-adapter] : activation-config-property-value is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.failed4=\
-Failed [AS-EJB mdb-resource-adapter] : activation-config-property is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter.notApplicable=\
-Not applicable [AS-EJB ejb] : mdb-resource-adapter is not defined.
-
-## JAX RPC runtime classes
-JAXRPCContextListener=com.sun.xml.rpc.server.http.JAXRPCContextListener
-JAXRPCServlet=com.sun.xml.rpc.server.http.JAXRPCServlet
-
-##
-com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement.Warn=\
-A null EJBDescriptor was returned by DOL when doing getEjbDescriptor() on reference descriptor for EJB [ {0} ].
-
-
-#######################################################################
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.assertion=\
-Tests for valid role-name and principal-name or group-name.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.notRun=\
-Not run [AS-EJB] : Could not create a SunEjbJar object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.failed=\
-Failed [AS-EJB security-role-mapping] : role-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.failed1=\
-Failed [AS-EJB security-role-mapping] : role-name {1} could not be located in ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.failed2=\
-Failed [AS-EJB security-role-mapping] : principal-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.failed3=\
-Failed [AS-EJB security-role-mapping] : group-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.passed=\
-Passed [AS-EJB security-role-mapping] : role-name {1} verified with ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.passed1=\
-Passed [AS-EJB security-role-mapping] : principal-name is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping.passed2=\
-Passed [AS-EJB security-role-mapping] : group-name is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASSecurityRoleMapping.notApplicable=\
-Not applicable [AS-EJB] : security-role-mapping element is not defined.
-
-####################ASEntBeanName.java##################################
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanName.assertion=\
-Test for the enterprise bean name.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanName.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanName.warning=\
-Warning [AS-EJB enterprise-beans] : name should not be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanName.passed=\
-Passed [AS-EJB enterprise-beans] : name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanName.notApplicable=\
-Not applicable [AS-EJB] : {0} Does not define any enterprise bean name.
-
-#####################ASEntBeanUniqueID#######################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanUniqueID.assertion=\
-This tests checks if the value for unique-id is provided.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanUniqueID.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanUniqueID.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanUniqueID.passed=\
-Passed [AS-EJB enterprise-beans] : The unique-id key should not be defined. It will be automatically generated at deployment time.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanUniqueID.warning=\
-Warning [AS-EJB enterprise-beans] : unique-id Element should not be defined. It is automatically generated at deployment time.
-#######################ASEntBeanPmDescriptors###################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.assertion=\
-Tests the properties for the persistence manager associated with entity bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.notRun=\
-Not run [AS-EJB] : Could not create descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.passed=\
-Passed [AS-EJB pm-inuse] : pm-identifier {0} is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.passed1=\
-Passed [AS-EJB pm-inuse] : pm-version {0} is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.passed2=\
-Passed [AS-EJB pm-descriptor] : pm-identifier is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.passed3=\
-Passed [AS-EJB pm-descriptor] : pm-version is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.passed4=\
-Passed [AS-EJB pm-descriptor] : pm-config is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.passed5=\
-Passed [AS-EJB pm-descriptor] : pm-class-generator is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.passed6=\
-Passed [AS-EJB pm-descriptor] : pm-mapping-factory is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.failed5=\
-Failed [AS-EJB pm-inuse] : pm-version {0} for pm-identifier {1} not defined in pm-descriptors.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.failed1=\
-Failed [AS-EJB pm-inuse] : pm-identifier {0} is not defined in pm-descriptors.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors.failed12=\
-Failed [AS-EJB pm-inuse] : pm-version {0} is not defined in pm-inuse.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed14=\
-Failed [AS-EJB pm-inuse] : pm-identifier {0} is not defined in pm-inuse.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed10=\
-Failed [AS-EJB pm-descriptors] : pm-inuse {0} is not defined in pm-descriptors.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed11=\
-Failed [AS-EJB pm-descriptors] : pm-descriptor is not defined in pm-descriptors.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed2=\
-Failed [AS-EJB pm-descritor] : pm-identifier cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed3=\
-Failed [AS-EJB pm-descritor] : pm-version cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed4=\
-Failed [AS-EJB pm-descritor] : pm-config cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed13=\
-Failed [AS-EJB pm-descriptor] : pm-class-generator cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed7=\
-Failed [AS-EJB pm-descriptor] : pm-class-generator class name is invalid.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed8=\
-Failed [AS-EJB pm-descriptor] : pm-mapping-factory class name is invalid.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.failed6=\
-Failed [AS-EJB pm-descritor] : pm-pm-mapping-factory cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtimeASEntBeanPmDescriptors.warning3=\
-Warning [AS-EJB pm-descriptor] : config file {0} pointed in pm-config is not present in the JAR file.
-
-##################################ASEntBeanCmpResource###############################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.assertion=\
-Enterprise beans cmp-resource test. cmp-resource element contains the database to be used for storing CMP beans in an ejb-jar file.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.notRun=\
-Not run [AS-EJB cmp] : Could not create descriptor object.
-com.sun.enterprise.tools.verifier.iests.ejb.runtime.ASEntBeanCmpResource.failed=\
-Failed [AS-EJB cmp-resource] : jndi-name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.failed2=\
-Failed [AS-EJB default-resource-principal] : name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.failed3=\
-Failed [AS-EJB cmp-resource {1}] : name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.failed4=\
-Failed [AS-EJB cmp-resource {1}] : value cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.passed=\
-Passed [AS-EJB cmp-resource] : jndi-name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.passed1=\
-Passed [AS-EJB default-resource-principal] : name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.passed2=\
-Passed [AS-EJB default-resource-principal] : password is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.passed3=\
-Passed [AS-EJB cmp-resource {2}] : name is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.passed4=\
-Passed [AS-EJB cmp-resource {2}] : value is {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.warning=\
-Warning [AS-EJB cmp-resource] : The jndi-name is {0}, the preferred jndi-name should start with jdbc/ or jdo/.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.warning1=\
-Warning [AS-EJB default-resource-principal] : password is an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.notApplicable=\
-Not applicable [AS-EJB cmp-resource] : default-resource-principal element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource.notApplicable1=\
-Not applicable [AS-EJB enterprise-beans] : cmp-resource element is not defined.
-#########################ASEjbBCCacheIdleTimeout#################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.assertion=\
-[AS-EJB bean-cache] : cache-idle-timeout-in-seconds must be between 0 and Long.MAX_VALUE.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.failed=\
-Failed [AS-EJB bean-cache] : cache-idle-timeout-in-seconds cannot be empty. It should be between 0 and {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.failed1=\
-Failed [AS-EJB bean-cache] : cache-idle-timeout-in-seconds cannot be {0}. It should be between 0 and {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.failed2=\
-Failed [AS-EJB bean-cache] : [{0}] is not a valid Long value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.passed=\
-Passed [AS-EJB bean-cache] : cache-idle-timeout-in-seconds is [{0}].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.notApplicable=\
-Not applicable [AS-EJB bean-cache] : cache-idle-timeout-in-seconds element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout.notApplicable1=\
-Not run [AS-EJB] : Could not create a descriptor object.
-
-#######################ASEjbBCMaxCacheSize.java#########################################3
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.assertion=\
-[AS-EJB bean-cache] : max-cache-size must be between 1 and Integer.MAX_VALUE.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.failed=\
-Failed [AS-EJB bean-cache] : max-cache-size should be greater than 1 and less than MAX_INT.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.failed1=\
-Failed [AS-EJB bean-pool] : max-cache-size cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.failed2=\
-Failed [AS-EJB bean-pool] : The value {0} for max-pool-size is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.passed=\
-Passed [AS-EJB bean-cache] : max-cache-size is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.notApplicable=\
-Not applicable [AS-EJB bean-cache] : max-cache-size is element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize.notApplicable1=\
-Not applicable [AS-EJB] : bean-cache element not defined.
-
-##################### ASEjbBCRemovalTimeout #########################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.assertion=\
-The removal-timeout-in-seconds specifies the amount of time the bean remains passivated. \
- Valid values are between 0 and MAX_LONG.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.specMappingInfo=
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.failed=\
-Failed [AS-EJB bean-cache] : removal-timeout-in-seconds cannot be empty. It should be between 0 and {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.failed1=\
-Failed [AS-EJB bean-cache] : removal-timeout-in-seconds cannot be {0}. It should be between 0 and {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.failed2=\
-Failed [AS-EJB bean-cache] : [{0}] is not a valid Long value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.passed=\
-Passed [AS-EJB bean-cache] : removal-timeout-in-seconds is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.notApplicable=\
-Not applicable [AS-EJB bean-cache] : removal-timeout-in-seconds element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout.notApplicable1=\
-Not applicable [AS-EJB] : bean-cache element not defined.
-
-###########################ASEjbBCResizeQuantity###################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.assertion=\
-[The max-cache-size specifies the maximum number of beans in the cache.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.failed=\
-Failed [AS-EJB bean-cache] : resize-quantity cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.failed1=\
-Failed [AS-EJB bean-cache] : resize-quantity cannot be less than 1 or greater than {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.failed2=\
-Failed [AS-EJB bean-cache] : The value [ {0} ] for max-cache-size is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.failed3=\
-Failed[AS-EJB bean-cache] : resize-quantity {0} should be less than max-cache-size {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.failed4=\
-Failed [AS-EJB" +"bean-cache] : resize-quantity should be less than max-cache-size. and max-cache-size is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.failed5=\
-Failed [AS-EJB bean-cache] : The value [ {0} ] for resize-quantity is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.passed=\
-Passed [AS-EJB bean-cache] : resize-quantity is {0} and is less than max-cache-size {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.passed1=\
-Passed [AS-EJB bean-cache] : resize-quantity is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.notApplicable=\
-Not applicable [AS-EJB bean-cache] : resize-quantity element is not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity.notApplicable1=\
-Not applicable [AS-EJB] : bean-cache element not defined.
-
-##################ASEjbBCVictimPolicy.java################################
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.assertion=\
-[The victim-selection-policy specifies the algorithm that is used to select victims.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.failed=\
-Failed [AS-EJB bean-cache] : victim-selection-policy cannot be empty. It has to be either FIFO, NRU or LRU.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.failed1=\
-Failed [AS-EJB bean-cache] : victim-selection-policy cannot be [{0}]. It should be either FIFO, NRU or LRU [case insensitive].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.passed=\
-Passed [AS-EJB bean-cache] : victim-selection-policy is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.notApplicable=\
-Not applicable [AS-EJB bean-cache] : victim-selection-policy element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.notApplicable1=\
-Not applicable [AS-EJB] : bean-cache element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-
-#############################ASEjbBeanCache####################################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBeanCache.assertion=\
-[The bean-cache element specifies the bean cache properties for the bean.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBeanCache.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBeanCache.passed=\
-Passed [AS-EJB ejb] : bean-cache element parsed.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBeanCache.warning1=\
-Warning [AS-EJB ejb] : bean-cache should be defined only for stateful session and entity beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBeanCache.notApplicable=\
-Not applicable [AS-EJB ejb] : bean-cache element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBeanCache.notRun=\
-Not run [AS-EJB] : Could not get a beanCache object.
-
-##############################ASEjbBeanPool###########################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBeanPool.assertion=\
-[The bean-pool element specifies the bean pool properties for the beans. The bean-pool is valid only for stateless session beans and message-driven beans.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBeanPool.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBeanPool.passed=\
-Passed [AS-EJB ejb] : bean-pool is correctly defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBeanPool.notRun=\
-Not run [AS-EJB] : Could not create a beanPool object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBeanPool.warning=\
-Warning [AS-EJB ejb] : bean-pool should be defined for stateless session Beans, Entity Beans or message-driven beans.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBeanPool.notApplicable=\
-Not applicable [AS-EJB ejb] : bean-pool element not defined.
-
-##############################ASCmpMappingTest#######################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest.assertion=\
-[The cmp mappings should be valid.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest.passed=\
-The mappings for the cmp beans (if any) are correct.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest.failed=\
-Error: Exception [ {0} ] when calling JDOCodeGenerator.validate().
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest.failed1=\
-Error: Exception [ {0} ] while initializing JDOCodeGenerator. Please check your descriptors and mapping files for consistency
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest.parseError=\
-Error: Entity bean [ {0} ] has the following error(s) [ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest.notApplicable=\
-Not applicable: Test only applies to container managed EJBs
-
-########################ASEjbBPMaxPoolSize########################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.assertion=\
-[The max-pool-size element specifies the maximum pool size for the bean pool.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.failed=\
-Failed [AS-EJB bean-pool] : max-pool-size cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.failed1=\
-Failed [AS-EJB bean-pool] : max-pool-size cannot be {0}. It should be between 0 and {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.failed2=\
-Failed [AS-EJB bean-pool] : The value {0} for max-pool-size is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.passed=\
-Passed [AS-EJB bean-pool] : max-pool-size is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.notApplicable=\
-Not applicable [AS-EJB bean-pool] : max-pool-size element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize.notApplicable1=\
-Not applicable [AS-EJB bean-pool] : max-pool-size element not defined.
-
-###########################ASEjbBPPoolIdleTime##########################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.assertion=\
-[The pool-idle-timeout-in-seconds specifies the maximum time for which a stateless session bean or a message-driven bean is allowed to be idle in the bean pool.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.passed=\
-Passed [AS-EJB bean-pool] : pool-idle-timeout-in-seconds is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.failed=\
-Failed [AS-EJB bean-pool] : pool-idle-timeout-in-seconds cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.failed1=\
-Failed [AS-EJB bean-pool] : pool-idle-timeout-in-seconds cannot be {0}. It should be between 0 and {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.failed2=\
-Failed [AS-EJB bean-pool] : The value [ {0} ] for pool-idle-timeout-in-seconds is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.notApplicable=\
-Not applicable [AS-EJB bean-pool] : pool-idle-timeout-in-seconds element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime.notApplicable1=\
-Not applicable [AS-EJB] : bean-pool element not defined.
-
-#####################ASEjbBPPoolResizeQty################################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.assertion=\
-[The resize-quantity specifies the number of beans to be created if the pool is empty.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.passed=\
-Passed [AS-EJB bean-pool] : resize-quantity is [ {0} ] and is less than or equal to max-pool-size[ {1} ].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.passed1=\
-Passed [AS-EJB bean-pool] : resize-quantity is [ {0} ].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.failed=\
-Failed [AS-EJB bean-pool] : resize-quantity cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.failed1=\
-Failed [AS-EJB bean-pool] : resize-quantity cannot be [ {0} ]. It should be between 0 and {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.failed2=\
-Failed [AS-EJB bean-pool] : The value [ {0} ] for max-pool-size is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.failed3=\
-Failed [AS-EJB bean-pool] : The value [ {0} ] for resize-quantity is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.warning=\
-Warning [AS-EJB bean-pool] : resize-quantity [ {0} ] is greater than max-pool-size [{1}].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.notApplicable=\
-Not applicable [AS-EJB bean-pool] : resize-quantity element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty.notApplicable1=\
-Not applicable [AS-EJB] : bean-pool element not defined.
-
-###########################ASEjbBPSteadyPoolSize########################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.assertion=\
-[The steady-pool-size element specifies the initial and minimum number of beans that must be maintained in the bean pool.]
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.passed=\
-Passed [AS-EJB bean-pool] : steady-pool-size is {0} and is less than or equal to max-pool-size [{1}].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.passed1=\
-Passed [AS-EJB bean-pool] : steady-pool-size is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.failed=\
-Failed [AS-EJB bean-pool] : steady-pool-size cannot be empty.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.failed1=\
-Failed [AS-EJB bean-pool] : steady-pool-size cannot be {0}. It should be between 0 and {1}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.failed2=\
-Failed [AS-EJB bean-pool] : The value {0} for max-pool-size is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.failed3=\
-Failed [AS-EJB bean-pool] : The value {0} for steady-pool-size is not a valid Integer value.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.warning=\
-Warning [AS-EJB bean-pool] : steady-pool-size [{0}] is greater than max-pool-size[{1}].
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.notRun=\
-Not run [AS-EJB] : Could not create a descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.notApplicable=\
-Not applicable [AS-EJB bean-pool] : steady-pool-size element not defined.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize.notApplicable1=\
-Not applicable [AS-EJB] : bean-pool element not defined.
-
-############################ASEjbREnvRefJndiName####################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName.assertion=\
- Check the jndi-name to which the resource environment reference name is bound.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName.passed=\
-Passed [AS-EJB res-env-ref] : jndi-name {0} is valid.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName.failed=\
-Failed [AS-EJB res-env-ref] : res-ref with res-ref-name {0} is not defined in ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName.failed4=\
-Failed [AS-EJB res-env-ref] : jndi-name {0} has invalid JNDI naming Scheme.JMS resources should have jndi-name starting with jms/
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName.notRun=\
-Not run [AS-EJB] Could not create descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName.notApplicable=\
-NOT-APPLICABLE: {0} Does not define any resource-env-ref elements.
-
-##################ASEjbResEnvRef#############################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResEnvRef.assertion=\
-Check the runtime bindings for resource environment reference.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResEnvRef.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResEnvRef.passed=\
-Passed [AS-EJB resource-env-ref] : res-env-ref-name {0} is verified with ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResEnvRef.failed=\
-Failed [AS-EJB resource-env-ref] : The res-env-ref-name {0} is not defined in ejb-jar.xml for this bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResEnvRef.notRun=\
-Not run [AS-EJB] Could not create descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResEnvRef.notApplicable=\
-NOT-APPLICABLE: {0} Does not define any resource-env-ref elements.
-####################ASEjbResRef#####################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResRef.assertion=\
-Check the runtime bindings for resource references declared in ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResRef.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResRef.passed=\
-Passed [AS-EJB resource-ref] : res-ref-name {0} is verified with ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResRef.failed=\
-Failed [AS-EJB resource-ref] : The res-ref-name {0} is not defined in ejb-jar.xml for this bean.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResRef.notApplicable=\
-NOT-APPLICABLE: {0} Does not define any resource-ref elements.
-#########################ASEjbRRefDefResPrincipal################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.assertion=\
-The principal should be declared if the authorization type for the resource in ejb-jar.xml is Application, and the password should not be null.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.passed=\
-Passed [AS-EJB default-resource-principal] : name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.passed1=\
-Passed [AS-EJB default-resource-principal] : password is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.failed=\
-Failed [AS-EJB resource-ref] : res-auth for res-ref-name {0} is defined as Application. Therefore, the default-resource-principal should be supplied with valid properties.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.failed2=\
-Failed [AS-EJB resource-ref] : res-ref-name {0} is not defined in ejb-jar.xml.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.failed3=\
-Failed [AS-EJB default-resource-principal] : name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.warning1=\
-Warning [AS-EJB default-resource-principal] : password is an empty string.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal.notApplicable=\
-Not applicable [AS-EJB resource-ref] : default-resource-principal element not defined.
-#################################ASEjbRRefJndiName#########################################
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.assertion=\
-jndi-name specifies the JNDI name to which this resource is bound. It should not be null and should\
-map to a valid subcontext.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.specMappingInfo=
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.warning1=\
-Warning [AS-EJB resource-ref] : jndi-name is {0} for resource type {1} The preferred jndi-name for JMS resources should start with jms
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.warning2=\
-Warning [AS-EJB resource-ref] : jndi-name is {0} for resource type {1} The preferred jndi-name for JDBC resources should start with jdbc
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.warning3=\
-Warning [AS-EJB resource-ref] : jndi-name is {0} for resource type {1} The preferred jndi-name for URL resources should start with a url
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.warning4=\
-Warning [AS-EJB resource-ref] : jndi-name is {0} for resource type {1} The preferred jndi-name for MAIL resources should start with mail
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.passed1=\
-Passed [AS-EJB resource-ref]: jndi name is specified correctly for the resource-references with in the application
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.failed1=\
-Failed [AS-EJB resource-ref]: jndi-name is not a non empty string
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName.notApplicable=\
-Not applicable [AS-EJB] : {0} Does not define any resource-ref elements.
-###############################################ASEjbRRefName###############################
-
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefName.assertion=\
-The res-ref-name specifies the name of the resource in the ejb-jar.xml for which \
- this element shows the JNDI binding properties.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefName.passed=\
-Passed [AS-EJB resource-ref] : res-ref-name is {0}.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefName.failed=\
-Failed [AS-EJB resource-ref] : resource-ref has empty res-ref-name.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefName.notRun=\
-Not run [AS-EJB] : Could not create the descriptor object.
-com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefName.notApplicable=\
-Not run [AS-EJB] : Could not create the descriptor object.
-
-############################ASCacheHelperClass#########################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.assertion=\
-cache-helper specifies a customizable class that implements the CacheHelper interface.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.passed=\
-Passed [AS-WEB cache-helper] : name is [ {0} ], helper class is valid.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.failed=\
-Failed [AS-WEB cache-helper] : name attribute, [ {0} ], must be unique in the entire list of cache-helpers.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.failed1=\
-Failed [AS-WEB cache-helper] : name [ {0} ] is either empty or null.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.failed2=\
-Failed [AS-WEB cache-helper] : At least one name/value pair is not valid in helper-class of [{0}].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.warning=\
-Warning [AS-WEB cache-helper] : name [ {0} ], class not present in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.notApplicable=\
-Not applicable [AS-WEB cache-helper] : There is no cache-helper element for the Web application.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass.failed3=\
-Failed [AS-WEB cache-helper] : could not create the cache object.
-
-#############################ASCache#################################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.assertion=\
-The cache element configures the cache for a Web application.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.passed=\
-Passed [AS-WEB cache] : max-entries [ {0} ] defined properly.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.passed1=\
-Passed [AS-WEB cache] : timeout-in-seconds [ {0} ] defined properly.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.passed3=\
-Passed [AS-WEB cache] : enabled [ {0} ] attribute defined properly.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.failed=\
-Failed [AS-WEB cache] : max-entries [ {0} ] attribute must be a proper integer value. Its range should be 1 to MAX_INT.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.failed1=\
-Failed [AS-WEB cache] : timeout-in-seconds value [ {0} ] attribute must be a proper long value. Its range should be between -1 and MAX_LONG.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.failed2=\
-Failed [AS-WEB cache] : Could not create the cache object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.failed3=\
-Failed [AS-WEB cache] : enabled [ {0} ] attribute must be a proper boolean value.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache.notApplicable=\
-Not applicable [AS-WEB cache] : Element not defined for the Web application.
-############################ASCacheMapping ###################################################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.assertion=\
-cache-mapping element defines what to be cached, the key to be used, any other constraints to be applied and a customizable cache-helper to programmatically hook this information.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.passed=\
-Passed [AS-WEB cache-mapping] : servlet-name [ {0} ] properly defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.passed1=\
-Passed [AS-WEB cache-mapping] : url-pattern [ {0} ] properly defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.passed2=\
-Passed [AS-WEB cache-mapping] : cache-helper-ref element [ {0} ] properly defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.passed3=\
-Passed [AS-WEB cache-mapping] : timeout element [ {0} ] properly defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.passed3a=\
-Passed [AS-WEB cache-mapping] : For {0}, refresh-field name [{1}] has been furnished.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.passed4=\
-Passed [AS-WEB cache-mapping] : http-method [ {0} ] properly defined in the Web deployment descriptor.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.passed5=\
-Passed [AS-WEB cache-mapping] : For {0}, key-field #{1} name and value furnished.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed=\
-Failed [AS-WEB cache-mapping] : servlet-name [ {0} ] does not exist in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed1=\
-Failed [AS-WEB cache-mapping] : url-pattern [ {0} ] does not exist in the Web application.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed2=\
-Failed [AS-WEB cache-mapping] : cache-helper-ref [ {0} ] not valid. Either it is empty or a cache-helper was not defined for it.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed3=\
-Failed [AS-WEB cache-mapping] : timeout element [{0}] must be a Long value (not less than -1 and not more than MAX_LONG), and its name attribute [ {1} ] cannot be empty or null.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed3a=\
-Failed [AS-WEB cache-mapping] : For {0}, refresh-field name [{1}] cannot be empty or null string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed4=\
-Failed [AS-WEB cache-mapping] : List of http-methods is not valid. At least one of the method names in the list is empty or null.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed5=\
-Failed [AS-WEB cache-mapping] : http-method name [ {0} ] is invalid. It should be GET, POST, or HEAD.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed6=\
-Failed [AS-WEB cache-mapping] : For {0}, key-field #{1}, name cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.failed7=\
-Failed [AS-WEB cache-mapping] : Could not create the cache object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.warning=\
-Warning [AS-WEB cache-mapping] : http-method name [ {0} ] present, suggested to be GET, POST, or HEAD.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping.notApplicable=\
-Not applicable [AS-WEB cache-mapping] : Element not defined.
-
-#####################ASConstraintField ##################################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.assertion=\
-constraint-field specifies a field whose value is used as a cacheability constraint.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.passed=\
-Passed [AS-WEB constraint-field] : name attribute is {1}.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.passed1=\
-Passed [AS-WEB constraint-field] : scope attribute is {1}
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.passed2=\
-Passed [AS-WEB constraint-field] : cache-on-match attribute is {1}
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.passed3=\
-Passed [AS-WEB constraint-field] : cache-on-match-failure attribute is {1}
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.failed=\
-Failed [AS-WEB constraint-field] : name attribute is required
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.failed1=\
-Failed [AS-WEB constraint-field] : scope attribute must be one of context.attribute, request.header, request.parameter, request.cookie, request.attribute, session.attribute
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.failed2=\
-Failed [AS-WEB constraint-field] : cache-on-match attribute must be one of yes, no, on, off, 1, 0, true, false
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.failed3=\
-Failed [AS-WEB constraint-field] : cache-on-match-failure attribute must be one of yes, no, on, off, 1, 0, true, false
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.failed4=\
-Failed [AS-WEB sun-web-app] : Could not create the constraint-field object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.notApplicable=\
-Not applicable [AS-WEB constraint-field] : scope attribute not defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.notApplicable1=\
-Not applicable [AS-WEB constraint-field] : cache-on-match attribute not defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.notApplicable2=\
-Not applicable [AS-WEB constraint-field] : cache-on-match-failure attribute not defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField.notApplicable3=\
-Not applicable [AS-WEB sun-web-app] : constraint-field element not defined.
-
-######################################ASCookieProperty##########################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCookieProperty.assertion=\
-cookie-properties do not have duplicate entries.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCookieProperty.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCookieProperty.passed=\
-Passed [AS-WEB session-config] : cookie-properties are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCookieProperty.failed=\
-Failed [AS-WEB session-config] : At least one cookie-properties name/value pair is not valid in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCookieProperty.failed1=\
-Failed [AS-WEB session-config] : Could not create the session-config object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCookieProperty.notApplicable=\
-Not applicable [AS-WEB session-config] : cookie-properties element not defined for {0}.
-
-########################ASJSPConfig###########################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASJSPConfig.assertion=\
-jsp-config entries do not have duplicate entries.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASJSPConfig.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASJSPConfig.passed=\
-Passed [AS-WEB sun-web-app] : jsp-config elements are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASJSPConfig.failed=\
-Failed [AS-WEB sun-web-app] : At least one jsp-config name/value pair is not valid in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASJSPConfig.failed1=\
-Failed [AS-WEB csun-web-app] : Could not create the jsp-config object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASJSPConfig.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : jsp-config element not defined in the Web archive [{0} ].
-
-
-###################################ASLocaleCharsetInfo#############################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.assertion=\
-Locale and locale-charset-map contain valid entries.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.passed=\
-Passed [AS-WEB locale-charset-info] : [ {0} ] properly defined in the war file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.passed1=\
-Passed [AS-WEB locale-charset-map] : Attribute locale [ {0} ] properly defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.passed2=\
-Passed [AS-WEB locale-charset-map] : Attribute charset [ {0} ] properly defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.passed3=\
-Passed [AS-WEB sun-web-app] : locale-charset-info elements are valid within the Web archive [ {0} ] .
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.failed=\
-Failed [AS-WEB local-charset-info] : Empty default_locale attribute [ {0} ] is not valid.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.failed1=\
-Failed [AS-WEB local-charset-map] : Attribute locale [ {0} ] must be of finite length.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.failed2=\
-Failed [AS-WEB sun-web-app] : Could not create the locale-charset-info object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.failed3=\
-Failed [AS-WEB local-charset-map] : Attribute charset [ {0} ] must be of standard format.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.warning=\
-Warning [AS-WEB local-charset-info] : Attribute default_locale [ {0} ] is not valid.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.warning1=\
-Warning [AS-WEB local-charset-map] : Attribute locale [ {0} ] is not valid.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.warning2=\
-Warning [AS-WEB local-charset-map] : Attribute charset [ {0} ] is not valid.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : locale-charset-info element not defined in the Web archive [ {0} ].
-######################ASResourceEnvRef######################################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.assertion=\
-resource-env-ref contains valid resource reference.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.passed=\
-Passed [AS-WEB sun-web-app] : resource-env-ref [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.passed1=\
-Passed [AS-WEB resource-env-ref] : jndi-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.passed2=\
-Passed [AS-WEB sun-web-app] : resource-env-ref element(s) are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.failed=\
-Failed [AS-WEB sun-web-app] : resource-env-ref name [ {0} ] is not valid. It is either empty or not defined in web.xml.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.failed1=\
-Failed [AS-WEB resource-env-ref] jndi-name [ {0} ] is not valid, either empty or not starts with \"jms/\"
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.failed2=\
-Failed [AS-WEB resource-env-ref] : Could not create the resource-env-ref.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : resource-env-ref element not defined in the Web archive [ {0} ].
-
-############################ASResourceRefName#####################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.assertion=\
-name, jndi-name and default-resource-principal are correctly specified in resource-ref element.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.passed=\
-Passed [AS-WEB sun-web-app] : resource-ref name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.passed1=\
-Passed [AS-WEB resource-ref] : jndi-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.passed2=\
-Passed [AS-WEB sun-web-app] : resource-ref element(s) are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.passed3=\
-Passed [AS-WEB resource-ref] : default-resource-principal of resource-ref [ {0} ] properly defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.failed=\
-Failed [AS-WEB sun-web-app] : resource-ref name [ {0} ] is not valid. It is either empty or not defined in web.xml.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.failed1=\
-Failed [AS-WEB resource-ref] : jndi-name [ {0} ] is not valid, either empty or not starts according to its resource ref type entry defined in web.xml
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.failed2=\
-Failed [AS-WEB resource-ref] : name field in default-resource-principal of resource-ref [ {0} ] is not specified or is an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.failed3=\
-Failed [AS-WEB resource-ref] : password field in default-resource-principal of resource-ref [ {0} ] is not specified or is an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.failed4=\
-Failed [AS-WEB resource-env-ref] : Could not create the resource-ref.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : resource-ref element not defined in the Web archive [{0} ].
-#########################################ASSecurityRoleMapping########################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.assertion=\
-security-role-mapping entries are specified correctly.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.passed=\
-Passed [AS-WEB security-role-mapping] : role-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.passed1=\
-Passed [AS-WEB security-role-mapping] : principal-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.passed2=\
-Passed [AS-WEB security-role-mapping] : group-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.passed3=\
-Passed [AS-WEB sun-web-app] security-role-mapping element(s) are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.failed=\
-Failed [AS-WEB security-role-mapping] : role-name [ {0} ] is not valid. It is either empty or not defined in web.xml.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.failed1=\
-Failed [AS-WEB security-role-mapping] : principal-name [ {0} ] cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.failed2=\
-Failed [AS-WEB security-role-mapping] : group-name [ {0} ] cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.failed3=\
-Failed [AS-WEB security-role-mapping] : Could not create the security-role-mapping object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : security-role-mapping element not defined in the Web archive [ {0} ].
-
-###########################ASSessionManager##############################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager.assertion=\
-manager-properties and store-properties are specified correctly in session-manager element.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager.passed=\
-Passed [AS-WEB session-config] : session-manager element(s) and their manager-properties and/or store-properties are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager.failed=\
-Failed [AS-WEB session-manager] : At least one store-properties name/value pair is not valid in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager.failed1=\
-Failed [AS-WEB session-manager] : At least one manager-properties name/value pair is not valid in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager.failed2=\
-Failed [AS-WEB session-config] : Could not create the session-config object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager.notApplicable=\
-Not applicable [AS-WEB session-config] : session-manager element not defined in the Web archive [ {0} ].
-#########################ASSessionProperty################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionProperty.assertion=\
-session-property values are specified correctly
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionProperty.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionProperty.passed=\
-Passed [AS-WEB session-config] : session-properties element(s) are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionProperty.failed=\
-Failed [AS-WEB session-config] : At least one session-properties name/value pair is not valid in [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionProperty.failed1=\
-Failed [AS-WEB session-config] : Could not create the session-config object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionProperty.notApplicable=\
-Not applicable [AS-WEB session-config] : session-properties element(s) not defined in the Web archive [ {0} ].
-
-
-#########################ASWebProperty######################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty.assertion=\
-Syntax for supplying properties as name/value pairs.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty.passed=\
-Passed [AS-WEB property] : Web property defined correctly with name [ {0} ] and value [ {1}].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty.failed=\
-Failed [AS-WEB sun-web-app] : Could not create the property object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty.failed1=\
-Failed [AS-WEB property] : name [ {0} ] and value [ {1} ] attributes must be of finite length.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty.failed2=\
-Failed [AS-WEB property] : For the property with name [ {0} ] and value [ {1} ], the name must be unique in the list of Web properties.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : Web property element not defined within the Web archive [ {0} ].
-
-
-
-
-#####################ASServlet################################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.assertion=\
-servlet-name and principal-name are properly defined for each server element.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.passed=\
-Passed [AS-WEB servlet] : servlet-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.passed1=\
-Passed [AS-WEB servlet] : principal-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.passed2=\
-Passed [AS-WEB sun-web-app] : servlet element(s) are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.failed=\
-Failed [AS-WEB servlet] : servlet-name [ {0} ] is not valid. It is either empty or not defined in web.xml.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.failed1=\
-Failed [AS-WEB servlet] : principal-name [ {0} ] cannot be an empty string.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.notApplicable1=\
-Not applicable [AS-WEB servlet] : principal-name not defined.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : servlet element(s) not defined in the Web archive [ {0} ].
-
-####################################ASWebEjbRef###########################################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.assertion=\
-The ejb-ref element is used for the declaration of a reference to an enterprise bean's home interface.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.passed=\
-Passed [AS-WEB ejb-ref] : ejb-ref-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.passed1=\
-Passed [AS-WEB ejb-ref] : jndi-name [ {0} ] properly defined in the WAR file.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.passed2=\
-Passed [AS-WEB sun-web-app] : ejb-ref element(s) defined are valid within the Web archive [ {0} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.failed=\
-Failed [AS-WEB ejb-ref] : ejb-ref-name [ {0} ] is not valid. It is either empty or not defined in web.xml.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.failed1=\
-Failed [AS-WEB ejb-ref] : jndi-name [ {0} ] is not valid. It is either empty or null.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.failed2=\
-Failed [AS-WEB sun-web-app] : Could not create the ejb-ref object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef.notApplicable=\
-Not applicable [AS-WEB sun-web-app] : ejb-ref element(s) not defined in the Web archive [ {0}].
-
-##########################ASCacheMappingFieldConstraint######################
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.assertion=\
-Constraint-field-value element specifies the applicable value and a matching expression for a constraint-field. match-expr : Expression used to match the value. Default is 'equals'.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.specMappingInfo=
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.passed1=\
-Passed [AS-WEB cache-mapping] : Proper field-constraint/name [ {0} ] defined for [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.passed2=\
-Passed [AS-WEB cache-mapping] : Proper field-constraint/value [ {0} ] defined for [ {1} ] within the Web archive or sun-web.xml of [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.failed=\
-Failed [AS-WEB cache-mapping] : List of field-constraints in cache-mapping for [ {0} ] is invalid within the Web archive/sun-web.xml of [ {1} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.failed1=\
-Failed [AS-WEB cache-mapping] : Could not create the cache object.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.failed2=\
-Failed [AS-WEB cache-mapping] : field-constraint/name [ {0} ] defined for [ {1} ]. Attribute cannot be empty.
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.failed3=\
-Failed [AS-WEB cache-mapping] : field-constraint/value [ {0} ] defined for [ {1} ]. It cannot be empty within the Web archive/sun-web.xml of [ {2} ].
-com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint.notApplicable=\
-Not applicable [AS-WEB cache-mapping ] : constraint-field not defined in [ {0} ].
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/apiscan/LocalStrings.properties b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/apiscan/LocalStrings.properties
deleted file mode 100644
index 35fca9a..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/apiscan/LocalStrings.properties
+++ /dev/null
@@ -1,50 +0,0 @@
-#
-# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-
-
-com.sun.enterprise.tools.verifier.apiscan.classfile.BCELClassFileLoader.exception1=\
- Ignoring {0}
-
-com.sun.enterprise.tools.verifier.apiscan.classfile.ASMClassFileLoader.exception1=\
- Ignoring {0}
-
-com.sun.enterprise.tools.verifier.apiscan.classfile.ASMClosureCompilerImpl.exception1=\
- Method reference = {0}
-
-com.sun.enterprise.tools.verifier.apiscan.classfile.ClassFileLoaderFactory.exception1=\
- Unable to instantiate a loader.
-
-com.sun.enterprise.tools.verifier.apiscan.classfile.ASMethod.warning1=\
- Unknown opcode = {0}
-
-com.sun.enterprise.tools.verifier.apiscan.packaging.Archive.exception1=\
- Ignoring optional pkg {0}
-com.sun.enterprise.tools.verifier.apiscan.packaging.Archive.error1=\
- {0} contains {1} in Class-Path manifest attribute, but it is not found in ear file
-
-com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder.info1=\
- Found a match {0}
-com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder.exception1=\
- Ignoring {0}
-com.sun.enterprise.tools.verifier.apiscan.packaging.ClassPathBuilder.warning1=\
- Could not find an installed optional package for {0}
-
-com.sun.enterprise.tools.verifier.apiscan.packaging.ExtensionRef.exception1=\
- Got [ {0} ] while parsing the spec version attribute in the MANIFEST.MF. Rethrowing the exception.
-com.sun.enterprise.tools.verifier.apiscan.packaging.ExtensionRef.warning1=\
- Got [ {0} ] while parsing the spec version attribute in the MANIFEST.MF for [ {1} ]. So not considering this archive as an optional package.
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestExcludeList.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestExcludeList.xml
deleted file mode 100644
index c20133c..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestExcludeList.xml
+++ /dev/null
@@ -1,30 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Exclude List
- </description>
-<!--
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod
- </test-class>
- </test>
--->
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesApp.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesApp.xml
deleted file mode 100644
index 3df9f4f..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesApp.xml
+++ /dev/null
@@ -1,121 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Application bundle tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppName
- </test-class>
- <maximum-version>1.3</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.JarContainsXMLFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppPublicID
- </test-class>
- <maximum-version>1.3</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppWebContext
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppWebContextUnique
- </test-class>
- <maximum-version>1.3</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.EjbURI
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppClientURI
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.WebURI
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.ConnectorURI
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppSecurityRole
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppAltDDAppClient
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppAltDDEjb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.AppAltDDWeb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.ModulesExistWeb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.ModulesExistEjb
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.ModulesExistAppClient
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.EARFileUsesClassPath
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.IconImageTypeTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.app.PersistenceUnitCount
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesAppClient.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesAppClient.xml
deleted file mode 100644
index 0d659af..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesAppClient.xml
+++ /dev/null
@@ -1,125 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- App Client tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientPublicID
- </test-class>
- <maximum-version> 1.3 </maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientName
- </test-class>
- <maximum-version> 1.3 </maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientArchiveClassesLoadable
- </test-class>
- </test>
- <!-- IMP: ClassContainsNativeMethod must follow ArchiveClassesLoadable test -->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ClassContainsNativeMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.JarContainsXML
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbRefTypeElement
- </test-class>
- <maximum-version>1.3</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientResourceType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbLinkOnlyOne
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.elements.AppClientEjbReferencesElement
- </test-class>
- <maximum-version>1.4</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientEjbRefNamePrefixed
- </test-class>
- <maximum-version>1.4</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientEnvEntryValueType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientCallbackHandler
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.IconImageTypeTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.AppClientMainClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.PUMatchingEMandEMFRefTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.PUTransactionType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.appclient.PersistenceUnitCount
- </test-class>
- </test>
-
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesConnector.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesConnector.xml
deleted file mode 100644
index f252ee8..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesConnector.xml
+++ /dev/null
@@ -1,307 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Connector
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.ConnectorArchiveClassesLoadable
- </test-class>
- </test>
- <!-- IMP: ClassContainsNativeMethod must follow ArchiveClassesLoadable test -->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ClassContainsNativeMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.ConnectorPublicID
- </test-class>
- <maximum-version>1.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplementation
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactorySerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplHashcode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryImplEquals
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionFactoryProperties
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionMetaDataExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.TransactionSupport
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.DefaultConnectionManagerSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplEquals
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.ConnectionRequestInfoImplHashcode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.TransactionSupportExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckConfigPropertyType
- </test-class>
- <maximum-version>1.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.AuthMechType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CredentialInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryImplExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryInterfaceImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactorySerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryReferenceable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionInterfaceImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryGetConnection
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplClose
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.InteractionSpecJavaBeansCompliance
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionMetaDataExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ResourceAdapterMetaDataExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.RecordExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.RecordFactoryExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.ManagedConnectionGetMetaData
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionImplClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.managed.CheckConnectionFactoryImplReferenceable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionFactoryDefaultConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.cci.ConnectionImplExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectImpl
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectJavaBean
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.admin.CheckAdminObjectSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecJavaBean
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecOverridesEquals
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.messageinflow.CheckActivationSpecSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterClassSerializable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.connector.CheckResourceAdapterJavaBean
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.IconImageTypeTest
- </test-class>
- </test>
-
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesEjb.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesEjb.xml
deleted file mode 100644
index cbc8fee..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesEjb.xml
+++ /dev/null
@@ -1,1422 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
- <tests>
- <description>
- EJB tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.MethodPermissionComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbPublicID
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbArchiveClassesLoadable
- </test-class>
- </test>
- <!-- IMP: ClassContainsNativeMethod must follow ArchiveClassesLoadable test -->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ClassContainsNativeMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbLogicalName
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbHasLocalorRemoteorBothInterfaces
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.LocalInterfaceExposed
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassExposed
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodMatchesWithDD
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodRmiIIOPReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.businessmethod.BusinessMethodExceptionCheck
- </test-class>
- <minimum-version>2.1</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.HomeMethodRmiIIOPReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfaceExtendsEJBLocalHome
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodNameMatch
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeMethodModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.localhomeintf.LocalHomeInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodModifiers
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeMethodNameMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOP
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceSuperInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceRmiIIOPException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfaceExtendsEJBHome
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.homeintf.remotehomeintf.RemoteHomeInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfaceExtendsEJBLocalObject
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodArgs
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodException
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceMatchMethodReturn
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.LocalInterfaceRemoteException
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.localintf.EjbLocalInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceClassExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfaceExtendsEJBObject
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.EjbRemoteInterfacePublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceRmiIIOPException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceSuperInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.intf.remoteintf.RemoteInterfaceMatchMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassStaticFieldsFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbBeanType
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationBeanManaged
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.timer.HasValidEjbTimeoutDescriptor
- </test-class>
- <minimum-version>2.1</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.timer.ImplementsTimedObjectTest
- </test-class>
- <minimum-version>2.1</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationSessionSynchronizationInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.SessionType
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationComponentInterface
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionDemarcationHomeInterface
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
-<!-- This test is not required. See bug 5018592.
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeBeanManaged
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionType
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsJavaTypesAssigned
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbNoInvalidCreateMethod
-
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.UniqueAbstractSchemaName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.TransactionDemarcationHomeInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.CMPFieldExistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.PersistenceFieldsElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbReferencesElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesRefs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.SecurityRolesBind
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.TransactionDemarcationType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbLinkElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbNameNMTOKEN
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbNameUnique
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbResAuthElement
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbEnvEntryValueType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.EjbRefNamePrefixed
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbRefTypeElement
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbMethodIntfElement
- </test-class>
- <maximum-version>2.0</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.FieldNameElementPublic
- </test-class>
- </test>
- <!-- bug 6312099
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.EjbNameMethodElement
- </test-class>
- </test> -->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionSecurityRoleExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.MethodPermissionMethodExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.ExcludeListMethodsExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.UncheckedMethodsExist
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.elements.ContainerTransactionMethodExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPersistentFields
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pksinglefield.PrimekeyFieldPrimaryKeyType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ReEntrantElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.RoleNameNMTOKEN
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.JarContainsXMLFile
- </test-class>
- </test>
-<!-- Test is not required. See bugid 6338127
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.JarFileContainsProperEJBClasses
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassModifiersAbstract
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.beanclass.EjbClassFinalizeMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionHomeInterfaceMethods
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ApplicationExceptionComponentInterfaceMethods
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle1
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle2
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ContainerTransactionStyle3
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransientFieldsSerialization
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.TransactionTypeNullForContainerTX
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.SessionBeanInterface
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.SessionSynchronizationInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodName
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMatchesCreate
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodPublic
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodStatic
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodFinal
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodReturn
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodArgs
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.ejbcreatemethod.EjbCreateMethodException
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateNoArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateOnlyOne
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessCreateReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.stateless.StatelessEjbCreateHome
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.EjbClassImplementsComponentInterface
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.HomeInterfaceNoFinderMethodNames
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodMatchArgs
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionCreate
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionRemote
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.createmethod.HomeInterfaceCreateMethodExceptionMatch
- </test-class>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.session.BeanFieldsTransient
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.EntityBeanExtendsSerializableClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodNameCmp
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindermethod.EjbFinderMethodObjectNotFoundException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbfindbyprimarykey.EjbFindByPrimaryKeyException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbClassImplementsComponentInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMatchesCreate
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbcreatemethod.EjbCreateMethodExceptions
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodStatic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodFinal
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbpostcreatemethod.EjbPostCreateMethodException
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodMatchArgs
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionCreate
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionRemote
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.createmethod.HomeInterfaceCreateMethodExceptionMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodHasQuery
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.HomeInterfacePostCreateMethodExceptionMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionFinder
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionRemote
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findermethod.HomeInterfaceFindMethodExceptionMatch
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.findbyprimarykey.HomeInterfaceFindByPrimaryKeyArg
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.EjbPrimaryKeyClassRmiIIOP
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodEqual
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassMethodHashCode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsDefinedForContainerPersistence
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFields
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpEjbCreateMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassModifier
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsMatchBeanFields
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsPublic
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.pkmultiplefield.PrimaryKeyClassFieldsCmp
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp.CmpFieldsTransient
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOpt
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptReturn
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.primarykeyclass.PrimaryKeyClassOptType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAbstract
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldNameStartLowercase
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldAccessorModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFields
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFields
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CascadeDeleteNotSupportedForManyMany
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAbstract
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldNameStartLowercase
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldAccessorModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrUseCorrectCollectionInterface
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmpFieldsAccessorExposition
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.CmrFieldsAccessorExposition
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.DependentValueClassModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodsAbstract
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodHasDescriptors
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.FindMethodException
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodExposition
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodException
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodQL
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.cmp2.SelectMethodReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
-
-<!-- exclude this test due to bug #4942609 - a bug in the compiler causes this tests to fail, see #4952429
-THIS TEST SHOULD NOT BE EXCLUDED UNLESS CMP IS COMPLETELY BROKEN
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.ejbql.EjbQLFromCmpEntityDescriptor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
-
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageDrivenBean
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.ImplementsMessageListener
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateExists
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.RemoteExceptionNotThrown
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbCreateModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveExists
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveReturnType
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.EjbRemoveModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- <maximum-version>2.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMessageSelector
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.HasValidMethodDescriptor
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.messagebean.MessageListenerMethodModifiers
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.SecurityIdentityRefs
- </test-class>
- <minimum-version>2.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.EjbNameIsValidJavaIdentifier
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.entity.AbstractSchemaNameIsValidJavaIdentifier
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfInheritance
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessInterfaceException
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodException
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
-<!-- Issue 6363586
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodException
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.AroundInvokeNotBusinessMethod
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorNoArgConstructor
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBCreatePostConstruct
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbacksOnBeanClass
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBInheritsMDB
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.MDBImplementsListenerMethods
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InterceptorMethodNotStaticOrFinal
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.CallbackMethodArgument
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.InitMethodReturnType
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.EJBInjectionAnnotationModifiers
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.BusinessIntfAnnotationValue
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.ValidBusinessInterface
- </test-class>
- <minimum-version>3.0</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.IconImageTypeTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PUMatchingEMandEMFRefTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PersistenceContextType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.ejb30.PersistenceUnitCount
- </test-class>
- </test>
-
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesPersistence.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesPersistence.xml
deleted file mode 100644
index c584723..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesPersistence.xml
+++ /dev/null
@@ -1,48 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
- <tests>
- <description>
- EJB 3.0 Persistence tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.persistence.DefaultProviderVerification
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.persistence.DuplicatePUNameTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.persistence.ClassNotFound
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.persistence.JarNotFound
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.persistence.MappingFileNotFound
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWeb.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWeb.xml
deleted file mode 100644
index dc2f7d4..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWeb.xml
+++ /dev/null
@@ -1,402 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Web App tests
- </description>
-<!-- See bugid 4865238
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.WebReferencesInWEBINF
- </test-class>
- </test>
--->
-<!-- AllJSPsMustBeCompilable must be run before WebArchiveClassesLoadable -->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.AllJSPsMustBeCompilable
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TagLibPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebPublicID
- </test-class>
- <maximum-version>2.3</maximum-version>
- </test>
-<!-- Test is not required. BugID 5019273. This came to notice during Assertion List review process
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebName
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.JspFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.JspLoadOnStartup
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WelcomeFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ErrorCode
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ExceptionType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.RoleLink
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryValueType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebResourceType
- </test-class>
- <maximum-version>2.2</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebResourceName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebResourceHTTPMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TransportGuarantee
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebSecurityRoleName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.AuthMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FormLoginPage
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FormErrorPage
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.RealmName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.SessionTimeout
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.SessionConfigTest
- </test-class>
- <minimum-version>2.4</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.EjbLinkElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.JarContainsXMLFile
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.URLPatternErrorCheck
- </test-class>
- <minimum-version>2.3</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.URLPatternWarningCheck
- </test-class>
- <minimum-version>2.3</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.URLPatternContainsCRLF
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInServletMappings
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.URLPatternUniqueInSecurityConstraints
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.LibDirExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ParamName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ParamValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletParamValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletParamName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ResourceRefName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ResourceAuth
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TaglibUri
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TaglibLocation
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebEnvEntryName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbRefTypeElement
- </test-class>
- <maximum-version>2.3</maximum-version>
- </test>
-<!-- See bugid 4865238
- bug 4865238 is against a DOL bug ( bug # 4856313) that is closed
- I am adding this test back in. bug #4525135
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.WebEjbReferencesElement
- </test-class>
- <maximum-version>2.4</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.WebArchiveClassesLoadable
- </test-class>
- </test>
- <!-- IMP: ClassContainsNativeMethod must follow ArchiveClassesLoadable test -->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ClassContainsNativeMethod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.elements.MimeTypeElement
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ListenerClassHasValidConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ListenerClassImplementsValidInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterClassExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterMapping
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterClassImplementsValidInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterClassHasValidConstructor
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterInitParamName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.spec22.JspFileName
- </test-class>
- <maximum-version>2.3</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ListenerClassExists
- </test-class>
- <minimum-version>2.3</minimum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.FilterInitParamValue
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.ServletClassDeclared
- </test-class>
- </test>
-<!-- See bug#4488502
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.Location
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TagClassExtendsValidInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TagNameIsUnique
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TagClassImplementsValidInterface
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TaglibListenerClassExists
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionMethodTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.TaglibFunctionSignatureIsValid
- </test-class>
- </test>
-
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.IconImageTypeTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.PUMatchingEMandEMFRefTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.PersistenceContextType
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.PersistenceUnitCount
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.EntityManagerInjection
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.StatefulSessionBeanInjection
- </test-class>
- </test>
-
-
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWebServices.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWebServices.xml
deleted file mode 100755
index 4b645fa..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWebServices.xml
+++ /dev/null
@@ -1,152 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Web Services tests
- </description>
-<!-- This test is not required. see bugid 6332142
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.WSXMLLocCheck
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.WSSchemaLocation
- </test-class>
- </test>
-
-<!-- This test is not required. See bugid: 6336047
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPort
- </test-class>
- </test>
--->
-<!-- This test is not required. See bugid: 6336203
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.WSWsdlPortComponentName
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.SEIClassNameCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.SEIExtendsRemoteCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.MappingFileCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.WSDLFileCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.ServiceImplBeanLinkCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.ServletImplClassCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCEndpointIsServletClassCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.EJBEndpointIsSLSBCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.EJBServiceImplBeanChk
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.JAXRPCServiceImplBeanChk
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.SEIEJBTxAttrChk
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.EJBLinkedToOnePortCompCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.ServletLinkedToOnePortCompCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.ServletUrlPatternExactCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.OnlyOneServletMappingCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.HandlerClassCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.HandlerPortNameCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.EjbRemoveMethodNameExistInSLSB
- </test-class>
- <maximum-version>1.1</maximum-version>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.IconImageTypeTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.webservices.HandlerChainClassCheck
- </test-class>
- <minimum-version>1.2</minimum-version>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWebServicesClient.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWebServicesClient.xml
deleted file mode 100755
index 515eb02..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/TestNamesWebServicesClient.xml
+++ /dev/null
@@ -1,70 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- Web Services Client tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.MappingFileOnlyIfWSDLFileCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.WSDLFileCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.PortComponentLinkValidCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.PortCompRefSEIClassCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.ServiceRefCheck
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.HandlerClassCheck
- </test-class>
- </test>
-<!-- This test needs to be fixed in next release (after 1.4 fcs). Bugid 5025136
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.wsclients.HandlerPortNameCheck
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.IconImageTypeTest
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/apis_1_0.xsd b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/apis_1_0.xsd
deleted file mode 100644
index ca50fba..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/apis_1_0.xsd
+++ /dev/null
@@ -1,67 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
- targetNamespace="http://java.sun.com/avk/apiscanning"
- xmlns:apiscanning="http://java.sun.com/avk/apiscanning"
- elementFormDefault="qualified">
-
- <xsd:element name='classes'>
- <xsd:complexType mixed='true'>
- <xsd:attribute name='package' type='xsd:string'/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name='packages'>
- <xsd:complexType mixed='true'>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name='patterns'>
- <xsd:complexType mixed='true'>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name='api_ref'>
- <xsd:complexType>
- <xsd:attribute name='api_name_version' type='xsd:string' use='required'/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name='api'>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref='apiscanning:api_ref' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='apiscanning:classes' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='apiscanning:packages' minOccurs='0' maxOccurs='unbounded'/>
- <xsd:element ref='apiscanning:patterns' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- <xsd:attribute name='name_version' type='xsd:ID' use='required'/>
- </xsd:complexType>
- </xsd:element>
-
- <xsd:element name='root'>
- <xsd:complexType>
- <xsd:sequence>
- <xsd:element ref='apiscanning:api' minOccurs='0' maxOccurs='unbounded'/>
- </xsd:sequence>
- </xsd:complexType>
- </xsd:element>
-
-</xsd:schema>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/standard-apis.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/standard-apis.xml
deleted file mode 100644
index af6170c..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/standard-apis.xml
+++ /dev/null
@@ -1,2128 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<!--
-Important note to whoever is updating this file:
-After updating this file, please run the following command you ensure that
-the state of this file is consistent:
-'java -classpath $S1AS_HOME/lib/appserv-rt.jar
- com.sun.enterprise.tools.verifier.apiscan.stdapis.APIRepository standard-apis.xml'
-The above command must not print any exceptions.
- -->
-
-<root xmlns='http://java.sun.com/avk/apiscanning'
- xmlns:xi='http://www.w3.org/2001/XInclude'
- xmlns:xsi='http://www.w3.org/2001/XMLSchema-instance'
- xsi:schemaLocation='http://java.sun.com/avk/apiscanning apis_1_0.xsd'>
-
- <!-- start of container related API definitions -->
-
- <!-- Now J2EE 1.2 related stuff -->
-
- <!-- This is what an 1.1 EJB app is allowed to use -->
- <api name_version="ejb_jar_1.1">
- <api_ref api_name_version="J2SE_1.3"/>
- <api_ref api_name_version="JDBCSE_2.0"/>
- <api_ref api_name_version="RMI-IIOP_1.0"/>
- <api_ref api_name_version="EJB_1.1"/>
- <api_ref api_name_version="JMS_1.0"/>
- <api_ref api_name_version="JNDI_1.2"/>
- <api_ref api_name_version="JTA_1.0"/>
- <api_ref api_name_version="JavaMail_1.1"/>
- <api_ref api_name_version="JAF_1.0"/>
- </api>
-
- <!-- This is what a 2.2 Web app is allowed to use -->
- <api name_version="web_app_2.2">
- <api_ref api_name_version="J2EE_1.2"/>
- </api>
-
- <!-- This is what a 1.1 app client is allowed to use -->
- <api name_version="appclient_1.2">
- <api_ref api_name_version="J2SE_1.3"/>
- <api_ref api_name_version="JDBCSE_2.0"/>
- <api_ref api_name_version="RMI-IIOP_1.0"/>
- <api_ref api_name_version="EJB_1.1"/>
- <api_ref api_name_version="JMS_1.0"/>
- <api_ref api_name_version="JNDI_1.2"/>
- </api>
-
-
- <!-- Now J2EE 1.3 related stuff -->
-
- <!-- This is what a 2.0 EJB app is allowed to use -->
- <api name_version="ejb_jar_2.0">
- <api_ref api_name_version="J2SE_1.3"/>
- <api_ref api_name_version="JDBCSE_2.0"/>
- <api_ref api_name_version="EJB_2.0"/>
- <api_ref api_name_version="JMS_1.0"/>
- <api_ref api_name_version="JTA_1.0"/>
- <api_ref api_name_version="JavaMail_1.2"/>
- <api_ref api_name_version="JAF_1.0"/>
- <!-- As per J2EE 1.3 spec says JAXP1.1 is what is available in J2EE 1.3, but
- when I see the J2EE 1.3 API javadocs
- at http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html
- I see the actual JAXP apis correspond to JAXP 1.2. So I am including JAXP 1.2 here -->
- <api_ref api_name_version="JAXP_1.2"/>
- <api_ref api_name_version="JCA_1.0"/>
- <api_ref api_name_version="JAAS_1.0"/>
- </api>
-
- <!-- This is what a 2.3 Web app is allowed to use -->
- <api name_version="web_app_2.3">
- <api_ref api_name_version="J2EE_1.3"/>
- </api>
-
- <!-- This is what a 1.3 app client is allowed to use -->
- <api name_version="appclient_1.3">
- <api_ref api_name_version="J2SE_1.3"/>
- <api_ref api_name_version="JDBCSE_2.0"/>
- <api_ref api_name_version="EJB_2.0"/>
- <api_ref api_name_version="JMS_1.0"/>
- <!-- As per J2EE 1.3 spec says JAXP1.1 is what is available in J2EE 1.3, but
- when I see the J2EE 1.3 API javadocs
- at http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html
- I see the actual JAXP apis correspond to JAXP 1.2. So I am including JAXP 1.2 here -->
- <api_ref api_name_version="JAXP_1.2"/>
- <api_ref api_name_version="JAAS_1.0"/>
- </api>
-
- <!-- This is what a 1.0 connector is allowed to use -->
- <api name_version="connector_1.0">
- <api_ref api_name_version="J2EE_1.3"/>
- </api>
-
-
- <!-- Now J2EE 1.4 related stuff -->
-
- <!-- This is what a 2.1 EJB app is allowed to use -->
- <api name_version="ejb_jar_2.1">
- <api_ref api_name_version="J2SE_1.4"/>
- <api_ref api_name_version="EJB_2.1"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="JTA_1.0"/>
- <api_ref api_name_version="JavaMail_1.3"/>
- <api_ref api_name_version="JAF_1.0"/>
- <api_ref api_name_version="JAXP_1.2"/>
- <api_ref api_name_version="JCA_1.5"/>
- <api_ref api_name_version="WebServices_1.1"/>
- <api_ref api_name_version="JAX-RPC_1.1"/>
- <api_ref api_name_version="SAAJ_1.2"/>
- <api_ref api_name_version="JAXR_1.0"/>
- <api_ref api_name_version="J2EE-Management_1.0"/>
- <api_ref api_name_version="JMX_1.2"/>
- <api_ref api_name_version="JACC_1.0"/>
- <!--See section #6.2.4.10 of J2EE 1.4 spec and section #18.1 of JCA 1.5 spec
- which requires JAAS to be apart of J2EE 1.4.
- But given that J2SE 1.4 which is a required a platform for J2EE 1.4
- already includes JAAS 1.0, there is no need to add it here again.
- <api_ref api_name_version="JAAS_1.0"/>
- -->
- <!-- I do not understand what is the original standard that defines the classes from the
- following package, but it is a required API in J2EE 1.4. It looks to me that
- JAXP is the standard that defines this API, but I don't see any mention of this package in JAXP 1.2 standard
- which is required by J2EE 1.4. So I am including it here directly.-->
- <packages>
- javax.xml.namespace
- </packages>
- </api>
-
- <!-- This is what a 2.4 web app is allowed to use -->
- <api name_version="web_app_2.4">
- <!-- See section#6.1.2 of J2EE 1.3 spec-->
- <api_ref api_name_version="J2SE_1.4"/>
- <api_ref api_name_version="EJB_2.1"/>
- <api_ref api_name_version="Servlet_2.4"/>
- <api_ref api_name_version="JSP_2.0"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="JTA_1.0"/>
- <api_ref api_name_version="JavaMail_1.3"/>
- <api_ref api_name_version="JAF_1.0"/>
- <api_ref api_name_version="JAXP_1.2"/>
- <api_ref api_name_version="JCA_1.5"/>
- <api_ref api_name_version="WebServices_1.1"/>
- <api_ref api_name_version="JAX-RPC_1.1"/>
- <api_ref api_name_version="SAAJ_1.2"/>
- <api_ref api_name_version="JAXR_1.0"/>
- <api_ref api_name_version="J2EE-Management_1.0"/>
- <api_ref api_name_version="JMX_1.2"/>
- <api_ref api_name_version="JACC_1.0"/>
- <!--See section #6.2.4.10 of J2EE 1.4 spec and section #18.1 of JCA 1.5 spec
- which requires JAAS to be apart of J2EE 1.4.
- But given that J2SE 1.4 which is a required a platform for J2EE 1.4
- already includes JAAS 1.0, there is no need to add it here again.
- <api_ref api_name_version="JAAS_1.0"/>
- -->
- <!-- I do not understand what is the original standard that defines the classes from the
- following package, but it is a required API in J2EE 1.4. It looks to me that
- JAXP is the standard that defines this API, but I don't see any mention of this package in JAXP 1.2 standard
- which is required by J2EE 1.4. So I am including it here directly.-->
- <packages>
- javax.xml.namespace
- </packages>
- </api>
-
- <!-- This is what a 1.4 app client is allowed to use -->
- <api name_version="appclient_1.4">
- <api_ref api_name_version="J2SE_1.4"/>
- <api_ref api_name_version="JavaMail_1.3"/>
- <api_ref api_name_version="JAF_1.0"/>
- <api_ref api_name_version="EJB_2.1"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="JAXP_1.2"/>
- <api_ref api_name_version="WebServices_1.1"/>
- <api_ref api_name_version="JAX-RPC_1.1"/>
- <api_ref api_name_version="SAAJ_1.2"/>
- <api_ref api_name_version="JAXR_1.0"/>
- <api_ref api_name_version="J2EE-Management_1.0"/>
- <api_ref api_name_version="JMX_1.2"/>
- <!--See section #6.2.4.10 of J2EE 1.4 spec and section #18.1 of JCA 1.5 spec
- which requires JAAS to be apart of J2EE 1.4.
- But given that J2SE 1.4 which is a required a platform for J2EE 1.4
- already includes JAAS 1.0, there is no need to add it here again.
- <api_ref api_name_version="JAAS_1.0"/>
- -->
- <!-- I do not understand what is the original standard that defines the classes from the
- following package, but it is a required API in J2EE 1.4. It looks to me that
- JAXP is the standard that defines this API, but I don't see any mention of this package in JAXP 1.2 standard
- which is required by J2EE 1.4. So I am including it here directly.-->
- <packages>
- javax.xml.namespace
- </packages>
- </api>
-
- <!-- This is what a 1.5 connector is allowed to use -->
- <api name_version="connector_1.5">
- <api_ref api_name_version="J2EE_1.4"/>
- </api>
-
-
- <!-- Now Java EE 5 related stuff -->
-
- <!-- This is what a 3.0 EJB app is allowed to use -->
- <api name_version="ejb_jar_3.0">
- <api_ref api_name_version="J2SE_5.0"/>
- <api_ref api_name_version="JavaMail_1.4"/>
- <api_ref api_name_version="JAF_1.1"/>
- <api_ref api_name_version="EJB_3.0"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="JTA_1.1"/>
- <api_ref api_name_version="JCA_1.5"/>
- <api_ref api_name_version="WebServices_1.2"/>
- <api_ref api_name_version="JAX-RPC_1.1"/>
- <api_ref api_name_version="JAX-WS_2.0"/>
- <api_ref api_name_version="JAXB_2.0"/>
- <api_ref api_name_version="SAAJ_1.3"/>
- <api_ref api_name_version="JAXR_1.0"/>
- <api_ref api_name_version="JavaEE-Management_1.1"/>
- <api_ref api_name_version="JACC_1.1"/>
- <api_ref api_name_version="WSMetadata_1.1"/>
- <!--JMX is not specified for 5.0
- <api_ref api_name_version="JMX_1.2"/> -->
- <api_ref api_name_version="CommonAnnotations_1.0"/>
- <api_ref api_name_version="StAX_1.0"/>
- <api_ref api_name_version="JavaPersistence_1.0"/>
-
- <packages>
- javax.xml.namespace
- </packages>
- </api>
-
- <!-- This is what a 2.5 web app is allowed to use -->
- <api name_version="web_app_2.5">
- <api_ref api_name_version="J2SE_5.0"/>
- <api_ref api_name_version="JavaMail_1.4"/>
- <api_ref api_name_version="JAF_1.1"/>
- <api_ref api_name_version="EJB_3.0"/>
- <api_ref api_name_version="Servlet_2.5"/>
- <api_ref api_name_version="JSP_2.1"/>
- <api_ref api_name_version="JSTL_1.2"/>
- <api_ref api_name_version="JSF_1.2"/>
- <api_ref api_name_version="JSPDebug_1.0"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="JTA_1.1"/>
- <api_ref api_name_version="JCA_1.5"/>
- <api_ref api_name_version="WebServices_1.2"/>
- <api_ref api_name_version="JAX-RPC_1.1"/>
- <api_ref api_name_version="JAX-WS_2.0"/>
- <api_ref api_name_version="JAXB_2.0"/>
- <api_ref api_name_version="SAAJ_1.3"/>
- <api_ref api_name_version="JAXR_1.0"/>
- <api_ref api_name_version="JavaEE-Management_1.1"/>
- <api_ref api_name_version="JACC_1.1"/>
- <api_ref api_name_version="WSMetadata_1.1"/>
- <!--JMX is not specified for 5.0
- <api_ref api_name_version="JMX_1.2"/> -->
- <api_ref api_name_version="CommonAnnotations_1.0"/>
- <api_ref api_name_version="StAX_1.0"/>
- <api_ref api_name_version="JavaPersistence_1.0"/>
-
- <packages>
- javax.xml.namespace
- </packages>
-
- </api>
-
- <!-- what version of connector should we provide -->
- <!-- commenting this as connector_1.5 already refers to j2ee1.4 -->
- <!--<api name_version="connector_1.5">
- <api_ref api_name_version="JEE_1.5"/>
- </api> -->
-
- <!-- This is what a 5 app client is allowed to use -->
- <api name_version="appclient_5">
- <api_ref api_name_version="J2SE_5.0"/>
- <api_ref api_name_version="JavaMail_1.4"/>
- <api_ref api_name_version="JAF_1.1"/>
- <api_ref api_name_version="EJB_3.0"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="WebServices_1.2"/>
- <api_ref api_name_version="JAX-RPC_1.1"/>
- <api_ref api_name_version="JAX-WS_2.0"/>
- <api_ref api_name_version="JAXB_2.0"/>
- <api_ref api_name_version="SAAJ_1.3"/>
- <api_ref api_name_version="JAXR_1.0"/>
- <api_ref api_name_version="JavaEE-Management_1.1"/>
- <api_ref api_name_version="WSMetadata_1.1"/>
- <!--JMX is not specified for 5
- <api_ref api_name_version="JMX_1.2"/> -->
-
- <!--NOT all annotations are required to be supprted, see Java EE 5 spec Table 6-6-->
- <api_ref api_name_version="CommonAnnotations_1.0"/>
- <api_ref api_name_version="StAX_1.0"/>
- <api_ref api_name_version="JavaPersistence_1.0"/>
-
- <packages>
- javax.xml.namespace
- </packages>
- </api>
-
- <!-- end of container related API definitions -->
-
- <!-- Start of Java EE API sets. These are not used by any one.
- Instead the container specific API sets are used. -->
-
- <api name_version="J2EE_1.2">
- <!-- See chapter #6 of J2EE 1.2 spec-->
- <!-- Ideally, a J2EE1.2.1 component should use J2SE 1.2 only, but
- we have not yet populated the J2SE 1.2 api list, so in the mean while we use J2SE 1.3-->
- <api_ref api_name_version="J2SE_1.3"/>
- <api_ref api_name_version="JDBCSE_2.0"/>
- <api_ref api_name_version="RMI-IIOP_1.0"/>
- <api_ref api_name_version="EJB_1.1"/>
- <api_ref api_name_version="Servlet_2.2"/>
- <api_ref api_name_version="JSP_1.1"/>
- <api_ref api_name_version="JMS_1.0"/>
- <api_ref api_name_version="JNDI_1.2"/>
- <api_ref api_name_version="JTA_1.0"/>
- <api_ref api_name_version="JavaMail_1.1"/>
- <api_ref api_name_version="JAF_1.0"/>
- </api>
-
- <api name_version="J2EE_1.3">
- <!-- See section#6.1.2 of J2EE 1.3 spec-->
- <api_ref api_name_version="J2SE_1.3"/>
- <api_ref api_name_version="JDBCSE_2.0"/>
- <api_ref api_name_version="EJB_2.0"/>
- <api_ref api_name_version="Servlet_2.3"/>
- <api_ref api_name_version="JSP_1.2"/>
- <api_ref api_name_version="JMS_1.0"/>
- <api_ref api_name_version="JTA_1.0"/>
- <api_ref api_name_version="JavaMail_1.2"/>
- <api_ref api_name_version="JAF_1.0"/>
- <!-- As per J2EE 1.3 spec says JAXP1.1 is what is available in J2EE 1.3, but
- when I see the J2EE 1.3 API javadocs
- at http://java.sun.com/j2ee/sdk_1.3/techdocs/api/index.html
- I see the actual JAXP apis correspond to JAXP 1.2. So I am including JAXP 1.2 here -->
- <api_ref api_name_version="JAXP_1.2"/>
- <api_ref api_name_version="JCA_1.0"/>
- <api_ref api_name_version="JAAS_1.0"/>
- </api>
-
- <api name_version="J2EE_1.4">
- <!-- See section#6.1.2 of J2EE 1.4 spec-->
- <api_ref api_name_version="J2SE_1.4"/>
- <api_ref api_name_version="EJB_2.1"/>
- <api_ref api_name_version="Servlet_2.4"/>
- <api_ref api_name_version="JSP_2.0"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="JTA_1.0"/>
- <api_ref api_name_version="JavaMail_1.3"/>
- <api_ref api_name_version="JAF_1.0"/>
- <api_ref api_name_version="JAXP_1.2"/>
- <api_ref api_name_version="JCA_1.5"/>
- <api_ref api_name_version="WebServices_1.1"/>
- <api_ref api_name_version="JAX-RPC_1.1"/>
- <api_ref api_name_version="SAAJ_1.2"/>
- <api_ref api_name_version="JAXR_1.0"/>
- <api_ref api_name_version="J2EE-Management_1.0"/>
- <api_ref api_name_version="JMX_1.2"/>
- <api_ref api_name_version="J2EE-Deployment_1.1"/>
- <api_ref api_name_version="JACC_1.0"/>
- <!--See section #6.2.4.10 of J2EE 1.4 spec and section #18.1 of JCA 1.5 spec
- which requires JAAS to be apart of J2EE 1.4.
- But given that J2SE 1.4 which is a required a platform for J2EE 1.4
- already includes JAAS 1.0, there is no need to add it here again.
- <api_ref api_name_version="JAAS_1.0"/>
- -->
- <!-- I do not understand what is the original standard that defines the classes from the
- following package, but it is a required API in J2EE 1.4. It looks to me that
- JAXP is the standard that defines this API, but I don't see any mention of this package in JAXP 1.2 standard
- which is required by J2EE 1.4. So I am including it here directly.-->
- <packages>
- javax.xml.namespace
- </packages>
- </api>
-
- <api name_version="JavaEE_5">
- <api_ref api_name_version="J2EE_1.4"/>
- <api_ref api_name_version="J2SE_5.0"/>
- <api_ref api_name_version="EJB_3.0"/>
- <api_ref api_name_version="JSP_2.1"/>
- <api_ref api_name_version="JMS_1.1"/>
- <api_ref api_name_version="JAF_1.1"/>
- <api_ref api_name_version="JAX-WS_2.0"/>
- <api_ref api_name_version="JAXB_2.0"/>
- <api_ref api_name_version="SAAJ_1.3"/>
- <api_ref api_name_version="JSPDebug_1.0"/>
- <api_ref api_name_version="JSTL_1.2"/>
- <api_ref api_name_version="WSMetadata_1.1"/> <!--jsr181-->
- <api_ref api_name_version="JSF_1.2"/>
- <api_ref api_name_version="CommonAnnotations_1.0"/> <!--jsr 250 -->
- <api_ref api_name_version="StAX_1.0"/>
- </api>
-
- <!-- End of Java EE API sets -->
-
- <!-- Now the API refs-->
-
- <api name_version="JSTL_1.2">
- <classes package="javax.servlet.jsp.jstl.core">
- <!--interface list-->
- LoopTag
- LoopTagStatus
- <!--class list-->
- ConditionalTagSupport
- Config
- IndexedValueExpression
- IteratedExpression
- IteratedValueExpression
- LoopTagSupport
- StringTokenValueExpression
- </classes>
- <classes package="javax.servlet.jsp.jstl.fmt">
- LocaleSupport
- LocalizationContext
- </classes>
- <classes package="javax.servlet.jsp.jstl.sql">
- <!--interface list-->
- Result
- SQLExecutionTag
- <!--class list-->
- ResultSupport
- </classes>
- <classes package="javax.servlet.jsp.jstl.tlv">
- PermittedTaglibsTLV
- ScriptFreeTLV
- </classes>
- </api>
-
- <api name_version="JSF_1.2">
- <classes package="javax.faces">
- <!--class list-->
- FactoryFinder
- <!--exception-->
- FacesException
- </classes>
- <classes package="javax.faces.application">
- <!--class list-->
- Application
- ApplicationFactory
- FacesMessage
- FacesMessage$Severity
- NavigationHandler
- StateManager
- StateManager$SerializedView
- StateManagerWrapper
- ViewHandler
- ViewHandlerWrapper
- <!--exception-->
- ViewExpiredException
- </classes>
- <classes package="javax.faces.component">
- <!--interface list-->
- ActionSource
- ActionSource2
- EditableValueHolder
- NamingContainer
- StateHolder
- ValueHolder
- <!--class list-->
- UIColumn
- UICommand
- UIComponent
- UIComponentBase
- UIData
- UIForm
- UIGraphic
- UIInput
- UIMessage
- UIMessages
- UINamingContainer
- UIOutput
- UIPanel
- UIParameter
- UISelectBoolean
- UISelectItem
- UISelectItems
- UISelectMany
- UISelectOne
- UIViewRoot
- </classes>
- <classes package="javax.faces.component.html">
- <!--class list-->
- HtmlColumn
- HtmlCommandButton
- HtmlCommandLink
- HtmlDataTable
- HtmlForm
- HtmlGraphicImage
- HtmlInputHidden
- HtmlInputSecret
- HtmlInputText
- HtmlInputTextarea
- HtmlMessage
- HtmlMessages
- HtmlOutputFormat
- HtmlOutputLabel
- HtmlOutputLink
- HtmlOutputText
- HtmlPanelGrid
- HtmlPanelGroup
- HtmlSelectBooleanCheckbox
- HtmlSelectManyCheckbox
- HtmlSelectManyListbox
- HtmlSelectManyMenu
- HtmlSelectOneListbox
- HtmlSelectOneMenu
- HtmlSelectOneRadio
- </classes>
- <classes package="javax.faces.context">
- <!--class list-->
- ExternalContext
- FacesContext
- FacesContextFactory
- ResponseStream
- ResponseWriter
- ResponseWriterWrapper
- </classes>
- <classes package="javax.faces.convert">
- <!--interface list-->
- Converter
- <!--class list-->
- BigDecimalConverter
- BigIntegerConverter
- BooleanConverter
- ByteConverter
- CharacterConverter
- DateTimeConverter
- DoubleConverter
- FloatConverter
- IntegerConverter
- LongConverter
- NumberConverter
- ShortConverter
- <!--exception-->
- ConverterException
- </classes>
- <classes package="javax.faces.el">
- <!--class list-->
- PropertyResolver
- MethodBinding
- ValueBinding
- VariableResolver
- <!--exception-->
- EvaluationException
- MethodNotFoundException
- PropertyNotFoundException
- ReferenceSyntaxException
- </classes>
- <classes package="javax.faces.event ">
- <!--interface list-->
- ActionListener
- FacesListener
- PhaseListener
- ValueChangeListener
- <!--class list-->
- ActionEvent
- FacesEvent
- MethodExpressionActionListener
- MethodExpressionValueChangeListener
- PhaseEvent
- PhaseId
- ValueChangeEvent
- <!--exception-->
- AbortProcessingException
- </classes>
- <classes package="javax.faces.lifecycle">
- <!--class list-->
- Lifecycle
- LifecycleFactory
- </classes>
- <classes package="javax.faces.model">
- <!--interface list-->
- DataModelListener
- <!--class list-->
- ArrayDataModel
- DataModel
- DataModelEvent
- ListDataModel
- ResultDataModel
- ResultSetDataModel
- ScalarDataModel
- SelectItem
- SelectItemGroup
- </classes>
- <classes package="javax.faces.render">
- <!--class list-->
- Renderer
- RenderKit
- RenderKitFactory
- ResponseStateManager
- </classes>
- <classes package="javax.faces.validator">
- <!--interface list-->
- Validator
- <!--class list-->
- DoubleRangeValidator
- LengthValidator
- LongRangeValidator
- MethodExpressionValidator
- <!--exception-->
- ValidatorException
- </classes>
- <classes package="javax.faces.webapp">
- <!--interface list-->
-
- <!--class list-->
- AttributeTag
- ConverterELTag
- ConverterTag
- FacesServlet
- FacetTag
- UIComponentBodyTag
- UIComponentClassicTagBase
- UIComponentELTag
- UIComponentTag
- UIComponentTagBase
- ValidatorELTag
- ValidatorTag
- </classes>
- </api>
-
- <!--jsr 224-->
- <api name_version="JAX-WS_2.0">
- <classes package="javax.xml.ws">
- <!--interface list-->
- AsyncHandler
- Binding
- BindingProvider
- Dispatch
- LogicalMessage
- Provider
- Response
- WebServiceContext
- <!--class list-->
- Endpoint
- Holder
- Service
- WebServicePermission
- <!--exception-->
- ProtocolException
- WebServiceException
- <!--Enums-->
- Service$Mode
- <!--Annotation Types-->
- BindingType
- RequestWrapper
- ResponseWrapper
- ServiceMode
- WebEndpoint
- WebFault
- WebServiceClient
- WebServiceProvider
- WebServiceRef
- WebServiceRefs
- </classes>
- <classes package="javax.xml.ws.handler">
- <!--interface list-->
- Handler
- HandlerResolver
- LogicalHandler
- LogicalMessageContext
- MessageContext
- PortInfo
- <!--Enums-->
- MessageContext$Scope
- </classes>
- <classes package="javax.xml.ws.handler.soap">
- <!--interface list-->
- SOAPHandler
- SOAPMessageContext
- </classes>
- <classes package="javax.xml.ws.http">
- <!--interface list-->
- HTTPBinding
- <!--exception-->
- HTTPException
- </classes>
- <classes package="javax.xml.ws.soap">
- <!--interface list-->
- SOAPBinding
- <!--exception-->
- SOAPFaultException
- </classes>
- <classes package="javax.xml.ws.spi">
- <!-- classes -->
- Provider
- ServiceDelegate
- </classes>
- </api>
-
- <!--jsr 222: API list is same as that found in public final draft.-->
- <api name_version="JAXB_2.0">
- <classes package="javax.xml.bind">
- <!--interface list-->
- DatatypeConverterInterface
- Element
- Marshaller
- NotIdentifiableEvent
- ParseConversionEvent
- PrintConversionEvent
- Unmarshaller
- UnmarshallerHandler
- ValidationEvent
- ValidationEventHandler
- ValidationEventLocator
- Validator
- <!--class list-->
- Binder
- DatatypeConverter
- JAXBContext
- JAXBElement
- JAXBElement$GlobalScope
- JAXBIntrospector
- Marshaller$Listener
- SchemaOutputResolver
- Unmarshaller$Listener
- <!--exception-->
- JAXBException
- MarshalException
- PropertyException
- TypeConstraintException
- UnmarshalException
- ValidationException
- </classes>
- <classes package="javax.xml.bind.annotation">
- <!--interface list-->
- DomHandler
- <!--class list-->
- W3CDomHandler
- XmlElement$DEFAULT
- XmlElementDecl$GLOBAL
- XmlElementRef$DEFAULT
- XmlSchemaType$DEFAULT
- XmlType$DEFAULT
- <!--Enums-->
- AccessorOrder
- AccessType
- XmlNsForm
- <!--Annotation Types-->
- XmlAccessorOrder
- XmlAccessorType
- XmlAnyAttribute
- XmlAnyElement
- XmlAttachmentRef
- XmlAttribute
- XmlElement
- XmlElementDecl
- XmlElementRef
- XmlElementRefs
- XmlElements
- XmlElementWrapper
- XmlEnum
- XmlEnumValue
- XmlID
- XmlIDREF
- XmlInlineBinaryData
- XmlList
- XmlMimeType
- XmlMixed
- XmlNs
- XmlRegistry
- XmlRootElement
- XmlSchema
- XmlSchemaType
- XmlSchemaTypes
- XmlTransient
- XmlType
- XmlValue
- </classes>
- <classes package="javax.xml.bind.annotation.adapters">
- <!--class list-->
- CollapsedStringAdapter
- HexBinaryAdapter
- NormalizedStringAdapter
- XmlAdapter
- XmlJavaTypeAdapter$DEFAULT
- <!--Annotation Types-->
- XmlJavaTypeAdapter
- XmlJavaTypeAdapters
- </classes>
- <classes package="javax.xml.bind.attachment">
- <!--class list-->
- AttachmentMarshaller
- AttachmentUnmarshaller
- </classes>
- <classes package="javax.xml.bind.helpers">
- <!--class list-->
- AbstractMarshallerImpl
- AbstractUnmarshallerImpl
- DefaultValidationEventHandler
- NotIdentifiableEventImpl
- ParseConversionEventImpl
- PrintConversionEventImpl
- ValidationEventImpl
- ValidationEventLocatorImpl
- </classes>
- <classes package="javax.xml.bind.util">
- <!--class list-->
- JAXBResult
- JAXBSource
- ValidationEventCollector
- </classes>
- </api> <!--End of JAXB2.0 -->
-
- <api name_version="WSMetadata_1.1"> <!--JSR181-->
- <classes package="javax.jws">
- <!--Enums-->
- WebParam$Mode
- <!--Annotation Types-->
- HandlerChain
- Oneway
- WebMethod
- WebParam
- WebResult
- WebService
- </classes>
- <classes package="javax.jws.soap">
- <!--Enums-->
- SOAPBinding$ParameterStyle
- SOAPBinding$Style
- SOAPBinding$Use
- <!--Annotation Types-->
- InitParam
- SOAPBinding
- SOAPMessageHandler
- SOAPMessageHandlers
- </classes>
- </api> <!--End of jsr181-->
-
- <api name_version="StAX_1.0">
- <classes package="javax.xml">
- <!--class list-->
- XMLConstants
- </classes>
- <classes package="javax.xml.namespace">
- <!--interface list-->
- NamespaceContext
- <!--class list-->
- QName
- </classes>
- <classes package="javax.xml.stream">
- <!--interface list-->
- EventFilter
- Location
- StreamFilter
- XMLEventReader
- XMLEventWriter
- XMLReporter
- XMLResolver
- XMLStreamConstants
- XMLStreamReader
- XMLStreamWriter
- <!--class list-->
- XMLEventFactory
- XMLInputFactory
- XMLOutputFactory
- <!--exception-->
- XMLStreamException
- <!--Error-->
- FactoryConfigurationError
- </classes>
- <classes package="javax.xml.stream.events">
- <!--interface list-->
- Attribute
- Characters
- Comment
- DTD
- EndDocument
- EndElement
- EntityDeclaration
- EntityReference
- Namespace
- NotationDeclaration
- ProcessingInstruction
- StartDocument
- StartElement
- XMLEvent
- </classes>
- <classes package="javax.xml.stream.util">
- <!--interface list-->
- XMLEventAllocator
- XMLEventConsumer
- <!--class list-->
- EventReaderDelegate
- StreamReaderDelegate
- </classes>
- </api> <!--End of StAX1.0-->
-
- <api name_version="CommonAnnotations_1.0"> <!--JSR 250-->
- <classes package="javax.annotation">
- <!--Enums-->
- Resource$AuthenticationType
- <!--Annotation Types-->
- Generated
- PostConstruct
- PreDestroy
- Resource
- Resources
- </classes>
- <classes package="javax.annotation.security">
- <!--Annotation Types-->
- DeclareRoles
- DenyAll
- PermitAll
- RolesAllowed
- RunAs
- </classes>
- </api>
-
- <api name_version="EJB_1.1">
- <classes package="javax.ejb">
- <!--interface list-->
- EJBContext
- EJBHome
- EJBMetaData
- EJBObject
- EnterpriseBean
- EntityBean
- EntityContext
- Handle
- HomeHandle
- SessionBean
- SessionContext
- SessionSynchronization
- <!--class list-->
- CreateException
- DuplicateKeyException
- EJBException
- FinderException
- NoSuchEntityException
- ObjectNotFoundException
- RemoveException
- </classes>
- </api> <!--ejb 1.1-->
-
- <!-- Following is a list of interfaces in javax.ejb package that a component developer has access to-->
- <api name_version="EJB_2.0">
- <api_ref api_name_version="EJB_1.1"/>
- <classes package="javax.ejb">
- EJBLocalHome
- EJBLocalObject
- MessageDrivenBean
- MessageDrivenContext
- AccessLocalException
- NoSuchObjectLocalException
- TransactionRequiredLocalException
- TransactionRolledbackLocalException
- </classes>
- <!-- The following package is an SPI, hence should not be accessed from components
- <packages>
- javax.ejb.spi
- </packages>
- -->
- </api> <!-- ejb 2.0-->
-
- <api name_version="EJB_2.1">
- <api_ref api_name_version="EJB_2.0"/>
- <classes package="javax.ejb">
- TimedObject
- Timer
- TimerHandle
- TimerService
- </classes>
- </api> <!--ejb 2.1-->
-
- <!--Need to update after the final version of the spec comes-->
- <api name_version="EJB_3.0">
- <api_ref api_name_version="EJB_2.1"/>
- <classes package="javax.ejb">
- <!--Annotations-->
- ApplicationException
- ActivationConfigProperty
- EJB
- EJBs
- Init
- LocalHome
- Local
- MessageDriven
- PostActivate
- PrePassivate
- RemoteHome
- Remote
- Remove
- Stateful
- Stateless
- Timeout
- TransactionAttribute
- TransactionManagement
- <!--Enum-->
- TransactionAttributeType
- TransactionManagementType
- <!--Class list-->
- EJBTransactionRequiredException
- EJBTransactionRolledbackException
- NoSuchEJBException
- ConcurrentAccessException
- EJBAccessException
- </classes>
- <classes package="javax.interceptor">
- AroundInvoke
- ExcludeClassInterceptors
- ExcludeDefaultInterceptors
- Interceptors
- InvocationContext
- </classes>
- </api>
-
- <api name_version="JDBCSE_2.0">
- <classes package="javax.sql">
- ConnectionEvent
- ConnectionEventListener
- ConnectionPoolDataSource
- DataSource
- PooledConnection
- RowSet
- RowSetEvent
- RowSetInternal
- RowSetListener
- RowSetMetaData
- RowSetReader
- RowSetWriter
- XAConnection
- XADataSource
- </classes>
- </api>
-
- <api name_version="JNDI_1.2">
- <packages>
- javax.naming
- javax.naming.directory
- javax.naming.event
- javax.naming.ldap
- javax.naming.spi
- </packages>
- </api>
-
- <api name_version="RMI-IIOP_1.0">
- <!-- All RMI-IIOP_1.0 apis are taken care of in J2SE bundle-->
- </api>
-
- <api name_version="Servlet_2.2">
- <classes package="javax.servlet">
- RequestDispatcher
- Servlet
- ServletConfig
- ServletContext
- ServletRequest
- ServletResponse
- SingleThreadModel
- GenericServlet
- ServletInputStream
- ServletOutputStream
- ServletException
- UnavailableException
- </classes>
- <classes package="javax.servlet.http">
- Cookie
- HttpServletRequest
- HttpServletResponse
- HttpSession
- HttpSessionBindingListener
- HttpSessionContext
- HttpServlet
- HttpSessionBindingEvent
- HttpUtils
- </classes>
- </api>
-
- <api name_version="Servlet_2.3">
- <api_ref api_name_version="Servlet_2.2"/>
- <classes package="javax.servlet">
- Filter
- FilterChain
- FilterConfig
- ServletContextAttributeListener
- ServletContextListener
- ServletContextAttributeEvent
- ServletContextEvent
- ServletRequestWrapper
- ServletResponseWrapper
- </classes>
- <classes package="javax.servlet.http">
- HttpSessionActivationListener
- HttpSessionAttributeListener
- HttpSessionListener
- HttpServletRequestWrapper
- HttpServletResponseWrapper
- HttpSessionEvent
- </classes>
- </api>
-
- <api name_version="Servlet_2.4">
- <api_ref api_name_version="Servlet_2.3"/>
- <classes package="javax.servlet">
- ServletRequestAttributeListener
- ServletRequestListener
- ServletRequestAttributeEvent
- ServletRequestEvent
- </classes>
- </api> <!--Servlet 2.4-->
-
- <api name_version="Servlet_2.5">
- <api_ref api_name_version="Servlet_2.4"/>
- </api>
-
- <!-- taken from J2EE 1.2.1 api specs-->
- <api name_version="JSP_1.1">
- <classes package="javax.servlet.jsp">
- <!--Interfaces -->
- HttpJspPage
- JspPage
- <!-- Classes -->
- JspEngineInfo
- JspFactory
- JspWriter
- PageContext
- <!--Exceptions -->
- JspException
- JspTagException
- </classes>
- <classes package="javax.servlet.jsp.tagext">
- <!-- Interfaces -->
- BodyTag
- Tag
- <!-- Classes -->
- BodyContent
- BodyTagSupport
- TagAttributeInfo
- TagData
- TagExtraInfo
- TagInfo
- TagLibraryInfo
- TagSupport
- VariableInfo
- </classes>
- </api>
-
- <!-- taken from J2EE 1.3 api javadocs-->
- <api name_version="JSP_1.2">
- <api_ref api_name_version="JSP_1.1"/>
- <classes package="javax.servlet.jsp.tagext">
- IterationTag
- TryCatchFinally
- PageData
- TagLibraryValidator
- TagVariableInfo
- ValidationMessage
- </classes>
- </api>
-
- <api name_version="JSP_2.0">
- <api_ref api_name_version="JSP_1.2"/>
- <classes package="javax.servlet.jsp">
- ErrorData
- JspContext
- <!-- Exceptions -->
- SkipPageException
- </classes>
- <classes package="javax.servlet.jsp.tagext">
- DynamicAttributes
- JspTag
- SimpleTag
- FunctionInfo
- JspFragment
- SimpleTagSupport
- TagAdapter
- TagFileInfo
- </classes>
- <classes package="javax.servlet.jsp.el">
- <!-- Interfaces -->
- FunctionMapper
- VariableResolver
- <!-- Classes -->
- Expression
- ExpressionEvaluator
- <!-- Exceptions -->
- ELException
- ELParseException
- </classes>
- </api> <!-- JSP 2.0-->
-
- <api name_version="JSP_2.1">
- <api_ref api_name_version="JSP_2.0"/>
- <classes package="javax.servlet.jsp.el">
- <!-- Classes -->
- ImplicitObjectELResolver
- ScopedAttributeELResolver
- </classes>
- <classes package="javax.servlet.jsp">
- <!--interfaces-->
- JspApplicationContext
- </classes>
- <classes package="javax.servlet.jsp.tagext">
- <!--interfaces-->
- JspIdConsumer
- </classes>
- <!-- JSP 2.1 also include the javax.el package -->
- <classes package="javax.el">
- ArrayELResolver
- BeanELResolver
- CompositeELResolver
- ELContext
- ELContextEvent
- ELContextListener
- ELException
- ELResolver
- ELUtil
- Expression
- ExpressionFactory
- FunctionMapper
- ListELResolver
- MapELResolver
- MethodExpression
- MethodInfo
- MethodNotFoundException
- PropertyNotFoundException
- PropertyNotWritableException
- ResourceBundleELResolver
- ValueExpression
- VariableMapper
- </classes>
- </api> <!-- JSP 2.1-->
-
- <api name_version="JMS_1.0">
- <classes package="jakarta.jms">
- <!--Interfaces -->
- BytesMessage
- Connection
- <!-- The following classes is not accessible to components.
- See section# 6.7 of J2EE 1.3 Spec.
- ConnectionConsumer
- -->
- ConnectionFactory
- ConnectionMetaData
- DeliveryMode
- Destination
- ExceptionListener
- MapMessage
- Message
- MessageConsumer
- MessageListener
- MessageProducer
- ObjectMessage
- Queue
- QueueBrowser
- QueueConnection
- QueueConnectionFactory
- QueueReceiver
- QueueSender
- QueueSession
- <!-- The following classes is not accessible to components.
- See section# 6.7 of J2EE 1.3 Spec.
- ServerSession
- ServerSessionPool
- -->
- Session
- StreamMessage
- TemporaryQueue
- TemporaryTopic
- TextMessage
- Topic
- TopicConnection
- TopicConnectionFactory
- TopicPublisher
- TopicSession
- TopicSubscriber
- <!-- The following classes is not accessible to components.
- See section# 6.7 of J2EE 1.4 Spec.
- XAConnection
- XAConnectionFactory
- XAQueueConnection
- XAQueueConnectionFactory
- XAQueueSession
- XASession
- XATopicConnection
- XATopicConnectionFactory
- XATopicSession
- -->
- <!--Classes -->
- QueueRequestor
- TopicRequestor
- <!--Exceptions -->
- IllegalStateException
- InvalidClientIDException
- InvalidDestinationException
- InvalidSelectorException
- JMSException
- JMSSecurityException
- MessageEOFException
- MessageFormatException
- MessageNotReadableException
- MessageNotWriteableException
- ResourceAllocationException
- TransactionInProgressException
- TransactionRolledBackException
- </classes>
- </api>
-
- <api name_version="JMS_1.1">
- <classes package="jakarta.jms">
- <!-- interfaces-->
- BytesMessage
- Connection
- <!-- The following class is not accessible to components.
- See section# 6.7 of J2EE 1.4 Spec.
- ConnectionConsumer
- -->
- ConnectionFactory
- ConnectionMetaData
- DeliveryMode
- Destination
- ExceptionListener
- MapMessage
- Message
- MessageConsumer
- MessageListener
- MessageProducer
- ObjectMessage
- Queue
- QueueBrowser
- QueueConnection
- QueueConnectionFactory
- QueueReceiver
- QueueSender
- QueueSession
- <!-- The following classes is not accessible to components.
- See section# 6.6 of J2EE 1.4 Spec.
- ServerSession
- ServerSessionPool
- -->
- Session
- StreamMessage
- TemporaryQueue
- TemporaryTopic
- TextMessage
- Topic
- TopicConnection
- TopicConnectionFactory
- TopicPublisher
- TopicSession
- TopicSubscriber
- <!-- The following XA api should not beused by components as these are SPIs.
- See Section# 6.6 of J2EE 1.4 spec.
- XAConnection
- XAConnectionFactory
- XAQueueConnection
- XAQueueConnectionFactory
- XAQueueSession
- XASession
- XATopicConnection
- XATopicConnectionFactory
- XATopicSession
- -->
- <!-- Classes -->
- QueueRequestor
- TopicRequestor
- <!-- Exceptions -->
- IllegalStateException
- InvalidClientIDException
- InvalidDestinationException
- InvalidSelectorException
- JMSException
- JMSSecurityException
- MessageEOFException
- MessageFormatException
- MessageNotReadableException
- MessageNotWriteableException
- ResourceAllocationException
- TransactionInProgressException
- TransactionRolledBackException
- </classes>
- </api> <!-- JMS 1.1 -->
-
- <api name_version="JTA_1.0">
- <classes package="javax.transaction">
- Status
- Synchronization
- Transaction
- TransactionManager
- UserTransaction
- <!--Exceptions -->
- HeuristicCommitException
- HeuristicMixedException
- HeuristicRollbackException
- InvalidTransactionException
- NotSupportedException
- RollbackException
- SystemException
- TransactionRequiredException
- TransactionRolledbackException
- </classes>
- <classes package="javax.transaction.xa">
- <!-- This seems to be an SPI, but I don't see any mention of this not being accessible to components-->
- XAResource
- Xid
- XAException
- </classes>
- </api> <!-- JTA 1.0 -->
-
- <api name_version="JTA_1.1">
- <api_ref api_name_version="JTA_1.0"/>
- <classes package="javax.transaction">
- TransactionSynchronizationRegistry
- </classes>
- </api>
-
- <api name_version="JavaMail_1.1">
- <classes package="javax.mail">
- <!--Interfaces -->
- MessageAware
- MultipartDataSource
- Part
- UIDFolder
- <!--Classes -->
- Address
- Authenticator
- BodyPart
- FetchProfile
- FetchProfile$Item
- Flags
- Flags$Flag
- Folder
- Header
- Message
- Message$RecipientType
- MessageContext
- Multipart
- PasswordAuthentication
- Provider
- Provider$Type
- Service
- Session
- Store
- Transport
- UIDFolder$FetchProfileItem
- URLName
- <!--Exceptions -->
- AuthenticationFailedException
- FolderClosedException
- FolderNotFoundException
- IllegalWriteException
- MessageRemovedException
- MessagingException
- MethodNotSupportedException
- NoSuchProviderException
- SendFailedException
- StoreClosedException
- </classes>
- <classes package="javax.mail.event">
- <!--Interfaces -->
- ConnectionListener
- FolderListener
- MessageChangedListener
- MessageCountListener
- StoreListener
- TransportListener
- <!--Classes -->
- ConnectionAdapter
- ConnectionEvent
- FolderAdapter
- FolderEvent
- MailEvent
- MessageChangedEvent
- MessageCountAdapter
- MessageCountEvent
- StoreEvent
- TransportAdapter
- TransportEvent
- </classes>
- <classes package="javax.mail.internet">
- <!--Interfaces -->
- MimePart
- <!--Classes -->
- ContentType
- HeaderTokenizer
- HeaderTokenizer$Token
- InternetAddress
- InternetHeaders
- MimeBodyPart
- MimeMessage
- MimeMessage$RecipientType
- MimeMultipart
- MimePartDataSource
- MimeUtility
- NewsAddress
- ParameterList
- <!--Exceptions -->
- AddressException
- ParseException
- </classes>
- <classes package="javax.mail.search">
- <!--Classes -->
- AddressStringTerm
- AddressTerm
- AndTerm
- BodyTerm
- ComparisonTerm
- DateTerm
- FlagTerm
- FromStringTerm
- FromTerm
- HeaderTerm
- IntegerComparisonTerm
- MessageIDTerm
- MessageNumberTerm
- NotTerm
- OrTerm
- ReceivedDateTerm
- RecipientStringTerm
- RecipientTerm
- SearchTerm
- SentDateTerm
- SizeTerm
- StringTerm
- SubjectTerm
- <!--Exceptions -->
- SearchException
- </classes>
- </api>
-
- <api name_version="JavaMail_1.2">
- <!-- All 1.2 apis are same as 1.1 apis -->
- <api_ref api_name_version="JavaMail_1.1"/>
- <classes package="javax.mail.internet">
- <!-- interfaces -->
- SharedInputStream
- <!-- classses -->
- ContentDisposition
- MailDateFormat
- </classes>
- </api>
-
- <api name_version="JavaMail_1.3">
- <api_ref api_name_version="JavaMail_1.2"/>
- <classes package="javax.mail">
- ReadOnlyFolderException
- </classes>
- </api> <!-- JavaMail 1.3 -->
-
- <api name_version="JavaMail_1.4">
- <api_ref api_name_version="JavaMail_1.3"/>
- <classes package="javax.mail">
- <!-- interfaces -->
- QuotaAwareStore
- <!-- classes -->
- Quota
- Quota$Resource
- </classes>
- <classes package="javax.mail.internet">
- <!-- classes -->
- InternetHeaders$InternetHeader
- PreencodedMimeBodyPart
- </classes>
- <classes package="javax.mail.util">
- ByteArrayDataSource
- SharedByteArrayInputStream
- SharedFileInputStream
- </classes>
- </api>
-
- <api name_version="JAF_1.0">
- <classes package="javax.activation">
- <!--Interfaces -->
- CommandObject
- DataContentHandler
- DataContentHandlerFactory
- DataSource
- <!--Classes -->
- ActivationDataFlavor
- CommandInfo
- CommandMap
- DataHandler
- FileDataSource
- FileTypeMap
- MailcapCommandMap
- MimeType
- MimeTypeParameterList
- MimetypesFileTypeMap
- URLDataSource
- <!--Exceptions -->
- MimeTypeParseException
- UnsupportedDataTypeException
- </classes>
- </api> <!-- JAF 1.0 -->
-
- <api name_version="JAF_1.0.2">
- <api_ref api_name_version="JAF_1.0"/>
- </api> <!-- End of JAF_1.0.2-->
-
- <api name_version="JAF_1.1">
- <api_ref api_name_version="JAF_1.0.2"/>
- <classes package="javax.activation">
- DataHandlerDataSource
- DataSourceDataContentHandler
- ObjectDataContentHandler
- SecuritySupport
- </classes>
- </api>
-
- <api name_version="JAXP_1.2">
- <packages>
- javax.xml.parsers
- javax.xml.transform
- javax.xml.transform.dom
- javax.xml.transform.sax
- javax.xml.transform.stream
- org.w3c.dom
- org.xml.sax
- org.xml.sax.ext
- org.xml.sax.helpers
- </packages>
- </api> <!-- JAXP 1.2-->
-
- <api name_version="JCA_1.0">
- <classes package="javax.resource">
- <!--Interfaces -->
- Referenceable
- <!--Exceptions -->
- NotSupportedException
- ResourceException
- </classes>
- <classes package="javax.resource.cci">
- <!--Interfaces -->
- Connection
- ConnectionFactory
- ConnectionMetaData
- ConnectionSpec
- IndexedRecord
- Interaction
- InteractionSpec
- LocalTransaction
- MappedRecord
- Record
- RecordFactory
- ResourceAdapterMetaData
- ResultSet
- ResultSetInfo
- Streamable
- <!--Exceptions -->
- ResourceWarning
- </classes>
- <classes package="javax.resource.spi">
- <!--Interfaces -->
- ConnectionEventListener
- ConnectionManager
- ConnectionRequestInfo
- LocalTransaction
- ManagedConnection
- ManagedConnectionFactory
- ManagedConnectionMetaData
- <!--Classes -->
- ConnectionEvent
- <!--Exceptions -->
- ApplicationServerInternalException
- CommException
- EISSystemException
- IllegalStateException
- LocalTransactionException
- ResourceAdapterInternalException
- ResourceAllocationException
- SecurityException
- </classes>
- <classes package="javax.resource.spi.security">
- <!--Interfaces -->
- GenericCredential
- <!--Classes -->
- PasswordCredential
- </classes>
- </api>
-
- <api name_version="JCA_1.5">
- <api_ref api_name_version="JCA_1.0"/>
- <classes package="javax.resource.cci">
- MessageListener
- </classes>
- <classes package="javax.resource.spi">
- ActivationSpec
- BootstrapContext
- DissociatableManagedConnection
- LazyAssociatableConnectionManager
- LazyEnlistableConnectionManager
- LazyEnlistableManagedConnection
- ResourceAdapter
- ResourceAdapterAssociation
- ValidatingManagedConnectionFactory
- XATerminator
- InvalidPropertyException
- SharingViolationException
- UnavailableException
- </classes>
- <classes package="javax.resource.spi.endpoint">
- <!--Interfaces -->
- MessageEndpoint
- MessageEndpointFactory
- </classes>
- <classes package="javax.resource.spi.work">
- <!--Interfaces -->
- Work
- WorkListener
- WorkManager
- <!--Classes -->
- ExecutionContext
- WorkAdapter
- WorkEvent
- <!--Exceptions -->
- WorkCompletedException
- WorkException
- WorkRejectedException
- </classes>
- </api> <!-- JCA 1.5 -->
-
- <api name_version="JAAS_1.0">
- <packages>
- javax.security.auth
- javax.security.auth.callback
- javax.security.auth.login
- javax.security.auth.spi
- </packages>
- </api>
-
- <api name_version="SAAJ_1.2">
- <!-- taken from Chapter# 1 of SAAJ 1.2 specification -->
- <packages>
- javax.xml.soap
- </packages>
- </api>
-
- <api name_version="SAAJ_1.3">
- <api_ref api_name_version="SAAJ_1.2"/>
- <!--update when the spec finalises -->
- </api>
-
- <api name_version="JSPDebug_1.0">
- <!--no apis specific to JSPDebug-->
- </api>
-
- <api name_version="JavaPersistence_1.0">
- <classes package="javax.persistence">
- <!-- interfaces -->
- EntityManager
- EntityManagerFactory
- EntityTransaction
- Query
-
- <!-- classes -->
- Persistence
-
- <!-- enums -->
- CascadeType
- DiscriminatorType
- EnumType
- FetchType
- FlushModeType
- GenerationType
- InheritanceType
- LockModeType
- PersistenceContextType
- TemporalType
-
- <!-- exceptions -->
- EntityExistsException
- EntityNotFoundException
- NonUniqueResultException
- NoResultException
- OptimisticLockException
- PersistenceException
- RollbackException
- TransactionRequiredException
-
- <!-- annotation types -->
- AssociationOverride
- AssociationOverrides
- AttributeOverride
- AttributeOverrides
- Basic
- Column
- ColumnResult
- DiscriminatorColumn
- DiscriminatorValue
- Embeddable
- Embedded
- EmbeddedId
- Entity
- EntityListeners
- EntityResult
- Enumerated
- ExcludeDefaultListeners
- ExcludeSupeListeners
- FieldResult
- GeneratedValue
- Id
- IdClass
- Inheritance
- JoinColumn
- JoinColumns
- JoinTable
- Lob
- ManyToMany
- ManyToOne
- MapKey
- MappedSupe
- NamedNativeQueries
- NamedNativeQuery
- NamedQueries
- NamedQuery
- OneToMany
- OneToOne
- OrderBy
- PersistenceContext
- PersistenceContexts
- PersistenceProperty
- PersistenceUnit
- PersistenceUnits
- PostLoad
- PostPersist
- PostRemove
- PostUpdate
- PrePersist
- PreRemove
- PreUpdate
- PrimaryKeyJoinColumn
- PrimaryKeyJoinColumns
- QueryHint
- SecondaryTable
- SecondaryTables
- SequenceGenerator
- SqlResultSetMapping
- SqlResultSetMappings
- Table
- TableGenerator
- Temporal
- Transient
- UniqueConstraint
- Version
- </classes>
- </api>
-
- <api name_version="JAXR_1.0">
- <!-- taken from J2EE 1.4 api documented at http://java.sun.com/j2ee/1.4/docs/api/index.html -->
- <packages>
- javax.xml.registry
- javax.xml.registry.infomodel
- </packages>
- </api>
-
- <api name_version="WebServices_1.1">
- <!-- no apis specific to web service-->
- </api>
-
- <api name_version="WebServices_1.2">
- <api_ref api_name_version="WebServices_1.1"/>
- <!-- no apis specific to web service-->
- </api>
-
- <api name_version="JAX-RPC_1.1">
- <packages>
- javax.xml.rpc
- javax.xml.rpc.encoding
- javax.xml.rpc.handler
- javax.xml.rpc.handler.soap
- javax.xml.rpc.holders
- javax.xml.rpc.server
- javax.xml.rpc.soap
- </packages>
- </api>
-
- <api name_version="JMX_1.2">
- <!-- JMX is not a part of J2SE 1.4. JMX provids basic infrastructure for J2EE-Management framework-->
- <packages>
- javax.management
- javax.management.loading
- javax.management.modelmbean
- javax.management.monitor
- javax.management.openmbean
- javax.management.relation
- javax.management.timer
- </packages>
- </api>
-
- <api name_version="J2EE-Management_1.0">
- <packages>
- javax.management.j2ee
- javax.management.j2ee.statistics
- </packages>
- </api>
-
- <api name_version="JavaEE-Management_1.1">
- <api_ref api_name_version="J2EE-Management_1.0"/>
- </api>
-
- <api name_version="J2EE-Deployment_1.1">
- <packages>
- javax.enterprise.deploy.model
- javax.enterprise.deploy.shared
- javax.enterprise.deploy.shared.factories
- <!-- The following is a list of spis targetted for J2EE product vendors and hence should not
- accessed by components
- javax.enterprise.deploy.spi
- javax.enterprise.deploy.spi.exceptions
- javax.enterprise.deploy.spi.factories
- javax.enterprise.deploy.spi.status
- -->
- </packages>
- </api>
- <api name_version="JACC_1.0">
- <classes package="javax.security.jacc">
- <!-- interfaces -->
- PolicyConfiguration
- PolicyContextHandler
- <!-- Classes -->
- EJBMethodPermission
- EJBRoleRefPermission
- PolicyConfigurationFactory
- PolicyContext
- WebResourcePermission
- WebRoleRefPermission
- WebUserDataPermission
- <!-- Exceptions -->
- PolicyContextException
- </classes>
- </api>
-
- <api name_version="JACC_1.1">
- <api_ref api_name_version="JACC_1.0"/>
- </api>
-
- <api name_version="J2SE_1.3">
- <packages>
- java.applet
- java.awt
- java.awt.color
- java.awt.datatransfer
- java.awt.dnd
- java.awt.event
- java.awt.font
- java.awt.geom
- java.awt.im
- java.awt.im.spi
- java.awt.image
- java.awt.image.renderable
- java.awt.print
- java.beans
- java.beans.beancontext
- java.io
- java.lang
- java.lang.ref
- java.lang.reflect
- java.math
- java.net
- java.rmi
- java.rmi.activation
- java.rmi.dgc
- java.rmi.registry
- java.rmi.server
- java.security
- java.security.acl
- java.security.cert
- java.security.interfaces
- java.security.spec
- java.sql
- java.text
- java.util
- java.util.jar
- java.util.zip
- javax.accessibility
- javax.naming
- javax.naming.directory
- javax.naming.event
- javax.naming.ldap
- javax.naming.spi
- javax.rmi
- javax.rmi.CORBA
- javax.sound.midi
- javax.sound.midi.spi
- javax.sound.sampled
- javax.sound.sampled.spi
- javax.swing
- javax.swing.border
- javax.swing.colorchooser
- javax.swing.event
- javax.swing.filechooser
- javax.swing.plaf
- javax.swing.plaf.basic
- javax.swing.plaf.metal
- javax.swing.plaf.multi
- javax.swing.table
- javax.swing.text
- javax.swing.text.html
- javax.swing.text.html.parser
- javax.swing.text.rtf
- javax.swing.tree
- javax.swing.undo
- javax.transaction
- org.omg.CORBA
- org.omg.CORBA_2_3
- org.omg.CORBA_2_3.portable
- org.omg.CORBA.DynAnyPackage
- org.omg.CORBA.ORBPackage
- org.omg.CORBA.portable
- org.omg.CORBA.TypeCodePackage
- org.omg.CosNaming
- org.omg.CosNaming.NamingContextPackage
- org.omg.SendingContext
- org.omg.stub.java.rmi
- </packages>
- </api>
- <api name_version="J2SE_1.4">
- <!-- This set of packages are taken from http://java.sun.com/j2se/1.4.2/docs/api/index.html
- -->
- <api_ref api_name_version="J2SE_1.3"/>
- <packages>
- java.nio
- java.nio.channels
- java.nio.channels.spi
- java.nio.charset
- java.nio.charset.spi
- java.util.logging
- java.util.prefs
- java.util.regex
- javax.crypto
- javax.crypto.interfaces
- javax.crypto.spec
- javax.imageio
- javax.imageio.event
- javax.imageio.metadata
- javax.imageio.plugins.jpeg
- javax.imageio.spi
- javax.imageio.stream
- javax.net
- javax.net.ssl
- javax.print
- javax.print.attribute
- javax.print.attribute.standard
- javax.print.event
- javax.security.auth
- javax.security.auth.callback
- javax.security.auth.kerberos
- javax.security.auth.login
- javax.security.auth.spi
- javax.security.auth.x500
- javax.security.cert
- javax.sql
- javax.transaction.xa
- javax.xml.parsers
- javax.xml.transform
- javax.xml.transform.dom
- javax.xml.transform.sax
- javax.xml.transform.stream
- org.ietf.jgss
- org.omg.CosNaming.NamingContextExtPackage
- org.omg.Dynamic
- org.omg.DynamicAny
- org.omg.DynamicAny.DynAnyFactoryPackage
- org.omg.DynamicAny.DynAnyPackage
- org.omg.IOP
- org.omg.IOP.CodecFactoryPackage
- org.omg.IOP.CodecPackage
- org.omg.Messaging
- org.omg.PortableInterceptor
- org.omg.PortableInterceptor.ORBInitInfoPackage
- org.omg.PortableServer
- org.omg.PortableServer.CurrentPackage
- org.omg.PortableServer.POAManagerPackage
- org.omg.PortableServer.POAPackage
- org.omg.PortableServer.portable
- org.omg.PortableServer.ServantLocatorPackage
- org.w3c.dom
- org.xml.sax
- org.xml.sax.ext
- org.xml.sax.helpers
- </packages>
- </api> <!-- J2SE 1.4-->
- <api name_version="J2SE_5.0">
- <api_ref api_name_version="J2SE_1.4"/>
- <packages>
- java.lang.annotation
- java.lang.instrument
- java.lang.management
- java.util.concurrent
- java.util.concurrent.atomic
- java.util.concurrent.locks
- javax.activity
- javax.imageio.plugins.bmp
- javax.management
- javax.management.loading
- javax.management.modelmbean
- javax.management.monitor
- javax.management.openmbean
- javax.management.relation
- javax.management.remote
- javax.management.remote.rmi
- javax.management.timer
- javax.rmi.ssl
- javax.security.sasl
- javax.sql.rowset
- javax.sql.rowset.serial
- javax.sql.rowset.spi
- javax.swing.plaf.synth
- javax.xml
- javax.xml.datatype
- javax.xml.namespace
- javax.xml.validation
- javax.xml.xpath
- org.w3c.dom.bootstrap
- org.w3c.dom.events
- org.w3c.dom.ls
- </packages>
- </api>
-
-</root>
-
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/sun-TestNamesEjb.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/sun-TestNamesEjb.xml
deleted file mode 100644
index babe689..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/sun-TestNamesEjb.xml
+++ /dev/null
@@ -1,245 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- SunONE Application Server EJB tests
- </description>
-<!-- DOL Issue
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJarPublicID
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASSecurityRoleMapping
- </test-class>
- </test>
--->
-<!-- bug 4944433
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBResourceAdapter
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMessageDestination
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanName
- </test-class>
- </test>
-<!-- BugId: 4865779. Test is not required
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanUniqueID
- </test-class>
- </test>
--->
-<!-- bugId: 4944751
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanPmDescriptors
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEntBeanCmpResource
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbName
- </test-class>
- </test>
-<!-- redesign issue
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJndiName
- </test-class>
- </test> -->
-<!-- excluded because of bug 4943773
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRef
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResRef
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefName
- </test-class>
- </test>
-<!-- excluded because of bug 4943346
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefJndiName
- </test-class>
- </test>
--->
-<!-- excluded because of bug 4943773
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbRRefDefResPrincipal
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbResEnvRef
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.resource.ASEjbREnvRefJndiName
- </test-class>
- </test>
-<!-- DOL Issue
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCMP
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.cmpmapping.ASCmpMappingTest
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbPrincipal
- </test-class>
- </test>
-<!-- excluded because of bug 4943346
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbMDBConnFactory
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSDurableSubscriptionName
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbJMSMaxMessagesLoad
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIORSecurityConfig
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbIsReadOnlyBean
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbRefreshPeriod
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.ASEjbCommitOption
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBeanPool
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxPoolSize
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPSteadyPoolSize
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolResizeQty
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPPoolIdleTime
- </test-class>
- </test>
- <!-- Deprecated 4738767
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beanpool.ASEjbBPMaxWaitTime
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCIsCacheOverflowAllowed
- </test-class>
- </test>
- End Deprecated -->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBeanCache
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCMaxCacheSize
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCResizeQuantity
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCCacheIdleTimeout
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCRemovalTimeout
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.ejb.runtime.beancache.ASEjbBCVictimPolicy
- </test-class>
- </test>
-</tests>
-
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/sun-TestNamesWeb.xml b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/sun-TestNamesWeb.xml
deleted file mode 100644
index 0091cb6..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/sun-TestNamesWeb.xml
+++ /dev/null
@@ -1,111 +0,0 @@
-<!--
-
- Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<tests>
- <description>
- SunONE Application Server Web App tests
- </description>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceEnvRef
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASMessageDestination
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASResourceRefName
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebEjbRef
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASSecurityRoleMapping
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASServlet
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionManager
- </test-class>
- </test>
-
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASSessionProperty
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASCookieProperty
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASLocaleCharsetInfo
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASWebProperty
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASJSPConfig
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASCache
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheHelperClass
- </test-class>
- </test>
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMapping
- </test-class>
- </test>
-<!--
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASCacheMappingFieldConstraint
- </test-class>
- </test>
--->
- <test>
- <test-class>
- com.sun.enterprise.tools.verifier.tests.web.runtime.ASConstraintField
- </test-class>
- </test>
-</tests>
diff --git a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/textFormatForVerifierSS.xsl b/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/textFormatForVerifierSS.xsl
deleted file mode 100644
index 99fbc0a..0000000
--- a/appserver/verifier/verifier-impl/src/main/resources/com/sun/enterprise/tools/verifier/config/textFormatForVerifierSS.xsl
+++ /dev/null
@@ -1,178 +0,0 @@
-<?xml version="1.0" ?>
-<!--
-
- Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
- xmlns:fo="http://www.w3.org/1999/XSL/Format"
- version="1.0" >
- <xsl:output method="text" indent="yes"/>
-
- <xsl:template match="/">
- <xsl:apply-templates />
- </xsl:template>
- <xsl:template match="static-verification">
- ---------------------------
- STATIC VERIFICATION RESULTS
- ---------------------------
-
- <xsl:apply-templates select="failure-count" />
-
- <xsl:apply-templates select="error" />
-
- <xsl:apply-templates select="application" />
-
- <xsl:apply-templates select="appclient" />
-
- <xsl:apply-templates select="ejb" />
-
- <xsl:apply-templates select="web" />
-
- <xsl:apply-templates select="connector" />
-
- <xsl:apply-templates select="other" />
-
- ----------------------------------
- END OF STATIC VERIFICATION RESULTS
- ----------------------------------
- </xsl:template>
-
-
- <!-- NOW LIST ALL THE PATTERN RULES-->
- <xsl:template match="application">
-
- -------------------------------------
- RESULTS FOR APPLICATION-RELATED TESTS
- -------------------------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="appclient">
-
- -----------------------------------
- RESULTS FOR APPCLIENT-RELATED TESTS
- -----------------------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="ejb">
-
- -----------------------------
- RESULTS FOR EJB-RELATED TESTS
- -----------------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="web">
-
- -----------------------------
- RESULTS FOR WEB-RELATED TESTS
- -----------------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="connector">
-
- -----------------------------------
- RESULTS FOR CONNECTOR-RELATED TESTS
- -----------------------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="other">
-
- -----------------------------------
- RESULTS FOR OTHER XML-RELATED TESTS
- -----------------------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="error">
-
- -----------------------------------------------------
- ERRORS THAT OCCURRED WHILE RUNNING STATIC VERIFICATION
- -----------------------------------------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="error-name">
- Error Name : <xsl:value-of select="." />
- </xsl:template>
-
-
- <xsl:template match="error-description">
- Error Description : <xsl:value-of select="." />
- </xsl:template>
-
-
- <xsl:template match="failure-count">
- ----------------------------------
- NUMBER OF FAILURES/WARNINGS/ERRORS
- ----------------------------------
- # of Failures : <xsl:value-of select="failure-number" />
- # of Warnings : <xsl:value-of select="warning-number" />
- # of Errors : <xsl:value-of select="error-number" />
-
- </xsl:template>
-
-
- <xsl:template match="failed">
- --------------
- FAILED TESTS :
- --------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="passed">
- ---------------
- PASSED TESTS :
- ---------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="warning">
- -----------
- WARNINGS :
- -----------
- <xsl:apply-templates/>
- </xsl:template>
-
- <xsl:template match="not-applicable">
- ---------------------
- NOTAPPLICABLE TESTS :
- ---------------------
- <xsl:apply-templates/>
- </xsl:template>
-
-
- <xsl:template match="test">
- Test Name : <xsl:value-of select="test-name" />
- Test Assertion : <xsl:value-of select="test-assertion" />
- Test Description : <xsl:value-of select="test-description" />
- </xsl:template>
-
-
-</xsl:stylesheet>
diff --git a/appserver/verifier/verifier-jdk-extension-bundle/pom.xml b/appserver/verifier/verifier-jdk-extension-bundle/pom.xml
deleted file mode 100755
index 6c5ba15..0000000
--- a/appserver/verifier/verifier-jdk-extension-bundle/pom.xml
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.glassfish.main</groupId>
- <artifactId>glassfish-parent</artifactId>
- <version>6.0.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
- <artifactId>verifier-jdk-extension-bundle</artifactId>
- <packaging>jar</packaging>
- <name>GlassFish Verifier Extension Bundle</name>
- <description>Extending system bundle to provide access to additional packages from JDK</description>
- <build>
- <plugins>
- <plugin>
- <artifactId>maven-jar-plugin</artifactId>
- <configuration>
- <archive>
- <manifestEntries>
- <Bundle-SymbolicName>${project.groupId}.${project.artifactId}</Bundle-SymbolicName>
- <Bundle-ManifestVersion>2</Bundle-ManifestVersion>
- <Fragment-Host>system.bundle; extension:=framework</Fragment-Host>
- <Export-Package>
- com.sun.org.apache.bcel.internal.classfile;
- com.sun.org.apache.bcel.internal.util
- </Export-Package>
- <Bundle-Description>${project.description}</Bundle-Description>
- </manifestEntries>
- </archive>
- </configuration>
- </plugin>
- </plugins>
- </build>
-</project>
diff --git a/appserver/verifier/verifier-jdk-extension-bundle/src/main/resources/META-INF/MANIFEST.MF b/appserver/verifier/verifier-jdk-extension-bundle/src/main/resources/META-INF/MANIFEST.MF
deleted file mode 100644
index e69de29..0000000
--- a/appserver/verifier/verifier-jdk-extension-bundle/src/main/resources/META-INF/MANIFEST.MF
+++ /dev/null
diff --git a/appserver/verifier/verifier-scripts/pom.xml b/appserver/verifier/verifier-scripts/pom.xml
deleted file mode 100755
index b9ff0bb..0000000
--- a/appserver/verifier/verifier-scripts/pom.xml
+++ /dev/null
@@ -1,33 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-
- Copyright (c) 2009, 2020 Oracle and/or its affiliates. All rights reserved.
-
- This program and the accompanying materials are made available under the
- terms of the Eclipse Public License v. 2.0, which is available at
- http://www.eclipse.org/legal/epl-2.0.
-
- This Source Code may also be made available under the following Secondary
- Licenses when the conditions for such availability set forth in the
- Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
- version 2 with the GNU Classpath Exception, which is available at
- https://www.gnu.org/software/classpath/license.html.
-
- SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-
--->
-
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
- <modelVersion>4.0.0</modelVersion>
- <parent>
- <groupId>org.glassfish.main</groupId>
- <artifactId>glassfish-parent</artifactId>
- <version>6.0.0-SNAPSHOT</version>
- <relativePath>../../pom.xml</relativePath>
- </parent>
-
- <artifactId>verifier-scripts</artifactId>
- <name>Verifier scripts</name>
-
- <packaging>distribution-fragment</packaging>
-</project>
diff --git a/appserver/verifier/verifier-scripts/src/main/resources/glassfish/bin/verifier b/appserver/verifier/verifier-scripts/src/main/resources/glassfish/bin/verifier
deleted file mode 100755
index dea884c..0000000
--- a/appserver/verifier/verifier-scripts/src/main/resources/glassfish/bin/verifier
+++ /dev/null
@@ -1,25 +0,0 @@
-#!/bin/sh
-#
-# Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
-#
-# This program and the accompanying materials are made available under the
-# terms of the Eclipse Public License v. 2.0, which is available at
-# http://www.eclipse.org/legal/epl-2.0.
-#
-# This Source Code may also be made available under the following Secondary
-# Licenses when the conditions for such availability set forth in the
-# Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-# version 2 with the GNU Classpath Exception, which is available at
-# https://www.gnu.org/software/classpath/license.html.
-#
-# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-#
-
-
-
-
-AS_INSTALL=`dirname $0`/..
-AS_INSTALL_MODULES=$AS_INSTALL/modules
-AS_INSTALL_LIB=$AS_INSTALL/lib
-
-java -cp $AS_INSTALL_LIB/embedded/glassfish-embedded-static-shell.jar:$AS_INSTALL_MODULES/verifier.jar:$AS_INSTALL_LIB/javahelp.jar com.sun.enterprise.tools.verifier.VerifierMain $*
diff --git a/appserver/verifier/verifier-scripts/src/main/resources/glassfish/bin/verifier.bat b/appserver/verifier/verifier-scripts/src/main/resources/glassfish/bin/verifier.bat
deleted file mode 100644
index 6721bcc..0000000
--- a/appserver/verifier/verifier-scripts/src/main/resources/glassfish/bin/verifier.bat
+++ /dev/null
@@ -1,19 +0,0 @@
-@echo off
-REM
-REM Copyright (c) 2018 Oracle and/or its affiliates. All rights reserved.
-REM
-REM This program and the accompanying materials are made available under the
-REM terms of the Eclipse Public License v. 2.0, which is available at
-REM http://www.eclipse.org/legal/epl-2.0.
-REM
-REM This Source Code may also be made available under the following Secondary
-REM Licenses when the conditions for such availability set forth in the
-REM Eclipse Public License v. 2.0 are satisfied: GNU General Public License,
-REM version 2 with the GNU Classpath Exception, which is available at
-REM https://www.gnu.org/software/classpath/license.html.
-REM
-REM SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
-REM
-
-
-java -cp "%~dp0..\lib\embedded\glassfish-embedded-static-shell.jar;%~dp0..\modules\verifier.jar;%~dp0..\lib\javahelp.jar" com.sun.enterprise.tools.verifier.VerifierMain "%*"
diff --git a/appserver/web/admin/src/main/java/org/glassfish/web/admin/LogFacade.java b/appserver/web/admin/src/main/java/org/glassfish/web/admin/LogFacade.java
index db56142..f6ceb66 100644
--- a/appserver/web/admin/src/main/java/org/glassfish/web/admin/LogFacade.java
+++ b/appserver/web/admin/src/main/java/org/glassfish/web/admin/LogFacade.java
@@ -32,7 +32,7 @@
"org.glassfish.web.admin.monitor.LogMessages";
@LoggerInfo(subsystem="WEB", description="WEB Admin Logger", publish=true)
- private static final String WEB_ADMIN_LOGGER = "javax.enterprise.web.admin";
+ private static final String WEB_ADMIN_LOGGER = "jakarta.enterprise.web.admin";
private static final Logger LOGGER =
Logger.getLogger(WEB_ADMIN_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/web/cdi-api-fragment/readme b/appserver/web/cdi-api-fragment/readme
index 4f0cec4..40e8b42 100644
--- a/appserver/web/cdi-api-fragment/readme
+++ b/appserver/web/cdi-api-fragment/readme
@@ -15,5 +15,5 @@
*/
This module is now needed because The cdi api's have been removed from weld-osgi-bundle and placed into cdi-api bundle.
-The src/main/resources/META-INF/services/javax.enterprise.inject.spi.CDIProvider file was moved from
+The src/main/resources/META-INF/services/jakarta.enterprise.inject.spi.CDIProvider file was moved from
the weld-integration-fragment module and placed into here.
diff --git a/appserver/web/gf-web-connector/src/main/java/org/glassfish/web/sniffer/WebSniffer.java b/appserver/web/gf-web-connector/src/main/java/org/glassfish/web/sniffer/WebSniffer.java
index 7515d05..8c9f7af 100644
--- a/appserver/web/gf-web-connector/src/main/java/org/glassfish/web/sniffer/WebSniffer.java
+++ b/appserver/web/gf-web-connector/src/main/java/org/glassfish/web/sniffer/WebSniffer.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 2006, 2019 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2006, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -160,7 +160,7 @@
// TODO(Sahoo): Ideally we should have separate sniffer for JSP, but since WebSniffer is already
// handling JSPs, we must make sure that all JSP related modules get installed by WebSniffer as well.
private String[] containerModuleNames = {"org.glassfish.main.web.glue",
- "org.glassfish.web.jakarta.servlet.jsp"
+ "org.glassfish.wasp.wasp"
};
@Override
diff --git a/appserver/web/war-util/pom.xml b/appserver/web/war-util/pom.xml
index e371063..ab0e19b 100755
--- a/appserver/web/war-util/pom.xml
+++ b/appserver/web/war-util/pom.xml
@@ -58,6 +58,10 @@
<artifactId>jakarta.servlet.jsp-api</artifactId>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
</dependency>
diff --git a/appserver/web/war-util/src/main/java/org/glassfish/web/loader/LogFacade.java b/appserver/web/war-util/src/main/java/org/glassfish/web/loader/LogFacade.java
index c5275a3..f5b49bb 100644
--- a/appserver/web/war-util/src/main/java/org/glassfish/web/loader/LogFacade.java
+++ b/appserver/web/war-util/src/main/java/org/glassfish/web/loader/LogFacade.java
@@ -35,7 +35,7 @@
"org.glassfish.web.loader.LogMessages";
@LoggerInfo(subsystem="WEB", description="WEB Util Logger", publish=true)
- private static final String WEB_UTIL_LOGGER = "javax.enterprise.web.util";
+ private static final String WEB_UTIL_LOGGER = "jakarta.enterprise.web.util";
public static final Logger LOGGER =
Logger.getLogger(WEB_UTIL_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/web/war-util/src/main/resources/com/sun/logging/enterprise/system/container/web/LogStrings.properties b/appserver/web/war-util/src/main/resources/com/sun/logging/enterprise/system/container/web/LogStrings.properties
index 987b933..71d920c 100644
--- a/appserver/web/war-util/src/main/resources/com/sun/logging/enterprise/system/container/web/LogStrings.properties
+++ b/appserver/web/war-util/src/main/resources/com/sun/logging/enterprise/system/container/web/LogStrings.properties
@@ -14,7 +14,7 @@
# SPDX-License-Identifier: EPL-2.0 OR GPL-2.0 WITH Classpath-exception-2.0
#
-# Log messages used by the javax.enterprise.system.container.web logger
+# Log messages used by the jakarta.enterprise.system.container.web logger
# LogDomains.WEB_LOGGER, subsystem WEB.
# See java.text.MessageFormat for details on constructing messages.
# Messages in this file must be of the form
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/LogFacade.java b/appserver/web/web-core/src/main/java/org/apache/catalina/LogFacade.java
index 6a43bf4..d432ae1 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/LogFacade.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/LogFacade.java
@@ -34,7 +34,7 @@
"org.apache.catalina.core.LogMessages";
@LoggerInfo(subsystem = "WEB", description = "WEB Core Logger", publish = true)
- private static final String WEB_CORE_LOGGER = "javax.enterprise.web.core";
+ private static final String WEB_CORE_LOGGER = "jakarta.enterprise.web.core";
private static final Logger LOGGER =
Logger.getLogger(WEB_CORE_LOGGER, SHARED_LOG_MESSAGE_RESOURCE);
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/authenticator/AuthenticatorBase.java b/appserver/web/web-core/src/main/java/org/apache/catalina/authenticator/AuthenticatorBase.java
index 030f2b7..6dc4986 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/authenticator/AuthenticatorBase.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/authenticator/AuthenticatorBase.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997-2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997-2020 Oracle and/or its affiliates. All rights reserved.
* Copyright 2004 The Apache Software Foundation
*
* Licensed under the Apache License, Version 2.0 (the "License");
@@ -18,24 +18,39 @@
package org.apache.catalina.authenticator;
import static com.sun.logging.LogCleanerUtil.neutralizeForLog;
-import org.apache.catalina.*;
+
+import java.io.IOException;
+import java.lang.reflect.Method;
+import java.security.Principal;
+import java.security.SecureRandom;
+import java.text.MessageFormat;
+import java.util.ResourceBundle;
+import java.util.logging.Level;
+import java.util.logging.Logger;
+
+import org.apache.catalina.Auditor;
+import org.apache.catalina.Authenticator;
+import org.apache.catalina.Container;
+import org.apache.catalina.Context;
+import org.apache.catalina.HttpRequest;
+import org.apache.catalina.HttpResponse;
+import org.apache.catalina.LifecycleException;
+import org.apache.catalina.LogFacade;
+import org.apache.catalina.Pipeline;
+import org.apache.catalina.Realm;
+import org.apache.catalina.Request;
+import org.apache.catalina.Response;
+import org.apache.catalina.Session;
import org.apache.catalina.core.StandardHost;
import org.apache.catalina.deploy.LoginConfig;
import org.apache.catalina.deploy.SecurityConstraint;
import org.apache.catalina.valves.ValveBase;
import org.glassfish.web.valve.GlassFishValve;
-import java.security.SecureRandom;
+
import jakarta.servlet.ServletException;
import jakarta.servlet.http.Cookie;
import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse;
-import java.io.IOException;
-import java.lang.reflect.Method;
-import java.security.Principal;
-import java.text.MessageFormat;
-import java.util.ResourceBundle;
-import java.util.logging.Level;
-import java.util.logging.Logger;
/**
* Basic implementation of the <b>Valve</b> interface that enforces the
@@ -65,8 +80,8 @@
*/
// START CR 6411114
implements Authenticator {
- // END CR 6411114
-
+ // END CR 6411114
+
// ----------------------------------------------------- Static Variables
protected static final Logger log = LogFacade.getLogger();
@@ -83,12 +98,12 @@
* session identifier.
*/
protected static final int SESSION_ID_BYTES = 16;
-
+
/**
* Authentication header
*/
protected static final String AUTH_HEADER_NAME = "WWW-Authenticate";
-
+
/**
* Default authentication realm name.
@@ -114,7 +129,7 @@
* an HTTP session?
*/
protected boolean cache = true;
-
+
/**
* Should the session ID, if any, be changed upon a successful
* authentication to prevent a session fixation attack?
@@ -126,51 +141,51 @@
* The Context to which this Valve is attached.
*/
protected Context context = null;
-
-
+
+
/**
* A String initialization parameter used to increase the entropy of
* the initialization of our random number generator.
*/
protected String entropy = null;
-
+
/**
* Flag to determine if we disable proxy caching, or leave the issue
* up to the webapp developer.
*/
protected boolean disableProxyCaching = true;
-
+
/**
* The lifecycle event support for this component.
*/
/** CR 6411114 (Lifecycle implementation moved to ValveBase)
protected LifecycleSupport lifecycle = new LifecycleSupport(this);
*/
-
+
/**
* A random number generator to use when generating session identifiers.
*/
protected SecureRandom random = null;
-
+
/**
* The Java class name of the random number generator class to be used
* when generating session identifiers.
*/
protected String randomClass = SecureRandom.class.getName();
-
+
/**
* The SingleSignOn implementation in our request processing chain,
* if there is one.
*/
protected SingleSignOn sso = null;
-
+
/**
* Has this component been started?
*/
/** CR 6411114 (Lifecycle implementation moved to ValveBase)
protected boolean started = false;
*/
-
+
/**
* "Expires" header always set to Date(1), so generate once only
*/
@@ -184,10 +199,10 @@
/**
* Flag to determine if we disable proxy caching with headers incompatible
- * with IE
+ * with IE
*/
protected boolean securePagesWithPragma = true;
-
+
// ------------------------------------------------------------- Properties
public boolean getAlwaysUseSession() {
@@ -206,8 +221,8 @@
public boolean getCache() {
return (this.cache);
}
-
-
+
+
/**
* Set the cache authenticated Principals flag.
*
@@ -216,65 +231,69 @@
public void setCache(boolean cache) {
this.cache = cache;
}
-
-
+
+
/**
* Return the Container to which this Valve is attached.
*/
+ @Override
public Container getContainer() {
return (this.context);
}
-
-
+
+
/**
* Set the Container to which this Valve is attached.
*
* @param container The container to which we are attached
*/
+ @Override
public void setContainer(Container container) {
-
+
if (!(container instanceof Context))
throw new IllegalArgumentException
(rb.getString(LogFacade.CONFIG_ERROR_MUST_ATTACH_TO_CONTEXT));
-
+
super.setContainer(container);
this.context = (Context) container;
- this.securePagesWithPragma = context.isSecurePagesWithPragma();
+ this.securePagesWithPragma = context.isSecurePagesWithPragma();
}
-
-
+
+
/**
* Return the debugging detail level for this component.
*/
+ @Override
public int getDebug() {
return (this.debug);
}
-
-
+
+
/**
* Set the debugging detail level for this component.
*
* @param debug The new debugging detail level
*/
+ @Override
public void setDebug(int debug) {
this.debug = debug;
}
-
-
+
+
/**
* Return the entropy increaser value, or compute a semi-useful value
* if this String has not yet been set.
*/
public String getEntropy() {
-
+
// Calculate a semi-useful value if this has not been set
if (this.entropy == null)
setEntropy(this.toString());
-
- return (this.entropy);
+
+ return (this.entropy);
}
-
-
+
+
/**
* Set the entropy increaser value.
*
@@ -283,8 +302,8 @@
public void setEntropy(String entropy) {
this.entropy = entropy;
}
-
-
+
+
/**
* Return descriptive information about this Valve implementation.
*/
@@ -292,16 +311,16 @@
public String getInfo() {
return (this.info);
}
-
-
+
+
/**
* Return the random number generator class name.
*/
public String getRandomClass() {
return (this.randomClass);
}
-
-
+
+
/**
* Set the random number generator class name.
*
@@ -310,7 +329,7 @@
public void setRandomClass(String randomClass) {
this.randomClass = randomClass;
}
-
+
/**
* Return the flag that states if we add headers to disable caching by
* proxies.
@@ -318,7 +337,7 @@
public boolean getDisableProxyCaching() {
return disableProxyCaching;
}
-
+
/**
* Set the value of the flag that states if we add headers to disable
* caching by proxies.
@@ -328,7 +347,7 @@
public void setDisableProxyCaching(boolean nocache) {
disableProxyCaching = nocache;
}
-
+
/**
* Return the flag that states, if proxy caching is disabled, what headers
@@ -342,18 +361,18 @@
/**
* Set the value of the flag that states what headers we add to disable
* proxy caching.
- * @param securePagesWithPragma <code>true</code> if we add headers which
+ * @param securePagesWithPragma <code>true</code> if we add headers which
* are incompatible with downloading office documents in IE under SSL but
* which fix a caching problem in Mozilla.
*/
public void setSecurePagesWithPragma(boolean securePagesWithPragma) {
this.securePagesWithPragma = securePagesWithPragma;
- }
+ }
/**
* Return the flag that states if we should change the session ID of an
* existing session upon successful authentication.
- *
+ *
* @return <code>true</code> to change session ID upon successful
* authentication, <code>false</code> to do not perform the change.
*/
@@ -364,7 +383,7 @@
/**
* Set the value of the flag that states if we should change the session ID
* of an existing session upon successful authentication.
- *
+ *
* @param changeSessionIdOnAuthentication
* <code>true</code> to change session ID upon successful
* authentication, <code>false</code> to do not perform the
@@ -384,8 +403,8 @@
}
// --------------------------------------------------------- Public Methods
-
-
+
+
/**
* Enforce the security restrictions in the web application deployment
* descriptor of our associated Context.
@@ -399,10 +418,10 @@
@Override
public int invoke(Request request, Response response)
throws IOException, ServletException {
-
+
// START GlassFish 247
if (!context.getAvailable()) {
- try {
+ try {
((HttpServletResponse) response.getResponse())
.sendError(HttpServletResponse.SC_SERVICE_UNAVAILABLE);
} catch (IllegalStateException e) {
@@ -411,9 +430,9 @@
;
}
return END_PIPELINE;
- }
+ }
// END GlassFish 247
-
+
/* GlassFish 6386229
// If this is not an HTTP request, do nothing
if (!(request instanceof HttpRequest) ||
@@ -425,7 +444,7 @@
return INVOKE_NEXT;
}
*/
-
+
HttpRequest hrequest = (HttpRequest) request;
HttpResponse hresponse = (HttpResponse) response;
if (log.isLoggable(Level.FINE)) {
@@ -436,7 +455,7 @@
log.log(Level.FINE, neutralizeForLog(msg));
}
LoginConfig config = this.context.getLoginConfig();
-
+
// Have we got a cached authenticated Principal to record?
if (cache) {
Principal principal =
@@ -459,19 +478,19 @@
}
}
}
-
+
Realm realm = this.context.getRealm();
// Is this request URI subject to a security constraint?
SecurityConstraint [] constraints = realm.
findSecurityConstraints(hrequest, this.context);
-
+
if ((constraints == null) /* &&
(!Constants.FORM_METHOD.equals(config.getAuthMethod())) */ ) {
if (log.isLoggable(Level.FINE))
log.log(Level.FINE, " Not subject to any constraint");
return processSecurityCheck(hrequest,hresponse,config);
}
-
+
// Make sure that constrained resources are not cached by web proxies
// or browsers as caching can provide a security hole
//START SJSAS 6202703
@@ -489,7 +508,7 @@
}
*/
//END SJSAS 6202703
-
+
if (log.isLoggable(Level.FINE))
log.log(Level.FINE, " Calling hasUserDataPermission()");
@@ -500,7 +519,7 @@
// HTTP status code, so we do not have to do anything special
return END_PIPELINE;
}
-
+
//START SJSAS 6202703
/*
for(int i=0; i < constraints.length; i++) {
@@ -508,7 +527,7 @@
if (constraints[i].getAuthConstraint()) {
if (log.isDebugEnabled())
log.debug(" Calling authenticate()");
-
+
if (!authenticate(hrequest, hresponse, config)) {
if (log.isDebugEnabled())
log.debug(" Failed authenticate() test");
@@ -526,7 +545,7 @@
int preAuthenticateCheckResult = realm.preAuthenticateCheck(
hrequest, hresponse, constraints, disableProxyCaching,
securePagesWithPragma, (sso != null));
-
+
if(preAuthenticateCheckResult == Realm.AUTHENTICATE_NOT_NEEDED) {
return processSecurityCheck(hrequest,hresponse,config);
} else if(preAuthenticateCheckResult == Realm.AUTHENTICATE_NEEDED) {
@@ -573,7 +592,7 @@
*/
return END_PIPELINE;
}
-
+
// START IASRI 4823322
Auditor[] auditors = this.context.getAuditors();
if (auditors != null) {
@@ -590,7 +609,7 @@
}
}
// END IASRI 4823322
-
+
// Any and all specified constraints have been satisfied
if (log.isLoggable(Level.FINE))
log.log(Level.FINE, "Successfully passed all security constraints");
@@ -604,7 +623,7 @@
* is used for request processing.
*/
@Override
- public void postInvoke(Request request, Response response)
+ public void postInvoke(Request request, Response response)
throws IOException, ServletException {
Realm realm = this.context.getRealm();
HttpRequest hrequest = (HttpRequest) request;
@@ -618,12 +637,12 @@
realm.invokePostAuthenticateDelegate(hrequest, hresponse, context);
}
}
-
+
// ------------------------------------------------------ Protected Methods
-
-
-
-
+
+
+
+
/**
* Associate the specified single sign on identifier with the
* specified Session.
@@ -634,14 +653,14 @@
*/
protected void associate(String ssoId, long ssoVersion,
Session session) {
-
+
if (sso == null)
return;
sso.associate(ssoId, ssoVersion, session);
-
+
}
-
-
+
+
/**
* Authenticate the user making this request, based on the specified
* login configuration. Return <code>true</code> if any specified
@@ -667,18 +686,18 @@
LoginConfig config)
throws IOException;
//END SJSAS 6202703
-
-
+
+
/**
* Generate and return a new session identifier for the cookie that
* identifies an SSO principal.
*/
protected synchronized String generateSessionId() {
-
+
// Generate a byte array containing a session identifier
byte bytes[] = new byte[SESSION_ID_BYTES];
getRandom().nextBytes(bytes);
-
+
// Render the result as a String of hexadecimal digits
StringBuilder result = new StringBuilder();
for (int i = 0; i < bytes.length; i++) {
@@ -694,17 +713,17 @@
result.append((char) ('A' + (b2 - 10)));
}
return (result.toString());
-
+
}
-
-
+
+
/**
* Return the random number generator instance we should use for
* generating session identifiers. If there is no such generator
* currently defined, construct and seed a new one.
*/
protected synchronized SecureRandom getRandom() {
-
+
if (this.random == null) {
try {
Class clazz = Class.forName(randomClass);
@@ -720,12 +739,12 @@
this.random = new SecureRandom();
}
}
-
+
return (this.random);
-
+
}
-
-
+
+
/**
* Return the internal Session that is associated with this HttpRequest,
* or <code>null</code> if there is no such Session.
@@ -733,12 +752,12 @@
* @param request The HttpRequest we are processing
*/
protected Session getSession(HttpRequest request) {
-
+
return (getSession(request, false));
-
+
}
-
-
+
+
/**
* Return the internal Session that is associated with this HttpRequest,
* possibly creating a new one if necessary, or <code>null</code> if
@@ -748,12 +767,12 @@
* @param create Should we create a session if needed?
*/
protected Session getSession(HttpRequest request, boolean create) {
-
+
return request.getSessionInternal(create);
-
+
}
-
-
+
+
/**
* Log a message on the Logger associated with our Container (if any).
*
@@ -771,8 +790,8 @@
}
}
}
-
-
+
+
/**
* Log a message on the Logger associated with our Container (if any).
*
@@ -791,8 +810,8 @@
log.log(Level.WARNING, msg, t);
}
}
-
-
+
+
/**
* Register an authenticated Principal and authentication type in our
* request, in the current session (if there is one), and with our
@@ -809,7 +828,7 @@
protected void register(HttpRequest request, HttpResponse response,
Principal principal, String authType,
String username, char[] password) {
-
+
if (log.isLoggable(Level.FINE)) {
String pname = ((principal != null) ? principal.getName() : "[null principal]");
String msg = "Authenticated '" + pname + "' with type '"
@@ -826,7 +845,7 @@
} else if (alwaysUseSession) {
session = getSession(request, true);
}
-
+
// Cache the authentication information in our session, if any
if (cache) {
if (session != null) {
@@ -842,7 +861,7 @@
session.removeNote(Constants.SESS_PASSWORD_NOTE);
}
}
-
+
// Construct a cookie to be returned to the client
if (sso == null)
return;
@@ -881,12 +900,12 @@
assert(realm != null);
sso.register(value, principal, authType, username, password, realm);
// END S1AS8 PE 4856080,4918627
-
+
request.setNote(Constants.REQ_SSOID_NOTE, value);
if (sso.isVersioningSupported()) {
request.setNote(Constants.REQ_SSO_VERSION_NOTE, Long.valueOf(0));
}
-
+
}
@Override
@@ -929,12 +948,12 @@
register(request, (HttpResponse)request.getResponse(), null,
null, null, null);
}
-
+
// ------------------------------------------------------ Private Methods
private int processSecurityCheck(HttpRequest hrequest,
HttpResponse hresponse,
- LoginConfig config)
+ LoginConfig config)
throws IOException {
// Special handling for form-based logins to deal with the case
@@ -942,7 +961,7 @@
// to which it submits) might be outside the secured area
String contextPath = this.context.getPath();
String requestURI = hrequest.getDecodedRequestURI();
- if (requestURI.startsWith(contextPath) &&
+ if (requestURI.startsWith(contextPath) && this.getClass().equals(FormAuthenticator.class) &&
requestURI.endsWith(Constants.FORM_ACTION)) {
if (!authenticate(hrequest, hresponse, config)) {
if (log.isLoggable(Level.FINE)) {
@@ -954,10 +973,10 @@
}
return INVOKE_NEXT;
}
-
+
// ------------------------------------------------------ Lifecycle Methods
-
-
+
+
/**
* Add a lifecycle event listener to this component.
*
@@ -965,26 +984,26 @@
*/
/** CR 6411114 (Lifecycle implementation moved to ValveBase)
public void addLifecycleListener(LifecycleListener listener) {
-
+
lifecycle.addLifecycleListener(listener);
-
+
}
*/
-
+
/**
* Get the lifecycle listeners associated with this lifecycle. If this
* Lifecycle has no listeners registered, a zero-length array is returned.
*/
/** CR 6411114 (Lifecycle implementation moved to ValveBase)
public LifecycleListener[] findLifecycleListeners() {
-
+
return lifecycle.findLifecycleListeners();
-
+
}
*/
-
+
/**
* Remove a lifecycle event listener from this component.
*
@@ -992,13 +1011,13 @@
*/
/** CR 6411114 (Lifecycle implementation moved to ValveBase)
public void removeLifecycleListener(LifecycleListener listener) {
-
+
lifecycle.removeLifecycleListener(listener);
-
+
}
*/
-
+
/**
* Prepare for the beginning of active use of the public methods of this
* component. This method should be called after <code>configure()</code>,
@@ -1007,6 +1026,7 @@
* @exception LifecycleException if this component detects a fatal error
* that prevents this component from being used
*/
+ @Override
public void start() throws LifecycleException {
// START CR 6411114
if (started) // Ignore multiple starts
@@ -1055,10 +1075,10 @@
else
log.log(Level.FINE, "No SingleSignOn Valve is present");
}
-
+
}
-
-
+
+
/**
* Gracefully terminate the active use of the public methods of this
* component. This method should be the last one called on a given
@@ -1078,7 +1098,7 @@
// START CR 6411114
super.stop();
// END CR 6411114
-
+
}
// BEGIN S1AS8 PE 4856062,4918627
/**
@@ -1088,10 +1108,10 @@
* @param name the name of the realm.
*/
public void setRealmName(String name) {
-
+
}
-
-
+
+
/**
* Returns the name of the associated realm. Always returns null unless
* subclass overrides behavior.
@@ -1102,5 +1122,5 @@
return null;
}
// END S1AS8 PE 4856062,4918627
-
+
}
diff --git a/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java b/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java
index 751e7ef..cb967fb 100644
--- a/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java
+++ b/appserver/web/web-core/src/main/java/org/apache/catalina/core/Constants.java
@@ -21,7 +21,7 @@
public class Constants {
public static final String Package = "org.apache.catalina.core";
- public static final int MAJOR_VERSION = 4;
+ public static final int MAJOR_VERSION = 5;
public static final int MINOR_VERSION = 0;
public static final String JSP_SERVLET_CLASS =
diff --git a/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml b/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml
index 46f9078..031db98 100644
--- a/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml
+++ b/appserver/web/web-embed/api/src/main/resources/org/glassfish/web/embed/default-web.xml
@@ -33,7 +33,7 @@
<!-- Init parameter to force the XML validation of JSF configuration -->
- <!-- ressources. -->
+ <!-- resources. -->
<context-param>
<param-name>com.sun.faces.validateXml</param-name>
@@ -53,7 +53,7 @@
<!-- ================== Built In Servlet Definitions ==================== -->
- <!-- The DefaultDervlet, which is responsible for serving static -->
+ <!-- The DefaultServlet, which is responsible for serving static -->
<!-- resources. -->
<!-- This servlet processes any requests that are not mapped to other -->
<!-- servlets with servlet mappings (defined either here or in your own -->
diff --git a/appserver/web/web-glue/pom.xml b/appserver/web/web-glue/pom.xml
index 9b22437..3a370db 100755
--- a/appserver/web/web-glue/pom.xml
+++ b/appserver/web/web-glue/pom.xml
@@ -136,21 +136,13 @@
<artifactId>deployment-javaee-core</artifactId>
<version>${project.version}</version>
</dependency>
- <!--
<dependency>
- since our minimum requirement is still JDK5,
- we need this dependency. When we we switch
- to minimum JDK6 (which we do at some point toward EE6),
- we can remove this.
- <groupId>org.glassfish.external</groupId>
- <artifactId>ant</artifactId>
- <version>${ant.version}</version>
+ <groupId>org.glassfish.wasp</groupId>
+ <artifactId>wasp</artifactId>
</dependency>
- -->
-
<dependency>
- <groupId>org.glassfish.web</groupId>
- <artifactId>jakarta.servlet.jsp</artifactId>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
</dependency>
<dependency>
<groupId>org.glassfish</groupId>
diff --git a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java
index 5133b5e..f1ebc24 100644
--- a/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java
+++ b/appserver/web/web-glue/src/main/java/com/sun/enterprise/web/WebModule.java
@@ -286,7 +286,6 @@
if (defaultCharset != null) {
setRequestCharacterEncoding(defaultCharset);
- setResponseCharacterEncoding(defaultCharset);
}
}
@@ -502,14 +501,6 @@
if (webBundleDescriptor != null) {
showArchivedRealPathEnabled = webBundleDescriptor.isShowArchivedRealPathEnabled();
servletReloadCheckSecs = webBundleDescriptor.getServletReloadCheckSecs();
- String reqEncoding = webBundleDescriptor.getRequestCharacterEncoding();
- if (reqEncoding != null) {
- setRequestCharacterEncoding(reqEncoding);
- }
- String resEncoding = webBundleDescriptor.getResponseCharacterEncoding();
- if (resEncoding != null) {
- setResponseCharacterEncoding(resEncoding);
- }
}
// Start and register Tomcat mbeans
diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/LogFacade.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/LogFacade.java
index ae05f42..7263dbb 100644
--- a/appserver/web/web-glue/src/main/java/org/glassfish/web/LogFacade.java
+++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/LogFacade.java
@@ -34,7 +34,7 @@
"com.sun.enterprise.web.LogMessages";
@LoggerInfo(subsystem="WEB", description="Main WEB Logger", publish=true)
- public static final String WEB_MAIN_LOGGER = "javax.enterprise.web";
+ public static final String WEB_MAIN_LOGGER = "jakarta.enterprise.web";
public static final Logger LOGGER =
Logger.getLogger(WEB_MAIN_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebBundleNode.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebBundleNode.java
index a636301..43b42f8 100644
--- a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebBundleNode.java
+++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebBundleNode.java
@@ -53,7 +53,8 @@
public final static String SCHEMA_ID_25 = "web-app_2_5.xsd";
public final static String SCHEMA_ID_30 = "web-app_3_0.xsd";
public final static String SCHEMA_ID_31 = "web-app_3_1.xsd";
- public final static String SCHEMA_ID = "web-app_4_0.xsd";
+ public final static String SCHEMA_ID_40 = "web-app_4_0.xsd";
+ public final static String SCHEMA_ID = "web-app_5_0.xsd";
private final static List<String> systemIDs = initSystemIDs();
@@ -64,6 +65,7 @@
systemIDs.add(SCHEMA_ID_25);
systemIDs.add(SCHEMA_ID_30);
systemIDs.add(SCHEMA_ID_31);
+ systemIDs.add(SCHEMA_ID_40);
return Collections.unmodifiableList(systemIDs);
}
diff --git a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebCommonNode.java b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebCommonNode.java
index 6a16fc1..314918c 100644
--- a/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebCommonNode.java
+++ b/appserver/web/web-glue/src/main/java/org/glassfish/web/deployment/node/WebCommonNode.java
@@ -39,7 +39,7 @@
* @version
*/
public abstract class WebCommonNode<T extends WebBundleDescriptorImpl> extends AbstractBundleNode<T> {
- public final static String SPEC_VERSION = "4.0";
+ public final static String SPEC_VERSION = "5.0";
protected T descriptor;
private Map<String, Vector<String>> servletMappings;
diff --git a/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/LogFacade.java b/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/LogFacade.java
index ef42d38..16e8284 100644
--- a/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/LogFacade.java
+++ b/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/LogFacade.java
@@ -37,7 +37,7 @@
"org.glassfish.web.ha.session.management.LogMessages";
@LoggerInfo(subsystem="WEB", description="WEB HA Logger", publish=true)
- private static final String WEB_HA_LOGGER = "javax.enterprise.web.ha";
+ private static final String WEB_HA_LOGGER = "jakarta.enterprise.web.ha";
private static final Logger LOGGER =
Logger.getLogger(WEB_HA_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/session/management/LogStrings.properties b/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/session/management/LogStrings.properties
index dcbe5d6..35daa56 100644
--- a/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/session/management/LogStrings.properties
+++ b/appserver/web/web-ha/src/main/java/org/glassfish/web/ha/session/management/LogStrings.properties
@@ -15,7 +15,7 @@
#
-# Log messages used by the javax.enterprise.system.container.web logger
+# Log messages used by the jakarta.enterprise.system.container.web logger
# LogDomains.WEB_LOGGER, subsystem WEB.
# See java.text.MessageFormat for details on constructing messages.
# Messages in this file must be of the form
diff --git a/appserver/web/web-naming/src/main/java/org/apache/naming/LogFacade.java b/appserver/web/web-naming/src/main/java/org/apache/naming/LogFacade.java
index 5f99be5..15913ad 100644
--- a/appserver/web/web-naming/src/main/java/org/apache/naming/LogFacade.java
+++ b/appserver/web/web-naming/src/main/java/org/apache/naming/LogFacade.java
@@ -35,7 +35,7 @@
"org.apache.naming.resources.LogMessages";
@LoggerInfo(subsystem="WEB", description="WEB Naming Logger", publish=true)
- public static final String WEB_NAMING_LOGGER = "javax.enterprise.web.naming";
+ public static final String WEB_NAMING_LOGGER = "jakarta.enterprise.web.naming";
public static final Logger LOGGER =
Logger.getLogger(WEB_NAMING_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/web/weld-integration/pom.xml b/appserver/web/weld-integration/pom.xml
index eca760d..621498f 100644
--- a/appserver/web/weld-integration/pom.xml
+++ b/appserver/web/weld-integration/pom.xml
@@ -111,7 +111,7 @@
<artifactId>weld-spi</artifactId>
</exclusion>
<exclusion>
- <groupId>javax.enterprise</groupId>
+ <groupId>jakarta.enterprise</groupId>
<artifactId>cdi-api</artifactId>
</exclusion>
<exclusion>
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorBase.java b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorBase.java
index d3034c8..2fa01e8 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorBase.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/cdi/transaction/TransactionalInterceptorBase.java
@@ -50,7 +50,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.cdi.LogMessages";
@LoggerInfo(subsystem = "AS-CDI-JTA", description = "CDI-JTA", publish = true)
- public static final String CDI_JTA_LOGGER_SUBSYSTEM_NAME = "javax.enterprise.resource.jta";
+ public static final String CDI_JTA_LOGGER_SUBSYSTEM_NAME = "jakarta.enterprise.resource.jta";
private static final Logger _logger = Logger.getLogger(CDI_JTA_LOGGER_SUBSYSTEM_NAME,
SHARED_LOGMESSAGE_RESOURCE);
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/EjbServicesImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/EjbServicesImpl.java
index 0466658..d7dfcff 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/EjbServicesImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/EjbServicesImpl.java
@@ -22,15 +22,6 @@
import java.util.logging.Level;
import java.util.logging.Logger;
-import jakarta.annotation.PostConstruct;
-import jakarta.annotation.PreDestroy;
-import jakarta.ejb.PostActivate;
-import jakarta.ejb.PrePassivate;
-import jakarta.enterprise.inject.spi.InterceptionType;
-import jakarta.enterprise.inject.spi.Interceptor;
-import jakarta.interceptor.AroundConstruct;
-import jakarta.interceptor.AroundInvoke;
-import jakarta.interceptor.AroundTimeout;
import javax.naming.InitialContext;
import javax.naming.NamingException;
@@ -49,10 +40,20 @@
import com.sun.enterprise.deployment.EjbSessionDescriptor;
import com.sun.enterprise.deployment.LifecycleCallbackDescriptor;
+import jakarta.annotation.PostConstruct;
+import jakarta.annotation.PreDestroy;
+import jakarta.ejb.PostActivate;
+import jakarta.ejb.PrePassivate;
+import jakarta.enterprise.inject.spi.InterceptionType;
+import jakarta.enterprise.inject.spi.Interceptor;
+import jakarta.interceptor.AroundConstruct;
+import jakarta.interceptor.AroundInvoke;
+import jakarta.interceptor.AroundTimeout;
+
/**
- * An implementation of th <code>EJBServices</code> Weld SPI. The Weld
+ * An implementation of th <code>EJBServices</code> Weld SPI. The Weld
* implementation uses this SPI to resolve EJB and register CDI Interceptors
- * for EJBs.
+ * for EJBs.
*/
public class EjbServicesImpl implements EjbServices {
private ServiceLocator services;
@@ -66,10 +67,11 @@
* Request a reference to an EJB session object from the container. If the
* EJB being resolved is a stateful session bean, the container should ensure
* the session bean is created before this method returns.
- *
+ *
* @param ejbDescriptor the ejb to resolve
* @return a reference to the session object
*/
+ @Override
public SessionObjectReference resolveEjb(EjbDescriptor<?> ejbDescriptor) {
SessionObjectReference sessionObj = null;
@@ -101,7 +103,7 @@
return sessionObj;
}
-
+
private String getDefaultGlobalJndiName(EjbDescriptor<?> ejbDesc) {
@@ -122,16 +124,16 @@
}
+ @Override
public void registerInterceptors(EjbDescriptor<?> ejbDesc, InterceptorBindings interceptorBindings) {
//no need to continue with this work around as jboss has provided the resolution for https://issues.jboss.org/browse/WELD-2184
-
+
// Work around bug that ejbDesc might be internal 299 descriptor.
/* if( ejbDesc instanceof org.jboss.weld.module.ejb.InternalEjbDescriptor ) {
ejbDesc = ((org.jboss.weld.module.ejb.InternalEjbDescriptor<?>)ejbDesc).delegate();
}*/
- com.sun.enterprise.deployment.EjbDescriptor glassfishEjbDesc = (com.sun.enterprise.deployment.EjbDescriptor)
- ((EjbDescriptorImpl<?>) ejbDesc).getEjbDescriptor();
+ com.sun.enterprise.deployment.EjbDescriptor glassfishEjbDesc = ((EjbDescriptorImpl<?>) ejbDesc).getEjbDescriptor();
// Convert to EjbInterceptor
// First create master list of EjbInterceptor descriptors
@@ -189,7 +191,7 @@
// 299-provided list is organized as per-method. Append each method chain to EjbDescriptor.
-
+
Class<?> ejbBeanClass = null;
try {
@@ -199,7 +201,7 @@
throw new IllegalStateException("Cannot load bean class " + glassfishEjbDesc.getEjbClassName(),
cnfe);
}
-
+
Class<?> ejbBeanSuperClass = ejbBeanClass;
while (!ejbBeanSuperClass.equals(java.lang.Object.class)) {
for(Method m : ejbBeanSuperClass.getDeclaredMethods()) {
@@ -343,7 +345,7 @@
EjbInterceptor ejbInt = new EjbInterceptor();
ejbInt.setBundleDescriptor(bundle);
- ejbInt.setInterceptorClassName(interceptor.getBeanClass().getName());
+ ejbInt.setInterceptorClass(interceptor.getBeanClass());
ejbInt.setCDIInterceptor(true);
ejbInt.setInterceptor( interceptor );
@@ -351,6 +353,7 @@
}
+ @Override
public void cleanup() {
//Nothing to do here.
}
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java
index 0f6ceec..4728096 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/JCDIServiceImpl.java
@@ -71,6 +71,7 @@
import java.util.logging.Logger;
import org.glassfish.logging.annotation.LogMessagesResourceBundle;
import org.glassfish.logging.annotation.LoggerInfo;
+import org.jboss.weld.manager.api.WeldInjectionTarget;
@Service
@@ -106,7 +107,7 @@
private InvocationManager invocationManager;
@LoggerInfo(subsystem = "AS-WELD", description = "WELD", publish = true)
- public static final String WELD_LOGGER_SUBSYSTEM_NAME = "javax.enterprise.resource.weld";
+ public static final String WELD_LOGGER_SUBSYSTEM_NAME = "jakarta.enterprise.resource.weld";
private static final Logger logger = Logger.getLogger(WELD_LOGGER_SUBSYSTEM_NAME,
SHARED_LOGMESSAGE_RESOURCE);
@@ -216,7 +217,14 @@
}
// Create the injection target
- InjectionTarget it = weldManager.createInjectionTarget(ejbDesc);
+
+ InjectionTarget it = null;
+ if (ejbDesc.isMessageDriven()) {
+ // message driven beans are non-contextual and therefore createInjectionTarget is not appropriate
+ it = createMdbInjectionTarget(weldManager, ejbDesc);
+ } else {
+ it = weldManager.createInjectionTarget(ejbDesc);
+ }
if (null != jcdiCtx) {
jcdiCtx.setInjectionTarget( it );
}
@@ -244,6 +252,17 @@
return jcdiCtx;
// Injection is not performed yet. Separate injectEJBInstance() call is required.
}
+
+ private <T> InjectionTarget<T> createMdbInjectionTarget(WeldManager weldManager, org.jboss.weld.ejb.spi.EjbDescriptor<T> ejbDesc) {
+ AnnotatedType<T> type = weldManager.createAnnotatedType(ejbDesc.getBeanClass());
+ WeldInjectionTarget<T> target = weldManager.createInjectionTargetBuilder(type)
+ .setDecorationEnabled(false)
+ .setInterceptionEnabled(false)
+ .setTargetClassLifecycleCallbacksEnabled(false)
+ .setBean(weldManager.getBean(ejbDesc))
+ .build();
+ return weldManager.fireProcessInjectionTarget(type, target);
+ }
private BeanDeploymentArchive getBDAForBeanClass(BundleDescriptor bundleDesc, String beanClassName){
if (logger.isLoggable(Level.FINE)) {
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/SecurityServicesImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/SecurityServicesImpl.java
index a02103f..dea1ec0 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/SecurityServicesImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/SecurityServicesImpl.java
@@ -18,14 +18,53 @@
import com.sun.enterprise.security.SecurityContext;
import java.security.Principal;
+import java.util.function.Consumer;
+
import org.jboss.weld.security.spi.SecurityServices;
public class SecurityServicesImpl implements SecurityServices {
+ @Override
public Principal getPrincipal() {
return SecurityContext.getCurrent().getCallerPrincipal();
}
+ @Override
public void cleanup() {}
-}
+ @Override
+ public org.jboss.weld.security.spi.SecurityContext getSecurityContext() {
+ return new SecurityContextImpl();
+ }
+
+ static class SecurityContextImpl implements org.jboss.weld.security.spi.SecurityContext {
+
+ private final SecurityContext myContext;
+ private SecurityContext oldContext;
+
+ private SecurityContextImpl() {
+ this.myContext = SecurityContext.getCurrent();
+ }
+
+ @Override
+ public void associate() {
+ if (oldContext == null) {
+ oldContext = SecurityContext.getCurrent();
+ } else {
+ throw new IllegalStateException("Security context is already associated");
+ }
+ SecurityContext.setCurrent(myContext);
+ }
+
+ @Override
+ public void dissociate() {
+ SecurityContext.setCurrent(oldContext);
+ oldContext = null;
+ }
+
+ @Override
+ public void close() {
+
+ }
+ }
+}
diff --git a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/WsInjectionHandlerImpl.java b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/WsInjectionHandlerImpl.java
index 3efbe59..3094689 100644
--- a/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/WsInjectionHandlerImpl.java
+++ b/appserver/web/weld-integration/src/main/java/org/glassfish/weld/services/WsInjectionHandlerImpl.java
@@ -30,7 +30,11 @@
@Override
public boolean handles(AnnotatedField annotatedField) {
- return annotatedField.isAnnotationPresent( WebServiceRef.class );
+ try {
+ return annotatedField.isAnnotationPresent( WebServiceRef.class );
+ } catch (NoClassDefFoundError error) { // in web profile class WebServiceRef is not available
+ return false;
+ }
}
@Override
diff --git a/appserver/webservices/connector/src/main/java/org/glassfish/webservices/connector/LogUtils.java b/appserver/webservices/connector/src/main/java/org/glassfish/webservices/connector/LogUtils.java
index 77b3837..c85ef44 100644
--- a/appserver/webservices/connector/src/main/java/org/glassfish/webservices/connector/LogUtils.java
+++ b/appserver/webservices/connector/src/main/java/org/glassfish/webservices/connector/LogUtils.java
@@ -33,7 +33,7 @@
public static final String LOG_MESSAGES = "org.glassfish.webservices.connector.LogMessages";
@LoggerInfo(subsystem = "WEBSERVICES", description = "Web Services Connector Logger", publish = true)
- public static final String LOG_DOMAIN = "javax.enterprise.webservices.connector";
+ public static final String LOG_DOMAIN = "jakarta.enterprise.webservices.connector";
private static final Logger LOGGER = Logger.getLogger(LOG_DOMAIN, LOG_MESSAGES);
diff --git a/appserver/webservices/connector/src/main/java/org/glassfish/webservices/node/WebServicesDescriptorNode.java b/appserver/webservices/connector/src/main/java/org/glassfish/webservices/node/WebServicesDescriptorNode.java
index 42f01aa..7e134fc 100644
--- a/appserver/webservices/connector/src/main/java/org/glassfish/webservices/node/WebServicesDescriptorNode.java
+++ b/appserver/webservices/connector/src/main/java/org/glassfish/webservices/node/WebServicesDescriptorNode.java
@@ -46,10 +46,12 @@
public final static XMLElement ROOT_ELEMENT =
new XMLElement(WebServicesTagNames.WEB_SERVICES);
- public final static String SCHEMA_ID = "javaee_web_services_1_4.xsd";
+ public final static String SCHEMA_ID = "jakartaee_web_services_2_0.xsd";
public final static String SCHEMA_ID_12 = "javaee_web_services_1_2.xsd";
public final static String SCHEMA_ID_13 = "javaee_web_services_1_3.xsd";
- public final static String SPEC_VERSION = "1.3";
+ public final static String SCHEMA_ID_14 = "javaee_web_services_1_4.xsd";
+
+ public final static String SPEC_VERSION = "2.0";
private final static List<String> systemIDs = initSystemIDs();
private static final Logger logger = LogUtils.getLogger();
@@ -58,6 +60,7 @@
sysIDs.add(SCHEMA_ID);
sysIDs.add(SCHEMA_ID_12);
sysIDs.add(SCHEMA_ID_13);
+ sysIDs.add(SCHEMA_ID_14);
return Collections.unmodifiableList(sysIDs);
}
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/LogUtils.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/LogUtils.java
index 06640cf..b5c0c53 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/LogUtils.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/LogUtils.java
@@ -33,7 +33,7 @@
public static final String LOG_MESSAGES = "org.glassfish.webservices.LogMessages";
@LoggerInfo(subsystem = "WEBSERVICES", description = "JSR-109 Implementation Logger", publish = true)
- public static final String LOG_DOMAIN = "javax.enterprise.webservices";
+ public static final String LOG_DOMAIN = "jakarta.enterprise.webservices";
private static final Logger LOGGER = Logger.getLogger(LOG_DOMAIN, LOG_MESSAGES);
diff --git a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java
index 05ee71b..1656b96 100644
--- a/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java
+++ b/appserver/webservices/jsr109-impl/src/main/java/org/glassfish/webservices/WsUtil.java
@@ -544,9 +544,21 @@
WebServiceContractImpl wscImpl = WebServiceContractImpl.getInstance();
ServerEnvironment se = wscImpl.getServerEnvironment();
+ // First look in the root of the deployment
File appFile = new File(se.getApplicationRepositoryPath(), serviceRef.getBundleDescriptor().getApplication().getAppName());
if (appFile.exists()) {
- retVal = new File(appFile, serviceRef.getWsdlFileUri()).toURL();
+ File wsdlFile = new File(appFile, serviceRef.getWsdlFileUri());
+ retVal = wsdlFile.toURI().toURL();
+ if (!wsdlFile.exists()) {
+ // try the module path for example when we are in an EAR file
+ wsdlFile = new File(serviceRef.getBundleDescriptor().getRawModuleID(), serviceRef.getWsdlFileUri());
+ if (!wsdlFile.exists()) {
+ // finally try to load via classloader
+ retVal = Thread.currentThread().getContextClassLoader().getResource(serviceRef.getWsdlFileUri());
+ } else {
+ retVal = wsdlFile.toURI().toURL();
+ }
+ }
} else {
// Fix for 6853656 and 6868695
// In case of appclients the wsdl will be in the classpath
@@ -556,7 +568,7 @@
retVal = Thread.currentThread().getContextClassLoader().getResource(serviceRef.getWsdlFileUri());
}
} else {
- retVal = new File(serviceRef.getWsdlFileUri()).toURL();
+ retVal = new File(serviceRef.getWsdlFileUri()).toURI().toURL();
}
}
}
diff --git a/appserver/webservices/metro-glue/src/main/java/org/glassfish/webservices/metroglue/LogUtils.java b/appserver/webservices/metro-glue/src/main/java/org/glassfish/webservices/metroglue/LogUtils.java
index 333f1d5..550b349 100644
--- a/appserver/webservices/metro-glue/src/main/java/org/glassfish/webservices/metroglue/LogUtils.java
+++ b/appserver/webservices/metro-glue/src/main/java/org/glassfish/webservices/metroglue/LogUtils.java
@@ -33,7 +33,7 @@
public static final String LOG_MESSAGES = "org.glassfish.webservices.metroglue.LogMessages";
@LoggerInfo(subsystem = "WEBSERVICES", description = "Metro Glue Main Logger", publish = true)
- public static final String LOG_DOMAIN = "javax.enterprise.webservices.metroglue";
+ public static final String LOG_DOMAIN = "jakarta.enterprise.webservices.metroglue";
private static final Logger LOGGER = Logger.getLogger(LOG_DOMAIN, LOG_MESSAGES);
diff --git a/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/LogUtils.java b/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/LogUtils.java
index e2196a7..ae9aa71 100644
--- a/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/LogUtils.java
+++ b/appserver/webservices/soap-tcp/src/main/java/org/glassfish/webservices/transport/tcp/LogUtils.java
@@ -33,7 +33,7 @@
public static final String LOG_MESSAGES = "org.glassfish.webservices.transport.tcp.LogMessages";
@LoggerInfo(subsystem = "WEBSERVICES", description = "SOAP/TCP Transport Logger", publish = true)
- public static final String LOG_DOMAIN = "javax.enterprise.webservices.transport.tcp";
+ public static final String LOG_DOMAIN = "jakarta.enterprise.webservices.transport.tcp";
private static final Logger LOGGER = Logger.getLogger(LOG_DOMAIN, LOG_MESSAGES);
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/adding-configuration-data.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/adding-configuration-data.adoc
index 50e1a53..ffd1c43 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/content/adding-configuration-data.adoc
+++ b/docs/add-on-component-development-guide/src/main/jbake/content/adding-configuration-data.adoc
@@ -15,13 +15,11 @@
-------------------------------------------
The configuration data of a component determines the characteristics and
-runtime behavior of a component. GlassFish Server provides interfaces to
+runtime behavior of a component. Eclipse GlassFish provides interfaces to
enable an add-on component to store its configuration data in the same
way as other GlassFish Server components. These interfaces are similar
to interfaces that are defined in
-http://jcp.org/en/jsr/detail?id=222[Java Specification Request (JSR)
-222: Java Architecture for XML Binding (JAXB) 2.0]
-(`http://jcp.org/en/jsr/detail?id=222`). By using these interfaces to
+[Jakarta XML Binding](`https://jakarta.ee/specifications/xml-binding/`). By using these interfaces to
store configuration data, you ensure that the add-on component is fully
integrated with GlassFish Server. As a result, administrators can
configure an add-on component in the same way as they can configure
@@ -333,9 +331,9 @@
attribute is initialized and every time the attribute is changed.
To standardize the validation of configuration data, GlassFish Server
-uses http://jcp.org/en/jsr/detail?id=303[JSR 303: Bean Validation]
-(`http://jcp.org/en/jsr/detail?id=303`) for validating configuration
-data. JSR 303 defines a metadata model and API for the validation of
+uses https://jakarta.ee/specifications/bean-validation/[Jakarta Bean Validation]
+(`https://jakarta.ee/specifications/bean-validation/`) for validating configuration
+data. Jakarta Bean Validation defines a metadata model and API for the validation of
JavaBeans components.
To validate an attribute of an element, annotate the attribute's getter
@@ -343,9 +341,9 @@
that performs the validation that you require. The following table lists
commonly used annotations for validating GlassFish Server configuration
data. For the complete list of annotations, see the
-http://download.oracle.com/docs/cd/E17410_01/javaee/6/api/javax/validation/constraints/package-summary.html[`jakarta.validation.constraints`
+https://jakarta.ee/specifications/bean-validation/3.0/apidocs/jakarta/validation/constraints/package-summary.html[`jakarta.validation.constraints`
package summary]
-(`http://docs.oracle.com/javaee/7/api/javax/validation/constraints/package-summary.html`).
+(`https://jakarta.ee/specifications/bean-validation/3.0/apidocs/jakarta/validation/constraints/package-summary.html`).
[[sthref8]][[gjrlg]]
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/adding-container-capabilities.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/adding-container-capabilities.adoc
index e5d6ed0..302a0e3 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/content/adding-container-capabilities.adoc
+++ b/docs/add-on-component-development-guide/src/main/jbake/content/adding-container-capabilities.adoc
@@ -14,7 +14,7 @@
7 Adding Container Capabilities
-------------------------------
-Applications run on GlassFish Server in containers. GlassFish Server
+Applications run on Eclipse GlassFish Server in containers. GlassFish Server
enables you to create containers that extend or replace the existing
containers of GlassFish Server. Adding container capabilities enables
you to run new types of applications and to deploy new archive types in
@@ -72,7 +72,7 @@
package com.example.containers;
...
-@Service @javax.inject.Named("com.example.containers.MyContainer")
+@Service @jakarta.inject.Named("com.example.containers.MyContainer")
public class MyContainer implements Container {
...
}
@@ -257,7 +257,7 @@
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
An archive handler is responsible for handling the particular layout of
-an archive. Java EE defines a set of archives (WAR, JAR, and RAR, for
+an archive. Jakarta EE defines a set of archives (WAR, JAR, and RAR, for
example), and each of these archives has an `ArchiveHandler` instance
associated with the archive type.
@@ -795,9 +795,9 @@
import java.io.IOException;
import java.io.PrintWriter;
-import javax.servlet.annotation.WebServlet;
-import javax.servlet.*;
-import javax.servlet.http.*;
+import jakarta.servlet.annotation.WebServlet;
+import jakarta.servlet.*;
+import jakarta.servlet.http.*;
import jakarta.annotation.Resource;
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/adding-monitoring-capabilities.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/adding-monitoring-capabilities.adoc
index a5be617..a9ad697 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/content/adding-monitoring-capabilities.adoc
+++ b/docs/add-on-component-development-guide/src/main/jbake/content/adding-monitoring-capabilities.adoc
@@ -22,7 +22,7 @@
functioning as expected. Monitoring data can also be useful in
performance tuning and capacity planning.
-An add-on component typically generates statistics that the GlassFish
+An add-on component typically generates statistics that the Eclipse GlassFish
Server can gather at run time. Adding monitoring capabilities enables an
add-on component to provide statistics to GlassFish Server in the same
way as components that are supplied in GlassFish Server distributions.
@@ -447,7 +447,7 @@
For more information about the tree structure of monitorable objects,
see "link:../administration-guide/monitoring.html#GSADG00727[How the Monitoring Tree Structure Works]" in
-GlassFish Server Open Source Edition Administration Guide.
+Eclipse GlassFish Administration Guide.
To make an add-on component a monitorable object, you must add the
add-on component to the monitorable object tree.
@@ -495,8 +495,7 @@
multiple threads, the listener must be thread safe. However,GlassFish
Server provides utility classes to perform some common operations such
as `count`, `avg`, and `sum`.
-* The listener must have the same restrictions as a Java Platform,
-Enterprise Edition (Java EE) application. For example, the listener
+* The listener must have the same restrictions as a Jakarta EE application. For example, the listener
cannot open server sockets, or create threads.
A listener is called in the same thread as the event method. As a
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/extending-asadmin.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/extending-asadmin.adoc
index 8ba982b..8a621bc 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/content/extending-asadmin.adoc
+++ b/docs/add-on-component-development-guide/src/main/jbake/content/extending-asadmin.adoc
@@ -15,7 +15,7 @@
---------------------------------
The `asadmin` utility is a command-line tool for configuring and
-administering GlassFish Server. Extending the `asadmin` utility enables
+administering Eclipse GlassFish Server. Extending the `asadmin` utility enables
you to provide administrative interfaces for an add-on component that
are consistent with the interfaces of other GlassFish Server components.
A user can run `asadmin` subcommands either from a command prompt or
@@ -142,8 +142,7 @@
obtain a complete list of the names of all `asadmin` subcommands that
are installed, use the link:../reference-manual/list-commands.html#GSRFM00154[`list-commands`] subcommand. For
a complete list of `asadmin` subcommands that are supplied in GlassFish
-Server distributions, see the link:../reference-manual/toc.html#GSRFM[GlassFish Server Open Source
-Edition Reference Manual].
+Server distributions, see the link:../reference-manual/toc.html#GSRFM[Eclipse GlassFish Reference Manual].
[[ghrng]][[GSACG00196]][[ensuring-that-an-admincommand-implementation-is-stateless]]
@@ -1014,13 +1013,13 @@
`product_name=`product-name::
Specifies the full product name without any release information, for
example,
- `name="ProductNameFullPlain" content="Oracle GlassFish Server"`.
+ `name="ProductNameFullPlain" content="Eclipse GlassFish Server"`.
`abbrev_product_name=`abbrev-product-name::
Specifies an abbreviated form of the product name without any release
information, for example,
`name="ProductNamePlain" content="GlassFish Server"`.
`major_version=`major-version::
- Returns the product major version, for example, `3`
+ Returns the product major version, for example, `6`
`minor_version=`minor-version::
Specifies the product minor version, for example, `0`.
`build_id=`build-id::
@@ -1037,16 +1036,16 @@
the GlassFish Server CLI
This example shows the content of the `BrandingVersion.properties` for
-defining the product name and release information of Oracle GlassFish
-Server 3.0.1, build 17. The abbreviated product name is
+defining the product name and release information of Eclipse GlassFish
+Server 6.0.0, build 17. The abbreviated product name is
`glassfish-server`.
[source,oac_no_warn]
----
-product_name=Oracle GlassFish Server
+product_name=Eclise GlassFish Server
abbrev_product_name=glassfish-server
-major_version=3
-minor_version=0.1
+major_version=6
+minor_version=0.0
build_id=build 17
----
@@ -1055,12 +1054,12 @@
[source,oac_no_warn]
----
-LEGAL_COPYRIGHT "Copyright 2008, 2009"
-LEGAL_COMPANY_NAME "Oracle Corp."
+LEGAL_COPYRIGHT "Copyright 2020"
+LEGAL_COMPANY_NAME "Eclipse Foundation"
LEGAL_RIGHTS "All rights reserved."
-SIMPLE_COMPANY_NAME "Oracle"
-COMPANY_CONTACT_URL "http://www.oracle.com"
-PRODUCT_TRADEMARKS "Oracle and Java are trademarks of Oracle Corp."
+SIMPLE_COMPANY_NAME "Eclipse"
+COMPANY_CONTACT_URL "http://www.glassfish.org"
+PRODUCT_TRADEMARKS "GlassFish is a trademark of the Eclipse Foundation"
----
[[ghmza]][[GSACG00114]][[examples-of-extending-the-asadmin-utility]]
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/extending-the-admin-console.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/extending-the-admin-console.adoc
index a28587d..6b7aaf2 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/content/extending-the-admin-console.adoc
+++ b/docs/add-on-component-development-guide/src/main/jbake/content/extending-the-admin-console.adoc
@@ -15,26 +15,19 @@
--------------------------------------
The Administration Console is a browser-based tool for administering
-GlassFish Server. It features an easy-to-navigate interface and online
+Eclipse GlassFish Server. It features an easy-to-navigate interface and online
help. Extending the Administration Console enables you to provide a
graphical user interface for administering your add-on component. You
can use any of the user interface features of the Administration
Console, such as tree nodes, links on the Common Tasks page, tabs and
-sub-tabs, property sheets, and JavaServer Faces pages. Your add-on
+sub-tabs, property sheets, and Jakarta Server Faces pages. Your add-on
component implements a marker interface and provides a configuration
file that describes how your customizations integrate with the
Administration Console.
This chapter refers to a simple example called `console-sample-ip` that
illustrates how to provide Administration Console features for a
-hypothetical add-on component. Instructions for obtaining and using this
-example are available at the example's
-https://wikis.oracle.com/display/GlassFish/V3SampleIpProject[project
-page] (`https://wikis.oracle.com/display/GlassFish/V3SampleIpProject`).
-When you check out the code, it is placed in a directory named
-`glassfish-samples/v3/plugin/adminconsole/console-sample-ip/` in your
-current directory. In this chapter, path names for the example files are
-relative to this directory.
+hypothetical add-on component.
The following topics are addressed here:
@@ -136,8 +129,6 @@
`console-config.xml`, your implementation of `getConfiguration` must
return the URL where the file can be found.
-You can find this example code in the file
-`project/src/main/java/org/glassfish/admingui/plugin/SamplePlugin.java`.
[[ghmom]][[GSACG00098]][[about-administration-console-templates]]
@@ -145,18 +136,18 @@
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
GlassFish Server includes a set of templates that make it easier to
-create JavaServer Faces pages for your add-on component. These templates
-use Templating for JavaServer Faces Technology, which is also known as
+create Jakarta Server Faces pages for your add-on component. These templates
+use Templating for Jakarta Server Faces Technology, which is also known as
JSFTemplating.
Examples of JSFTemplating technology can be found in the following
sections of this chapter:
-* link:#ghoej[Creating a JavaServer Faces Page for Your Node]
-* link:#ghovg[Creating JavaServer Faces Pages for Your Tabs]
-* link:#ghoeu[Creating a JavaServer Faces Page for Your Task]
-* link:#ghoya[Creating a JavaServer Faces Page for Your Task Group]
-* link:#ghpao[Creating a JavaServer Faces Page for Your Page Content]
+* link:#ghoej[Creating a Jakarta Server Faces Page for Your Node]
+* link:#ghovg[Creating Jakarta Server Faces Pages for Your Tabs]
+* link:#ghoeu[Creating a Jakarta Server Faces Page for Your Task]
+* link:#ghoya[Creating a Jakarta Server Faces Page for Your Task Group]
+* link:#ghpao[Creating a Jakarta Server Faces Page for Your Page Content]
* link:#ghmqe[Adding a Page to the Administration Console]
[[ghmqr]][[GSACG00099]][[about-integration-points]]
@@ -171,7 +162,7 @@
* Nodes in the navigation tree
* Elements on the Common Tasks page of the Administration Console
-* JavaServer Faces pages
+* Jakarta Server Faces pages
* Tabs and sub-tabs
Specify all the integration points in a file named `console-config.xml`.
@@ -179,7 +170,7 @@
`project/src/main/resources/META-INF/admingui/`. The following sections
describe how to create this file.
-In addition, create JavaServer Faces pages that contain JSF code
+In addition, create Jakarta Server Faces pages that contain JSF code
fragments to implement the integration points. In the example, these
files are in the directory `project/src/main/resources/`. The content of
these files depends on the integration point you are implementing. The
@@ -357,17 +348,17 @@
[[ghoej]][[GSACG00158]][[creating-a-javaserver-faces-page-for-your-node]]
-Creating a JavaServer Faces Page for Your Node
+Creating a Jakarta Server Faces Page for Your Node
++++++++++++++++++++++++++++++++++++++++++++++
-A JavaServer Faces page for a tree node uses the tag `sun:treeNode`.
+A Jakarta Server Faces page for a tree node uses the tag `sun:treeNode`.
This tag provides all the capabilities of the Project Woodstock tag
`webuijsf:treeNode`.
[[GSACG00021]][[ghpmn]]
-Example 3-3 Example JavaServer Faces Page for a Tree Node
+Example 3-3 Example Jakarta Server Faces Page for a Tree Node
In the example, the `sampleNode.jsf` file has the following content:
@@ -398,14 +389,14 @@
`url`::
The location of the JavaServer Faces page that appears when you click
the node. In the example, most of the integration points use a very
- simple JavaServer Faces page called `testPage.jsf`, which is in the
+ simple Jakarta Server Faces page called `testPage.jsf`, which is in the
`src/main/resources/page/` directory. Specify the integration point
`id` value as the root of the URL; in this case, it is `sample` (see
link:#ghmpg[Specifying the ID of an Add-On Component]). The rest of
the URL is relative to the `src/main/resources/` directory, where
`sampleNode.jsf` resides. +
The `url` tag in this example passes a `name` parameter to the
- JavaServer Faces page.
+ Jakarta Server Faces page.
`imageURL`::
The location of a graphic to display next to the node name. In the
example, the graphic is always `sample.png`, which is in the
@@ -455,7 +446,7 @@
the integration point type as a tab associated with the server instance.
* The `priority` value, `500`, specifies the order of the tab within the
tab set. This value is optional.
-* The `content` value, `sampleTab.jsf`, specifies the JavaServer Faces
+* The `content` value, `sampleTab.jsf`, specifies the Jakarta Server Faces
page that displays the tab.
[[GSACG00023]][[ghplu]]
@@ -512,22 +503,22 @@
`sampleSubTab1` and `sampleSubTab2` are `300` and `400` respectively, so
`sampleSubTab1` appears to the left of `sampleSubTab2`.
* The `content` values, `sampleTabWithSubTab.jsf`, `sampleSubTab1.jsf`,
-and `sampleSubTab2.jsf`, specify the JavaServer Faces pages that display
+and `sampleSubTab2.jsf`, specify the Jakarta Server Faces pages that display
the tabs.
[[ghovg]][[GSACG00159]][[creating-javaserver-faces-pages-for-your-tabs]]
-Creating JavaServer Faces Pages for Your Tabs
+Creating Jakarta Server Faces Pages for Your Tabs
+++++++++++++++++++++++++++++++++++++++++++++
-A JavaServer Faces page for a tab uses the tag `sun:tab`. This tag
+A Jakarta Server Faces page for a tab uses the tag `sun:tab`. This tag
provides all the capabilities of the Project Woodstock tag
`webuijsf:tab`.
[[GSACG00024]][[ghpnt]]
-Example 3-6 Example JavaServer Faces Page for a Tab
+Example 3-6 Example Jakarta Server Faces Page for a Tab
In the example, the `sampleTab.jsf` file has the following content:
@@ -552,7 +543,7 @@
|======================================================================
-In your own JavaServer Faces pages, specify the attributes of this tag
+In your own Jakarta Server Faces pages, specify the attributes of this tag
as follows:
`id`::
@@ -568,14 +559,14 @@
a node displays node content. It invokes two handlers for the `command`
event: `setSessionAttribute` and `gf.redirect`. The `gf.redirect`
handler has the same effect for a tab that the `url` attribute has for a
-node. It navigates to a simple JavaServer Faces page called
+node. It navigates to a simple Jakarta Server Faces page called
`tabPage.jsf`, in the `src/main/resources/page/` directory, passing the
text "Sample First Tab" to the page in a `name` parameter.
The `sampleSubTab1.jsf` and `sampleSubTab2.jsf` files are almost
identical to `sampleTab.jsf`. The most important difference is that each
sets the session attribute `serverInstTabs` to the base name of the
-JavaServer Faces file that corresponds to that tab:
+Jakarta Server Faces file that corresponds to that tab:
[source,oac_no_warn]
----
@@ -632,17 +623,17 @@
[[ghoeu]][[GSACG00160]][[creating-a-javaserver-faces-page-for-your-task]]
-Creating a JavaServer Faces Page for Your Task
+Creating a Jakarta Server Faces Page for Your Task
++++++++++++++++++++++++++++++++++++++++++++++
-A JavaServer Faces page for a task uses the tag `sun:commonTask`. This
+A Jakarta Server Faces page for a task uses the tag `sun:commonTask`. This
tag provides all the capabilities of the Project Woodstock tag
`webuijsf:commonTask`.
[[GSACG00026]][[gjkgd]]
-Example 3-8 Example JavaServer Faces Page for a Task
+Example 3-8 Example Jakarta Server Faces Page for a Task
In the example, the `sampleCommonTask.jsf` file has the following
content:
@@ -670,7 +661,7 @@
This file uses the `sun:commonTask` tag to specify the task. In your own
-JavaServer Faces pages, specify the attributes of this tag as follows:
+Jakarta Server Faces pages, specify the attributes of this tag as follows:
`text`::
The task name that appears on the Common Tasks page.
@@ -724,17 +715,17 @@
[[ghoya]][[GSACG00161]][[creating-a-javaserver-faces-page-for-your-task-group]]
-Creating a JavaServer Faces Page for Your Task Group
+Creating a Jakarta Server Faces Page for Your Task Group
++++++++++++++++++++++++++++++++++++++++++++++++++++
-A JavaServer Faces page for a task group uses the tag
+A Jakarta Server Faces page for a task group uses the tag
`sun:commonTasksGroup`. This tag provides all the capabilities of the
Project Woodstock tag `webuijsf:commonTasksGroup`.
[[GSACG00028]][[ghpqe]]
-Example 3-10 Example JavaServer Faces Page for a Task Group
+Example 3-10 Example Jakarta Server Faces Page for a Task Group
In the example, the `sampleTaskGroup.jsf` file has the following
content:
@@ -826,10 +817,10 @@
[[ghpao]][[GSACG00162]][[creating-a-javaserver-faces-page-for-your-page-content]]
-Creating a JavaServer Faces Page for Your Page Content
+Creating a Jakarta Server Faces Page for Your Page Content
++++++++++++++++++++++++++++++++++++++++++++++++++++++
-A JavaServer Faces page for page content often uses the tag
+A Jakarta Server Faces page for page content often uses the tag
`sun:property` to specify a property on a property sheet. This tag
provides all the capabilities of the Project Woodstock tag
`webuijsf:property`.
@@ -837,7 +828,7 @@
[[GSACG00030]][[ghpoz]]
-Example 3-12 Example JavaServer Faces Page for a Resource Page Item
+Example 3-12 Example Jakarta Server Faces Page for a Resource Page Item
In the example, the `sampleResourceLink.jsf` file has the following
content:
@@ -892,7 +883,7 @@
[[GSACG00031]][[ghple]]
-Example 3-13 Example JavaServer Faces Page for a Property Sheet
+Example 3-13 Example Jakarta Server Faces Page for a Property Sheet
Most of the user interface features used in the example reference the
file `testPage.jsf` or (for tabs) the file `tabPage.jsf`. Both files are
@@ -1043,8 +1034,8 @@
To provide your own CSS and images to modify the global look and feel of
the entire application (not just the Administration Console), use the
-theming feature of http://java.net/projects/woodstock/[Project
-Woodstock] (`http://java.net/projects/woodstock/`). Create a theme JAR
+theming feature of https://github.com/eclipse-ee4j/glassfish-woodstock[Project
+Woodstock] (`https://github.com/eclipse-ee4j/glassfish-woodstock`). Create a theme JAR
file with all the CSS properties and image files that are required by
your Woodstock component. Use a script provided by the Woodstock project
to clone an existing theme, then modify the files and properties as
@@ -1083,7 +1074,7 @@
----
2. After you have an integration point ID, use handlers to insert the
integration point implementation(s). +
-Include code like the following below the place in your JavaServer Faces
+Include code like the following below the place in your Jakarta Server Faces
page where you would like to enable others to add their integration
point implementations: +
[source,oac_no_warn]
@@ -1104,13 +1095,6 @@
If you omit the `root` argument to `includeIntegrations`, all components
on the entire page can be used for the `parentId` of the integration
points.
-3. To enable others to use this integration point, document it at the
-https://wikis.oracle.com/display/GlassFish/V3IntegrationPoint[GlassFish
-Integration Point wiki page]
-(`https://wikis.oracle.com/display/GlassFish/V3IntegrationPoint`). +
-Document the integration point only if your content is publicly
-available. +
-You or others can now provide an integration point that will be
-integrated into this page.
+
----
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/integration-point-reference.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/integration-point-reference.adoc
index 7f0c401..13d3b4a 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/content/integration-point-reference.adoc
+++ b/docs/add-on-component-development-guide/src/main/jbake/content/integration-point-reference.adoc
@@ -16,9 +16,7 @@
This appendix provides reference information about integration points,
which are described in
link:extending-the-admin-console.html#ghmrb[Extending the Administration
-Console]. For complete information about integration points, see
-`https://wikis.oracle.com/display/GlassFish/V3IntegrationPoint`.
-
+Console].
Define an integration point for each user interface feature in the
`console-config.xml` file for your add-on component.
@@ -61,10 +59,10 @@
may need to experiment in order to place the integration point where
you want it. This attribute is optional.
`content`::
- A relative path to the JavaServer Faces page that contains the content
- to be integrated. Typically, the file contains a JavaServer Faces code
+ A relative path to the Jakarta Server Faces page that contains the content
+ to be integrated. Typically, the file contains a Jakarta Server Faces code
fragment that is incorporated into a page. The code fragment often
- specifies a link to another JavaServer Faces page that appears when a
+ specifies a link to another Jakarta Server Faces page that appears when a
user clicks the link.
[[ghmwa]][[GSACG00146]][[org.glassfish.adminguinavnode-integration-point]]
@@ -115,7 +113,7 @@
A numeric value that specifies the relative ordering of the node on
the tree, whether at the top level or under another node.
`content`::
- A relative path to the JavaServer Faces page that contains the content
+ A relative path to the Jakarta Server Faces page that contains the content
to be integrated, or a URL to an external resource that returns the
appropriate data structure for inclusion.
@@ -185,9 +183,9 @@
A numeric value that specifies the relative ordering of the tab on the
page, whether at the top level or under another tab.
`content`::
- A relative path to the JavaServer Faces page that contains the content
+ A relative path to the Jakarta Server Faces page that contains the content
to be integrated. +
- When you use this integration point, your JavaServer Faces page must
+ When you use this integration point, your Jakarta Server Faces page must
call the `setSessionAttribute` handler for the `command` event to set
the session variable of the `serverInstTabs` tab set to the `id` value
of your tab. For example, the file may have the following content: +
@@ -228,7 +226,7 @@
A numeric value that specifies the relative ordering of the tab on the
page, whether at the top level or under another tab.
`content`::
- A relative path to the JavaServer Faces page that contains the content
+ A relative path to the Jakarta Server Faces page that contains the content
to be integrated.
For examples, see link:extending-the-admin-console.html#ghpox[Example
@@ -254,7 +252,7 @@
A numeric value that specifies the relative ordering of the item on
the Configuration page.
`content`::
- A relative path to the JavaServer Faces page that contains the content
+ A relative path to the Jakarta Server Faces page that contains the content
to be integrated.
[[ghpfm]][[GSACG00152]][[org.glassfish.adminguiresources-integration-point]]
@@ -277,7 +275,7 @@
A numeric value that specifies the relative ordering of the item on
the Resources page.
`content`::
- A relative path to the JavaServer Faces page that contains the content
+ A relative path to the Jakarta Server Faces page that contains the content
to be integrated.
For an example, see link:extending-the-admin-console.html#ghpnu[Example
@@ -339,7 +337,7 @@
and 100. The theme with the smallest number is used first.
`content`::
A file that contains the content, typically a file that is included in
- a JavaServer Faces page.
+ a Jakarta Server Faces page.
For an example, see link:extending-the-admin-console.html#ghpla[Example
3-15].
@@ -366,7 +364,7 @@
and 100. The theme with the smallest number is used first.
`content`::
A file that contains the content, typically a file that is included in
- a JavaServer Faces page.
+ a Jakarta Server Faces page.
For an example, see link:extending-the-admin-console.html#ghpla[Example
3-15].
@@ -391,7 +389,7 @@
and 100. The theme with the smallest number is used first.
`content`::
A file that contains the content, typically a file that is included in
- a JavaServer Faces page.
+ a Jakarta Server Faces page.
For an example, see link:extending-the-admin-console.html#ghpla[Example
3-15].
@@ -415,7 +413,7 @@
and 100. The theme with the smallest number is used first.
`content`::
A file that contains the content, typically a file that is included in
- a JavaServer Faces page.
+ a Jakarta Server Faces page.
For an example, see link:extending-the-admin-console.html#ghpla[Example
3-15].
diff --git a/docs/add-on-component-development-guide/src/main/jbake/content/introduction.adoc b/docs/add-on-component-development-guide/src/main/jbake/content/introduction.adoc
index c8a1f69..6e63aa3 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/content/introduction.adoc
+++ b/docs/add-on-component-development-guide/src/main/jbake/content/introduction.adoc
@@ -1,20 +1,20 @@
type=page
status=published
-title=Introduction to the Development Environment for GlassFish Server Add-On Components
+title=Introduction to the Development Environment for Eclipse GlassFish Add-On Components
next=writing-hk2-components.html
prev=preface.html
~~~~~~
-Introduction to the Development Environment for GlassFish Server Add-On Components
+Introduction to the Development Environment for Eclipse GlassFish Add-On Components
==================================================================================
[[GSACG00001]][[ghmlv]]
-[[introduction-to-the-development-environment-for-glassfish-server-add-on-components]]
-1 Introduction to the Development Environment for GlassFish Server Add-On Components
+[[introduction-to-the-development-environment-for-eclipse-glassfish-add-on-components]]
+1 Introduction to the Development Environment for Eclipse GlassFish Add-On Components
------------------------------------------------------------------------------------
-GlassFish Server Open Source Edition enables an external vendor such as
+Eclipse GlassFish enables an external vendor such as
an independent software vendor (ISV), original equipment manufacturer
(OEM), or system integrator to incorporate GlassFish Server into a new
product with the vendor's own brand name. External vendors can extend
@@ -67,7 +67,7 @@
GlassFish Server administrators can install add-on components and update
or remove installed components after GlassFish Server is installed. For
more information, see "link:../administration-guide/toc.html#GSADG00014[Extending and Updating GlassFish
-Server]" in GlassFish Server Open Source Edition Administration Guide.
+Server]" in Eclipse GlassFish Administration Guide.
[[ghmrf]][[GSACG00088]][[osgi-alliance-module-management-subsystem]]
@@ -98,8 +98,8 @@
Hundred-Kilobyte Kernel
~~~~~~~~~~~~~~~~~~~~~~~
-The http://hk2.dev.java.net/[Hundred-Kilobyte Kernel (HK2)]
-(`https://hk2.dev.java.net/`) is the lightweight and extensible kernel
+The https://github.com/eclipse-ee4j/glassfish-hk2[Hundred-Kilobyte Kernel (HK2)]
+(`https://github.com/eclipse-ee4j/glassfish-hk2`) is the lightweight and extensible kernel
of GlassFish Server. HK2 consists of the following technologies:
* Module subsystem. The HK2 module subsystem provides isolation between
@@ -232,9 +232,8 @@
enable an add-on component to store its configuration data in the same
way as other GlassFish Server components. These interfaces are similar
to interfaces that are defined in
-http://jcp.org/en/jsr/detail?id=222[Java Specification Request (JSR)
-222: Java Architecture for XML Binding (JAXB) 2.0]
-(`http://jcp.org/en/jsr/detail?id=222`). By using these interfaces to
+https://jakarta.ee/specifications/xml-binding/3.0/[Jakarta XML Binding 3.0]
+(`https://jakarta.ee/specifications/xml-binding/3.0/`). By using these interfaces to
store configuration data, you ensure that the add-on component is fully
integrated with GlassFish Server. As a result, administrators can
configure an add-on component in the same way as they can configure
@@ -273,7 +272,7 @@
For information about other high-availability, session persistence
solutions, see "link:../ha-administration-guide/session-persistence-and-failover.html#GSHAG00011[Configuring High Availability Session
-Persistence and Failover]" in GlassFish Server Open Source Edition High
+Persistence and Failover]" in Eclipse GlassFish High
Availability Administration Guide.
For more information, see
diff --git a/docs/add-on-component-development-guide/src/main/jbake/templates/footer.ftl b/docs/add-on-component-development-guide/src/main/jbake/templates/footer.ftl
index 6f2b09e..697f005 100644
--- a/docs/add-on-component-development-guide/src/main/jbake/templates/footer.ftl
+++ b/docs/add-on-component-development-guide/src/main/jbake/templates/footer.ftl
@@ -37,7 +37,7 @@
<span id="copyright">
<img src="img/eclipse_foundation_logo_tiny.png" height="20px" alt="Eclipse Foundation Logo" align="top"/>
- <span >Copyright © 2019, Oracle and/or its affiliates. All rights reserved.</span>
+ <span >Copyright © 2020, Oracle and/or its affiliates. All rights reserved.</span>
</span>
<p align="center" class="beta">${config.status!}</p>
diff --git a/docs/administration-guide/src/main/jbake/content/general-administration.adoc b/docs/administration-guide/src/main/jbake/content/general-administration.adoc
index 40c1579..20f66cf 100644
--- a/docs/administration-guide/src/main/jbake/content/general-administration.adoc
+++ b/docs/administration-guide/src/main/jbake/content/general-administration.adoc
@@ -3196,7 +3196,7 @@
"loggedDateTimeInMS":1300728893368,
"loggedLevel":"INFO",
"productName":"glassfish3.1",
- "loggerName":"javax.enterprise.system.core.com.sun.enterprise.v3.admin.adapter",
+ "loggerName":"jakarta.enterprise.system.core.com.sun.enterprise.v3.admin.adapter",
"nameValuePairs":"_ThreadID=238;_ThreadName=Thread-1;",
"messageID":"",
"Message":"The Admin Console application is loaded."
@@ -3206,7 +3206,7 @@
"loggedDateTimeInMS":1300728893367,
"loggedLevel":"INFO",
"productName":"glassfish3.1",
- "loggerName":"javax.enterprise.system.core.com.sun.enterprise.v3.server",
+ "loggerName":"jakarta.enterprise.system.core.com.sun.enterprise.v3.server",
"nameValuePairs":"_ThreadID=238;_ThreadName=Thread-1;",
"messageID":"CORE10010",
"Message":" Loading application __admingui done in 40,063 ms"
@@ -3299,11 +3299,11 @@
nameValuePairs="_ThreadID=25;_ThreadName=Thread-1;"
productName="glassfish3.1" recordNumber="475"/>
<record loggedDateTimeInMS="1300728893368" loggedLevel="INFO"
- loggerName="javax.enterprise.system.core.com.sun.enterprise.v3.admin.adapter"
+ loggerName="jakarta.enterprise.system.core.com.sun.enterprise.v3.admin.adapter"
messageID="" nameValuePairs="_ThreadID=238;_ThreadName=Thread-1;"
productName="glassfish3.1" recordNumber="474"/>
<record loggedDateTimeInMS="1300728893367" loggedLevel="INFO"
- loggerName="javax.enterprise.system.core.com.sun.enterprise.v3.server"
+ loggerName="jakarta.enterprise.system.core.com.sun.enterprise.v3.server"
messageid="core10010" nameValuePairs="_ThreadID=238;_ThreadName=Thread-1;"
productName="glassfish3.1" recordNumber="473"/>
</records>
diff --git a/docs/administration-guide/src/main/jbake/content/jdbc.adoc b/docs/administration-guide/src/main/jbake/content/jdbc.adoc
index ccd3218..f1d9887 100644
--- a/docs/administration-guide/src/main/jbake/content/jdbc.adoc
+++ b/docs/administration-guide/src/main/jbake/content/jdbc.adoc
@@ -815,13 +815,13 @@
The GlassFish Server provides an SQL tracing logger to log the SQL
operations in the form of `SQLTraceRecord` objects in the `server.log`
file. The module name under which the SQL operation is logged is
-`javax.enterprise.resource.sqltrace`. SQL traces are logged as FINE
+`jakarta.enterprise.resource.sqltrace`. SQL traces are logged as FINE
messages along with the module name to enable easy filtering of the SQL
logs. A sample SQL trace record looks like this:
[source,oac_no_warn]
----
-[#|2009-11-27T15:46:52.202+0530|FINE|glassfishv3.0|javax.enterprise.resource.sqltrace.com.sun.gjc.util
+[#|2009-11-27T15:46:52.202+0530|FINE|glassfishv3.0|jakarta.enterprise.resource.sqltrace.com.sun.gjc.util
|_ThreadID=29;_ThreadName=Thread-1;ClassName=com.sun.gjc.util.SQLTraceLogger;MethodName=sqlTrace;
|ThreadID=77 | ThreadName=p: thread-pool-1; w: 6 | TimeStamp=1259317012202
| ClassName=com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40 | MethodName=executeUpdate
diff --git a/docs/administration-guide/src/main/jbake/content/logging.adoc b/docs/administration-guide/src/main/jbake/content/logging.adoc
index 08eedd3..80154c5 100644
--- a/docs/administration-guide/src/main/jbake/content/logging.adoc
+++ b/docs/administration-guide/src/main/jbake/content/logging.adoc
@@ -158,7 +158,7 @@
* Message ID consists of a module code that indicates the origin of the
message and the message number. For example: `AS-WEB-GLUE-00172`
* LoggerName represents a hierarchical logger namespace that identifies
-the source of the log module. For example: `javax.enterprise.web`
+the source of the log module. For example: `jakarta.enterprise.web`
* Key Value Pairs represents pairs of key names and values. For example:
`timeMillis: 1365779310154`
* Message represents the text of the log message. For multiline
@@ -170,7 +170,7 @@
[source,oac_no_warn]
----
-[2013-04-12T08:08:30.154-0700] [glassfish 4.0] [INFO] [AS-WEB-GLUE-00172] [javax.enterprise.web] [tid: _ThreadID=217 _ThreadName=admin-listener(21)]
+[2013-04-12T08:08:30.154-0700] [glassfish 4.0] [INFO] [AS-WEB-GLUE-00172] [jakarta.enterprise.web] [tid: _ThreadID=217 _ThreadName=admin-listener(21)]
[timeMillis: 1365779310154] [levelValue: 800] [[
Loading application [payroll] at [/payroll]]]
----
@@ -192,7 +192,7 @@
* ProductName-Version represents the current version of GlassFish Server
Open Source Edition. For example: `glassfish`
* LoggerName represents a hierarchical logger namespace that identifies
-the source of the log module. For example: `javax.enterprise.web.core`
+the source of the log module. For example: `jakarta.enterprise.web.core`
* Key Value Pairs represents pairs of key names and values and can
include a message ID. For example: `_MessageID=AS-WEB-CORE-00306`. +
Message IDs are included for all GlassFish Server Open Source Edition
@@ -205,7 +205,7 @@
[source,oac_no_warn]
----
-[#|2013-04-18T09:27:44.315-0700|INFO|glassfish 4.0|javax.enterprise.web.core|
+[#|2013-04-18T09:27:44.315-0700|INFO|glassfish 6.0|jakarta.enterprise.web.core|
_ThreadID=15;_ThreadName=RunLevelControllerThread-1366302462682;_TimeMillis=1366302464315;_LevelValue=800;_MessageID=AS-WEB-CORE-00306;|
Setting JAAS app name glassfish-web|#]
----
@@ -241,41 +241,41 @@
[source,oac_no_warn]
----
java.util.logging.ConsoleHandler <FINEST>
-javax.enterprise.resource.corba <INFO>
-javax.enterprise.resource.javamail <INFO>
-javax.enterprise.resource.jdo <INFO>
-javax.enterprise.resource.jms <INFO>
-javax.enterprise.resource.jta <INFO>
-javax.enterprise.resource.resourceadapter <INFO>
-javax.enterprise.resource.sqltrace <INFO>
-javax.enterprise.resource.webcontainer.jsf.application <INFO>
-javax.enterprise.resource.webcontainer.jsf.config <INFO>
-javax.enterprise.resource.webcontainer.jsf.context <INFO>
-javax.enterprise.resource.webcontainer.jsf.facelets <INFO>
-javax.enterprise.resource.webcontainer.jsf.lifecycle <INFO>
-javax.enterprise.resource.webcontainer.jsf.managedbean <INFO>
-javax.enterprise.resource.webcontainer.jsf.renderkit <INFO>
-javax.enterprise.resource.webcontainer.jsf.resource <INFO>
-javax.enterprise.resource.webcontainer.jsf.taglib <INFO>
-javax.enterprise.resource.webcontainer.jsf.timing <INFO>
-javax.enterprise.system.container.cmp <INFO>
-javax.enterprise.system.container.ejb <INFO>
-javax.enterprise.system.container.ejb.mdb <INFO>
-javax.enterprise.system.container.web <INFO>
-javax.enterprise.system.core.classloading <INFO>
-javax.enterprise.system.core.config <INFO>
-javax.enterprise.system.core.naming <INFO>
-javax.enterprise.system.core.security <INFO>
-javax.enterprise.system.core.selfmanagement <INFO>
-javax.enterprise.system.core.transaction <INFO>
-javax.enterprise.system <INFO>
-javax.enterprise.system.tools.admin <INFO>
-javax.enterprise.system.tools.backup <INFO>
-javax.enterprise.system.tools.deployment <INFO>
-javax.enterprise.system.util <INFO>
-javax.enterprise.system.webservices.registry <INFO>
-javax.enterprise.system.webservices.rpc <INFO>
-javax.enterprise.system.webservices.saaj <INFO>
+jakarta.enterprise.resource.corba <INFO>
+jakarta.enterprise.resource.javamail <INFO>
+jakarta.enterprise.resource.jdo <INFO>
+jakarta.enterprise.resource.jms <INFO>
+jakarta.enterprise.resource.jta <INFO>
+jakarta.enterprise.resource.resourceadapter <INFO>
+jakarta.enterprise.resource.sqltrace <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.application <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.config <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.context <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.facelets <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.lifecycle <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.managedbean <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.renderkit <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.resource <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.taglib <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.timing <INFO>
+jakarta.enterprise.system.container.cmp <INFO>
+jakarta.enterprise.system.container.ejb <INFO>
+jakarta.enterprise.system.container.ejb.mdb <INFO>
+jakarta.enterprise.system.container.web <INFO>
+jakarta.enterprise.system.core.classloading <INFO>
+jakarta.enterprise.system.core.config <INFO>
+jakarta.enterprise.system.core.naming <INFO>
+jakarta.enterprise.system.core.security <INFO>
+jakarta.enterprise.system.core.selfmanagement <INFO>
+jakarta.enterprise.system.core.transaction <INFO>
+jakarta.enterprise.system <INFO>
+jakarta.enterprise.system.tools.admin <INFO>
+jakarta.enterprise.system.tools.backup <INFO>
+jakarta.enterprise.system.tools.deployment <INFO>
+jakarta.enterprise.system.util <INFO>
+jakarta.enterprise.system.webservices.registry <INFO>
+jakarta.enterprise.system.webservices.rpc <INFO>
+jakarta.enterprise.system.webservices.saaj <INFO>
javax <INFO>
org.apache.catalina <INFO>
org.apache.coyote <INFO>
@@ -601,14 +601,14 @@
[source,oac_no_warn]
----
asadmin> list-log-levels
-javax.enterprise.system.container.cmp <INFO>
-javax.enterprise.system.tools.admin <INFO>
+jakarta.enterprise.system.container.cmp <INFO>
+jakarta.enterprise.system.tools.admin <INFO>
java.util.logging.ConsoleHandler <FINEST>
-javax.enterprise.system.container.web <INFO>
-javax.enterprise.system.util <INFO>
-javax.enterprise.resource.webcontainer.jsf.timing <INFO>
+jakarta.enterprise.system.container.web <INFO>
+jakarta.enterprise.system.util <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.timing <INFO>
javax <INFO>
-javax.enterprise.resource.corba <INFO>
+jakarta.enterprise.resource.corba <INFO>
...
Command list-log-levels executed successfully.
----
@@ -625,13 +625,13 @@
----
asadmin> list-log-levels MyServer2
java.util.logging.ConsoleHandler <FINEST>
-javax.enterprise.resource.corba <INFO>
-javax.enterprise.resource.javamail <INFO>
-javax.enterprise.resource.jdo <INFO>
-javax.enterprise.resource.jms <INFO>
-javax.enterprise.resource.jta <INFO>
-javax.enterprise.resource.resourceadapter <INFO>
-javax.enterprise.resource.sqltrace <FINE>
+jakarta.enterprise.resource.corba <INFO>
+jakarta.enterprise.resource.javamail <INFO>
+jakarta.enterprise.resource.jdo <INFO>
+jakarta.enterprise.resource.jms <INFO>
+jakarta.enterprise.resource.jta <INFO>
+jakarta.enterprise.resource.resourceadapter <INFO>
+jakarta.enterprise.resource.sqltrace <FINE>
...
Command list-log-levels executed successfully.
----
@@ -717,12 +717,12 @@
[source,oac_no_warn]
----
-javax.enterprise.system.tools.level=FINE
-javax.enterprise.system.container.ejb.level=FINE
-javax.enterprise.system.core.security.level=FINE
-javax.enterprise.system.tools.admin.level=FINE
-javax.enterprise.level=FINE
-javax.enterprise.system.container.web.level=FINE
+jakarta.enterprise.system.tools.level=FINE
+jakarta.enterprise.system.container.ejb.level=FINE
+jakarta.enterprise.system.core.security.level=FINE
+jakarta.enterprise.system.tools.admin.level=FINE
+jakarta.enterprise.level=FINE
+jakarta.enterprise.system.container.web.level=FINE
----
Because setting log levels is a dynamic operation, you do not need to
@@ -748,11 +748,11 @@
[source,oac_no_warn]
----
asadmin> set-log-levels --target ManagedServer1
-javax.enterprise.system.container.web=WARNING
-javax.enterprise.system.container.web package set with log level WARNING.
+jakarta.enterprise.system.container.web=WARNING
+jakarta.enterprise.system.container.web package set with log level WARNING.
These logging levels are set for ManagedServer1.
ManagedServer1 :
-javax.enterprise.system.container.web package set with log level WARNING.
+jakarta.enterprise.system.container.web package set with log level WARNING.
These logging levels are set for ManagedServer1.
Command set-log-levels executed successfully.
@@ -768,10 +768,10 @@
[source,oac_no_warn]
----
-asadmin> set-log-levels javax.enterprise.system.core.security=FINE:
-javax.enterprise.system.container.web=WARNING
-javax.enterprise.system.container.web package set with log level WARNING.
-javax.enterprise.system.core.security package set with log level FINE.
+asadmin> set-log-levels jakarta.enterprise.system.core.security=FINE:
+jakarta.enterprise.system.container.web=WARNING
+jakarta.enterprise.system.container.web package set with log level WARNING.
+jakarta.enterprise.system.core.security package set with log level FINE.
These logging levels are set for server.
Command set-log-levels executed successfully.
@@ -1408,10 +1408,10 @@
asadmin> list-loggers
Logger Name Subsystem Logger Description
...
-javax.enterprise.monitoring Monitoring Monitoring Logger
-javax.enterprise.system.core.ee AS-CORE Java EE Core Kernel
-javax.enterprise.system.jmx JMX JMX System Logger
-javax.enterprise.system.tools.admin ADMIN Administration Services
+jakarta.enterprise.monitoring Monitoring Monitoring Logger
+jakarta.enterprise.system.core.ee AS-CORE Java EE Core Kernel
+jakarta.enterprise.system.jmx JMX JMX System Logger
+jakarta.enterprise.system.tools.admin ADMIN Administration Services
...
Command list-loggers executed successfully.
----
diff --git a/docs/application-deployment-guide/src/main/jbake/content/overview.adoc b/docs/application-deployment-guide/src/main/jbake/content/overview.adoc
index 41c909e..02ec354 100644
--- a/docs/application-deployment-guide/src/main/jbake/content/overview.adoc
+++ b/docs/application-deployment-guide/src/main/jbake/content/overview.adoc
@@ -449,39 +449,6 @@
link:deploying-applications.html#gilcn[To Deploy an Application or Module
in a Directory Format].
-[[giiel]][[GSDPG00313]][[jsr-88-naming]]
-
-JSR 88 Naming
-+++++++++++++
-
-There are two JSR 88 APIs that can be used to deploy applications in
-GlassFish Server.
-
-If you are using the following JSR 88 API, there is no file name:
-
-[source,oac_no_warn]
-----
-javax.enterprise.deploy.spi.DeploymentManager.distribute(Target[], InputStream, InputStream)
-----
-
-Because there is no file name, the name of the application is taken from
-the `application-name` or `module-name` entry in the Java EE standard
-deployment descriptor. If the `application-name` or `module-name` entry
-is not present, GlassFish Server creates a temporary file name and uses
-that name to deploy the application. Neither the Administration Console
-nor the `asadmin` utility uses this API.
-
-If you are using the following preferred JSR 88 API, the name is derived
-from the `application-name` or `module-name` entry if present or the
-first portion of the file name (without the `.war` or `.jar` extension):
-
-[source,oac_no_warn]
-----
-javax.enterprise.deploy.spi.DeploymentManager.distribute(Target[], File, File)
-----
-
-For more information about JSR 88, see
-`http://jcp.org/en/jsr/detail?id=88`.
[[gkhhv]][[GSDPG00324]][[module-and-application-versions]]
diff --git a/docs/application-development-guide/src/main/jbake/content/jdbc.adoc b/docs/application-development-guide/src/main/jbake/content/jdbc.adoc
index aba29cf..0520bd3 100644
--- a/docs/application-development-guide/src/main/jbake/content/jdbc.adoc
+++ b/docs/application-development-guide/src/main/jbake/content/jdbc.adoc
@@ -226,13 +226,13 @@
The GlassFish Server provides an SQL tracing logger to log the SQL
operations in the form of `SQLTraceRecord` objects in the `server.log`
file. The module name under which the SQL operation is logged is
-`javax.enterprise.resource.sqltrace`. SQL traces are logged as FINE
+`jakarta.enterprise.resource.sqltrace`. SQL traces are logged as FINE
messages along with the module name to enable easy filtering of the SQL
logs. A sample SQL trace record looks like this:
[source,oac_no_warn]
----
-[#|2009-11-27T15:46:52.202+0530|FINE|glassfishv3.0|javax.enterprise.resource.sqltrace.com.sun.gjc.util
+[#|2009-11-27T15:46:52.202+0530|FINE|glassfish 6.0|jakarta.enterprise.resource.sqltrace.com.sun.gjc.util
|_ThreadID=29;_ThreadName=Thread-1;ClassName=com.sun.gjc.util.SQLTraceLogger;MethodName=sqlTrace;
|ThreadID=77 | ThreadName=p: thread-pool-1; w: 6 | TimeStamp=1259317012202
| ClassName=com.sun.gjc.spi.jdbc40.PreparedStatementWrapper40 | MethodName=executeUpdate
diff --git a/docs/embedded-server-guide/src/main/jbake/content/embedded-server-guide.adoc b/docs/embedded-server-guide/src/main/jbake/content/embedded-server-guide.adoc
index 29fa6bf..03c9ead 100644
--- a/docs/embedded-server-guide/src/main/jbake/content/embedded-server-guide.adoc
+++ b/docs/embedded-server-guide/src/main/jbake/content/embedded-server-guide.adoc
@@ -1057,7 +1057,7 @@
import org.glassfish.embeddable.*;
...
String command = "set-log-level";
- String weblevel = "javax.enterprise.system.container.web=FINE";
+ String weblevel = "jakarta.enterprise.system.container.web=FINE";
CommandRunner commandRunner = glassfish.getCommandRunner();
CommandResult commandResult = commandRunner.run(command, weblevel);
...
@@ -2019,8 +2019,8 @@
// Set the log levels. For example, set 'deployment' and 'server' log levels to FINEST
Logger.getLogger("").getHandlers()[0].setLevel(Level.FINEST);
-Logger.getLogger("javax.enterprise.system.tools.deployment").setLevel(Level.FINEST);
-Logger.getLogger("javax.enterprise.system").setLevel(Level.FINEST);
+Logger.getLogger("jakarta.enterprise.system.tools.deployment").setLevel(Level.FINEST);
+Logger.getLogger("jakarta.enterprise.system").setLevel(Level.FINEST);
// Start Embedded GlassFish and deploy an application.
// You will see all the FINEST logs printed on the console.
@@ -2043,8 +2043,8 @@
----
handlers= java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.level = FINEST
-javax.enterprise.system.tools.deployment.level = FINEST
-javax.enterprise.system.level = FINEST
+jakarta.enterprise.system.tools.deployment.level = FINEST
+jakarta.enterprise.system.level = FINEST
----
Pass the name of this custom logging configuration file to the `java`
diff --git a/docs/reference-manual/src/main/jbake/content/list-log-levels.adoc b/docs/reference-manual/src/main/jbake/content/list-log-levels.adoc
index 8308c8a..b3ebf7f 100644
--- a/docs/reference-manual/src/main/jbake/content/list-log-levels.adoc
+++ b/docs/reference-manual/src/main/jbake/content/list-log-levels.adoc
@@ -76,42 +76,42 @@
----
asadmin> list-log-levels
java.util.logging.ConsoleHandler <FINEST>
-javax.enterprise.resource.corba <INFO>
-javax.enterprise.resource.javamail <INFO>
-javax.enterprise.resource.jdo <INFO>
-javax.enterprise.resource.jms <INFO>
-javax.enterprise.resource.jta <INFO>
-javax.enterprise.resource.resourceadapter <INFO>
-javax.enterprise.resource.sqltrace <FINE>
-javax.enterprise.resource.webcontainer.jsf.application <INFO>
-javax.enterprise.resource.webcontainer.jsf.config <INFO>
-javax.enterprise.resource.webcontainer.jsf.context <INFO>
-javax.enterprise.resource.webcontainer.jsf.facelets <INFO>
-javax.enterprise.resource.webcontainer.jsf.lifecycle <INFO>
-javax.enterprise.resource.webcontainer.jsf.managedbean <INFO>
-javax.enterprise.resource.webcontainer.jsf.renderkit <INFO>
-javax.enterprise.resource.webcontainer.jsf.resource <INFO>
-javax.enterprise.resource.webcontainer.jsf.taglib <INFO>
-javax.enterprise.resource.webcontainer.jsf.timing <INFO>
-javax.enterprise.system.container.cmp <INFO>
-javax.enterprise.system.container.ejb <INFO>
-javax.enterprise.system.container.ejb.mdb <INFO>
-javax.enterprise.system.container.web <INFO>
-javax.enterprise.system.core.classloading <INFO>
-javax.enterprise.system.core.config <INFO>
-javax.enterprise.system.core <INFO>
-javax.enterprise.system.core.naming <INFO>
-javax.enterprise.system.core.security <INFO>
-javax.enterprise.system.core.selfmanagement <INFO>
-javax.enterprise.system.core.transaction <INFO>
-javax.enterprise.system <INFO>
-javax.enterprise.system.tools.admin <INFO>
-javax.enterprise.system.tools.backup <INFO>
-javax.enterprise.system.tools.deployment <INFO>
-javax.enterprise.system.util <INFO>
-javax.enterprise.system.webservices.registry <INFO>
-javax.enterprise.system.webservices.rpc <INFO>
-javax.enterprise.system.webservices.saaj <INFO>
+jakarta.enterprise.resource.corba <INFO>
+jakarta.enterprise.resource.javamail <INFO>
+jakarta.enterprise.resource.jdo <INFO>
+jakarta.enterprise.resource.jms <INFO>
+jakarta.enterprise.resource.jta <INFO>
+jakarta.enterprise.resource.resourceadapter <INFO>
+jakarta.enterprise.resource.sqltrace <FINE>
+jakarta.enterprise.resource.webcontainer.jsf.application <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.config <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.context <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.facelets <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.lifecycle <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.managedbean <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.renderkit <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.resource <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.taglib <INFO>
+jakarta.enterprise.resource.webcontainer.jsf.timing <INFO>
+jakarta.enterprise.system.container.cmp <INFO>
+jakarta.enterprise.system.container.ejb <INFO>
+jakarta.enterprise.system.container.ejb.mdb <INFO>
+jakarta.enterprise.system.container.web <INFO>
+jakarta.enterprise.system.core.classloading <INFO>
+jakarta.enterprise.system.core.config <INFO>
+jakarta.enterprise.system.core <INFO>
+jakarta.enterprise.system.core.naming <INFO>
+jakarta.enterprise.system.core.security <INFO>
+jakarta.enterprise.system.core.selfmanagement <INFO>
+jakarta.enterprise.system.core.transaction <INFO>
+jakarta.enterprise.system <INFO>
+jakarta.enterprise.system.tools.admin <INFO>
+jakarta.enterprise.system.tools.backup <INFO>
+jakarta.enterprise.system.tools.deployment <INFO>
+jakarta.enterprise.system.util <INFO>
+jakarta.enterprise.system.webservices.registry <INFO>
+jakarta.enterprise.system.webservices.rpc <INFO>
+jakarta.enterprise.system.webservices.saaj <INFO>
javax <INFO>
javax.org.glassfish.persistence <INFO>
org.apache.catalina <INFO>
diff --git a/docs/reference-manual/src/main/jbake/content/list-loggers.adoc b/docs/reference-manual/src/main/jbake/content/list-loggers.adoc
index 6022724..d4a9aa5 100644
--- a/docs/reference-manual/src/main/jbake/content/list-loggers.adoc
+++ b/docs/reference-manual/src/main/jbake/content/list-loggers.adoc
@@ -61,10 +61,10 @@
asadmin> list-loggers
Logger Name Subsystem Logger Description
...
-javax.enterprise.monitoring Monitoring Monitoring Logger
-javax.enterprise.system.core.ee AS-CORE Java EE Core Kernel
-javax.enterprise.system.jmx JMX JMX System Logger
-javax.enterprise.system.tools.admin ADMIN Administration Services
+jakarta.enterprise.monitoring Monitoring Monitoring Logger
+jakarta.enterprise.system.core.ee AS-CORE Java EE Core Kernel
+jakarta.enterprise.system.jmx JMX JMX System Logger
+jakarta.enterprise.system.tools.admin ADMIN Administration Services
...
Command list-loggers executed successfully.
----
diff --git a/docs/reference-manual/src/main/jbake/content/set-log-levels.adoc b/docs/reference-manual/src/main/jbake/content/set-log-levels.adoc
index 9bcf2bd..8c1778f 100644
--- a/docs/reference-manual/src/main/jbake/content/set-log-levels.adoc
+++ b/docs/reference-manual/src/main/jbake/content/set-log-levels.adoc
@@ -78,7 +78,7 @@
[source,oac_no_warn]
----
-asadmin> set-log-levels javax.enterprise.system.container.web=WARNING
+asadmin> set-log-levels jakarta.enterprise.system.container.web=WARNING
Command set-log-level executed successfully.
----
@@ -91,8 +91,8 @@
[source,oac_no_warn]
----
-asadmin set-log-levels javax.enterprise.system.container.web=FINE:
-javax.enterprise.system.container.ejb=SEVERE
+asadmin set-log-levels jakarta.enterprise.system.container.web=FINE:
+jakarta.enterprise.system.container.ejb=SEVERE
Command set-log-level executed successfully.
----
diff --git a/docs/security-guide/src/main/jbake/content/running-in-secure-environment.adoc b/docs/security-guide/src/main/jbake/content/running-in-secure-environment.adoc
index ce08bc7..fda8c48 100644
--- a/docs/security-guide/src/main/jbake/content/running-in-secure-environment.adoc
+++ b/docs/security-guide/src/main/jbake/content/running-in-secure-environment.adoc
@@ -445,8 +445,8 @@
|Set logging for security and SSL messages. a|
Consider setting module log levels for
-table.javax.enterprise.system.ssl.security and
-javax.enterprise.system.core.security. You can set a level from Severe
+table.jakarta.enterprise.system.ssl.security and
+jakarta.enterprise.system.core.security. You can set a level from Severe
to Finest (the default is Info), but be aware that the finer logging
levels may produce a large log file.
diff --git a/docs/website/src/main/resources/CNAME b/docs/website/src/main/resources/CNAME
new file mode 100644
index 0000000..a58dd00
--- /dev/null
+++ b/docs/website/src/main/resources/CNAME
@@ -0,0 +1 @@
+glassfish.org
diff --git a/docs/website/src/main/resources/README.md b/docs/website/src/main/resources/README.md
index 1780107..82b58f9 100644
--- a/docs/website/src/main/resources/README.md
+++ b/docs/website/src/main/resources/README.md
@@ -4,10 +4,29 @@
Eclipse GlassFish is a [Jakarta EE compatible implementation](compatibility)
sponsored by the Eclipse Foundation.
-Eclipse GlassFish 5.1 is also Java EE 8 Compatible.
+
+
## Latest News
+## December 31, 2020 -- Eclipse GlassFish 6 Stable Release
+
+We are pleased to announce the stable release of Eclipse GlassFish 6.0. This release provides implementations
+of the Jakarta EE 9 Platform and Web Profile specifications. Download links are available from the [GlassFish Download page](https://eclipse-ee4j.github.io/glassfish/download). Eclipse GlassFish 6 implements the Jakarta EE 9 specification ([Jakarta EE 9 Platform](https://jakarta.ee/specifications/platform/9/), [Jakarta EE 9 Web Profile](https://jakarta.ee/specifications/webprofile/9/)).
+
+### October 24, 2020 -- Eclipse GLassFish 6.0 Release Candidate 1 is released
+
+This is the first release candidate of Eclipse GlassFish 6.0 and is available for [download](https://eclipse-ee4j.github.io/glassfish/download).
+This first Release Candidate is functionally complete and is the first version to pass the in progress Jakarta EE 9 Platform CTS and standalone TCKs for both Full Platform and Web Platform. Further development will be carried out before final release but no major functinal changes will be made.
+
+### June 23, 2020 -- Eclipse GlassFish 6.0 Milestone 1 is released
+
+This release contains new Jakarta EE 9 compatible APIs. This is an early alpha release of Eclipse GlassFish 6. See the download page to get your copy.
+
+### September 10, 2019 -- Eclipse GlassFish 5.1 is certified compatible with Eclipse Jakarta EE 8
+
+Eclipse GlassFish 5.1 was certified as part of the release of the Jakarta EE 8 specification. This certification was completed without requiring any changes to Eclipse GlassFish 5.1, released in January of this same year. Eclipse GlassFish 5.1 is compatible with both Jakarta EE 8 and also Java EE 8.
+
### January 28, 2019 -- Eclipse GlassFish 5.1 is released
See the
diff --git a/docs/website/src/main/resources/certifications/jakarta-annotations/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-annotations/2.0/TCK-Results.md
new file mode 100644
index 0000000..0b19b0b
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-annotations/2.0/TCK-Results.md
@@ -0,0 +1,36 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Annotations.
+
+# Jakarta Annotations 2.0 Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ Jakarta Annotations 2.0
+ [Jakarta Annotations Project](https://github.com/eclipse-ee4j/common-annotations-api)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Annotations 2.0](https://jakarta.ee/specifications/annotations/2.0)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Annotations TCK 2.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-annotations-tck-2.0.0.zip), SHA-256: `65a2946225d3a408c8e235605e4a976a6d75cdc6c16d9f2b9f99b47716e246d0`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 1 tests.
+[javatest.batch] Number of Tests Passed = 1
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-authentication/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-authentication/2.0/TCK-Results.md
new file mode 100644
index 0000000..64189b4
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-authentication/2.0/TCK-Results.md
@@ -0,0 +1,45 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Authentication.
+
+# Eclipse GlassFish 6.0 Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse Glassfish 6.0.0-M3-2020-10-04](https://github.com/eclipse-ee4j/glassfish/releases/download/6.0.0-M3-2020-10-04/glassfish-6.0.0-M3-2020-10-04.zip)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Authentication 2.0](https://jakarta.ee/specifications/authentication/2.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Authentication TCK, 2.0.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-authentication-tck-2.0.0.zip), SHA-256: `4fff0e3984cec6937db1e5b2e1894534f695fe72ad3aeb076a8423fa5845ad07`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_202
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Alpine Linux v3.12
+
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 107 tests.
+[javatest.batch] Number of Tests Passed = 107
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+
+Total time: 5 minutes 54 seconds
+SHA256_GF=f69a582e2ee15f49afb48adb2393d42351256ea070a60513e1ae17afe973e9c3
+SHA256_API=396bd2869dd7d5a79ce495bb9412cc4e4d0422ea8e8d7422419d8ef38b891f8a
+SHA256_TCK=4fff0e3984cec6937db1e5b2e1894534f695fe72ad3aeb076a8423fa5845ad07
+Product_download=https://download.eclipse.org/ee4j/glassfish/weekly/glassfish-6.0.0-SNAPSHOT-2020-10-04.zip (= https://github.com/eclipse-ee4j/glassfish/releases/download/6.0.0-M3-2020-10-04/glassfish-6.0.0-M3-2020-10-04.zip)
+API_download=https://jakarta.oss.sonatype.org/content/repositories/staging/jakarta/authentication/jakarta.authentication-api/2.0.0/jakarta.authentication-api-2.0.0.jar
+TCK_download=https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-authentication-tck-2.0.0.zip
+OS4=3.12.0 NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.0 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+JDK_VERSION=java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-authorization/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-authorization/2.0/TCK-Results.md
new file mode 100644
index 0000000..e6a9288
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-authorization/2.0/TCK-Results.md
@@ -0,0 +1,46 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Authorization.
+
+# Eclipse GlassFish 6.0 Certification Request
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse Glassfish 6.0.0-M2-servlet5](https://github.com/eclipse-ee4j/glassfish/releases/tag/6.0.0-M2-servlet5)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Authorization 2.0](https://jakarta.ee/specifications/authorization/2.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Authorization TCK 2.0.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-authorization-tck-2.0.0.zip), SHA-256: `e92142d0d45fa523bb997114c86d28b06db1f725cfe8842d77566985e3116d21`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_202
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Alpine Linux v3.12
+
+
+Test results:
+
+```
+
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 34 tests.
+[javatest.batch] Number of Tests Passed = 34
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+
+BUILD SUCCESSFUL
+Total time: 1 minute 4 seconds
+SHA256_API=89352076473046b40a6ba4b400477ad79d213cdee6e26fa73db085a88be8f481
+SHA256_TCK=e92142d0d45fa523bb997114c86d28b06db1f725cfe8842d77566985e3116d21
+Product_download=https://download.eclipse.org/ee4j/glassfish/weekly/glassfish-6.0.0-SNAPSHOT-2020-08-23.zip
+API_download=https://jakarta.oss.sonatype.org/content/repositories/staging/jakarta/authorization/jakarta.authorization-api/2.0.0/jakarta.authorization-api-2.0.0.jar
+TCK_download=https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-authorization-tck-2.0.0.zip
+OS4=3.12.0 NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.0 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+JDK_VERSION=java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-concurrency/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-concurrency/2.0/TCK-Results.md
new file mode 100644
index 0000000..2ddd473
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-concurrency/2.0/TCK-Results.md
@@ -0,0 +1,122 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Concurrency.
+
+# 1.1 Certification Request
+
+- [x] Organization Name ("Organization") and, if applicable, URL: <br/>
+ Eclipse Foundation
+- [x] Product Name, Version and download URL (if applicable): <br/>
+ [GlassFish 6.0.0-M1](http://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-M1.zip)
+- [x] Specification Name, Version and download URL: <br/>
+ [Jakarta Concurrency 2.0](https://jakarta.ee/specifications/concurrency/2.0/)
+- [x] TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Concurrency TCK 2.0.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-concurrency-tck-2.0.0.zip), SHA-256: 59662088bc0a7e66b0042015c013b1ded0cf920f5d43519914f0588390443e26
+- [x] Public URL of TCK Results Summary: <br/>
+ [TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-concurrency/2.0/TCK-Results)
+- [x] Any Additional Specification Certification Requirements: <br/>
+ None
+- [x] Java runtime used to run the implementation: <br/>
+ java version "1.8.0_202"
+ Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
+ Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+- [x] Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux basic-dltjh 3.10.0-1062.el7.x86_64 #1 SMP Thu Jul 18 20:25:13 UTC 2019 x86_64 GNU/Linux
+- [x] By checking this box I acknowledge that the Organization I represent accepts the terms of the [EFTL](https://www.eclipse.org/legal/tck.php).
+- [x] By checking this box I attest that all TCK requirements have been met, including any compatibility rules.
+
+Test results:
+
+```
+[javatest.batch] Number of Tests Passed = 72
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/AbortedException/Client.java#AbortedExceptionNoArgTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/AbortedException/Client.java#AbortedExceptionStringTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/AbortedException/Client.java#AbortedExceptionStringThrowableTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/AbortedException/Client.java#AbortedExceptionThrowableTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithIntf_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithIntfAndInstanceIsNull_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithIntfAndIntfNoImplemented_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithIntfAndProperties_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithIntfAndPropertiesAndIntfNoImplemented_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithIntfsAndPropertiesAndInstanceIsNull_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithMultiIntfs_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithMultiIntfsAndInstanceIsNull_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithMultiIntfsAndIntfNoImplemented_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithMultiIntfsAndProperties_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithMultiIntfsAndPropertiesAndInstanceIsNull_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#ContextServiceWithMultiIntfsAndPropertiesAndIntfNoImplemented_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#GetExecutionProperties_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ContextService/Client.java#GetExecutionPropertiesNoProxy_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/LastExecution/Client.java#lastExecutionGetIdentityNameTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/LastExecution/Client.java#lastExecutionGetResultTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/LastExecution/Client.java#lastExecutionGetRunningTimeTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManageableThread/Client.java#isShutdown_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#IsCurrentThreadShutdown_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#IsCurrentThreadShutdown_ManageableThread_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageCallableTaskWithMapAndNullArg_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageCallableTaskWithNullArg_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageCallableTaskWithTaskListener_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageCallableTaskWithTaskListenerAndMap_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageRunnableTaskWithMapAndNullArg_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageRunnableTaskWithNullArg_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageRunnableTaskWithTaskListener_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedExecutors/Client.java#ManageRunnableTaskWithTaskListenerAndMap_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedScheduledExecutorService/Client.java#normalScheduleProcess1Test_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedScheduledExecutorService/Client.java#normalScheduleProcess2Test_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedScheduledExecutorService/Client.java#nullCallableScheduleProcessTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedScheduledExecutorService/Client.java#nullCommandScheduleProcessTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedTask/Client.java#GetExecutionProperties_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedTask/Client.java#GetManagedTaskListener_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedTaskListener/Client.java#TaskAborted_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedTaskListener/Client.java#TaskDone_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedTaskListener/Client.java#TaskStarting_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/ManagedTaskListener/Client.java#TaskSubmitted_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/SkippedException/Client.java#SkippedExceptionNoArgTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/SkippedException/Client.java#SkippedExceptionStringTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/SkippedException/Client.java#SkippedExceptionStringThrowableTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/SkippedException/Client.java#SkippedExceptionThrowableTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/Trigger/Client.java#triggerGetNextRunTimeTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/api/Trigger/Client.java#triggerSkipRunTest_from_servlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ContextService/contextPropagate_servlet/Client.java#testClassloaderInServlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ContextService/contextPropagate_servlet/Client.java#testJNDIContextInServlet
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedExecutorService/inheritedapi/Client.java#testBasicManagedExecutorService
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedExecutorService/managed_servlet/forbiddenapi/Client.java#testAwaitTermination
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedExecutorService/managed_servlet/forbiddenapi/Client.java#testIsShutdown
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedExecutorService/managed_servlet/forbiddenapi/Client.java#testIsTerminated
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedExecutorService/managed_servlet/forbiddenapi/Client.java#testShutdown
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedExecutorService/managed_servlet/forbiddenapi/Client.java#testShutdownNow
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/inheritedapi_servlet/Client.java#testApiExecute
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/inheritedapi_servlet/Client.java#testApiInvokeAll
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/inheritedapi_servlet/Client.java#testApiInvokeAny
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/inheritedapi_servlet/Client.java#testApiSchedule
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/inheritedapi_servlet/Client.java#testApiScheduleAtFixedRate
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/inheritedapi_servlet/Client.java#testApiScheduleWithFixedDelay
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/inheritedapi_servlet/Client.java#testApiSubmit
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/managed/forbiddenapi_servlet/Client.java#testAwaitTermination
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/managed/forbiddenapi_servlet/Client.java#testIsShutdown
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/managed/forbiddenapi_servlet/Client.java#testIsTerminated
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/managed/forbiddenapi_servlet/Client.java#testShutdown
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedScheduledExecutorService/managed/forbiddenapi_servlet/Client.java#testShutdownNow
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedThreadFactory/apitests/Client.java#implementsManageableThreadInterfaceTest
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedThreadFactory/apitests/Client.java#interruptThreadApiTest
+[javatest.batch] PASSED........com/sun/ts/tests/concurrency/spec/ManagedThreadFactory/context_servlet/Client.java#jndiClassloaderPropagationTest
+[javatest.batch] PASSED........com/sun/ts/tests/signaturetest/concurrency/CONCURRENCYSigTest.java#signatureTest_from_standalone
+[javatest.batch]
+[javatest.batch] Oct 7, 2020 8:37:40 PM Finished executing all tests, wait for cleanup...
+[javatest.batch] Oct 7, 2020 8:37:40 PM Harness done with cleanup from test run.
+[javatest.batch] Total time = 462s
+[javatest.batch] Setup time = 0s
+[javatest.batch] Cleanup time = 0s
+[javatest.batch] Test results: passed: 72
+[javatest.batch] Results written to /home/jenkins/agent/workspace/TCK_run_EE9/JTwork.
+[javatest.batch] Report written to /home/jenkins/agent/workspace/TCK_run_EE9/JTreport
+
+BUILD SUCCESSFUL
+Total time: 7 minutes 43 seconds
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-connectors/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-connectors/2.0/TCK-Results.md
new file mode 100644
index 0000000..8063321
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-connectors/2.0/TCK-Results.md
@@ -0,0 +1,176 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Connectors.
+
+# 2.0 Certification Request
+
+- [x] Organization Name ("Organization") and, if applicable, URL: <br/>
+ Eclipse Foundation
+- [x] Product Name, Version and download URL (if applicable): <br/>
+ [GlassFish 6.0.0-M1](https://www.eclipse.org/downloads/download.php?file=/ee4j/glassfish/glassfish-6.0.0-M1.zip)
+- [x] Specification Name, Version and download URL: <br/>
+ [Jakarta Connectors 2.0](https://jakarta.ee/specifications/connectors/2.0/)
+- [x] TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Connectors TCK 2.0.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-connectors-tck-2.0.0.zip), SHA-256: d5dcaaeb486a0ab86b99f0f421244388cdbd3f342141d15fc25a2734ac7d03c3
+- [x] Public URL of TCK Results Summary: <br/>
+ [TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-connectors/2.0/TCK-Results)
+- [x] Any Additional Specification Certification Requirements: <br/>
+ None
+- [x] Java runtime used to run the implementation: <br/>
+ java version "1.8.0_202"
+ Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
+ Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+- [x] Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux basic-t3vt7 3.10.0-1062.el7.x86_64 #1 SMP Thu Jul 18 20:25:13 UTC 2019 x86_64 GNU/Linux
+- [x] By checking this box I acknowledge that the Organization I represent accepts the terms of the [EFTL](https://www.eclipse.org/legal/tck.php).
+- [x] By checking this box I attest that all TCK requirements have been met, including any compatibility rules.
+
+Test results:
+
+```
+[javatest.batch] Number of Tests Passed = 133
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/anno/annotationClient.java#testConfigPropertyAnnotation_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/anno/annotationClient.java#testConnectorAnnotation_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/anno/annotationClient.java#testRAAccessibility_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/anno/annotationClient.java#testSetterMethodConfigPropAnno_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/mdcomplete/Client.java#testMDCompleteConfigProp_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/mdcomplete/Client.java#testMDCompleteMCFAnno_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/partialanno/paClient.java#testDDOverridesAnno_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/partialanno/paClient.java#testMixedModeConfigPropertyMCF_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/partialanno/paClient.java#testMixedModeConfigPropertyNoOverride_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/partialanno/paClient.java#testMixedModeConfigPropertyOverride_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/partialanno/paClient.java#testMixedModeConfigPropertyRA_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/annotations/partialanno/paClient.java#testNoDefaultVallAnnoElement_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/connManager/connManagerClient1.java#testcheckConnectionManager_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/connManager/connManagerClient1.java#testTransactionSupportLevels_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIApplicationServerInternalException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPICommException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIEISSystemException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIHintsContext_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIIllegalStateException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIInvalidPropertyException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPILocalTransactionException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIManagedConnection_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIManagedConnectionMetaData_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPINotSupportedException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIResourceAdapterInternalException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIResourceAllocationException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIResourceException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIRetryableUnavailableException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIRetryableWorkRejectedException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPISecurityException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPISharingViolationException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIUnavailableException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIWorkCompletedException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIWorkException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testAPIWorkRejectedException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testGetConnection1_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/connection/connectionClient1.java#testgetConnectionWithParameter1_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/event/eventClient1.java#testConnectionEventListener_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/lifecycle/lifecycleClient1.java#testAssociationMCFandRA_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/lifecycle/lifecycleClient1.java#testAssociationMCFandRA2_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/lifecycle/lifecycleClient1.java#testBootstrapforNull_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/lifecycle/lifecycleClient1.java#testInstantiationOfRA_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/lifecycle/lifecycleClient1.java#testMCFcalledOnce_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/lifecycle/lifecycleClient1.java#testRAforJavaBean_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/lifecycle/lifecycleClient1.java#testRASharability_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testAppEISSignon_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestAllCallbacksAndPrin_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestAllCallbacksNullPrin_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestCPCandGPC_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestCPCandNullPrin_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestCPCandPrin_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestCPCandPVC_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestEISCPCandPrin_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testCBTestGPCandCPCFail_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testComponentManaged_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testConnManagerAllocateConnection_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/security/securityClient1.java#testContainerManaged_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/transinflow/transinflowClient1.java#testConcurrentWorkXid_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/transinflow/transinflowClient1.java#testGetTransactionSupport_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/transinflow/transinflowClient1.java#testSetResourceAdapterMethod_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/transinflow/transinflowClient1.java#testTransactionSynchronizationRegistry_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/transinflow/transinflowClient1.java#testXATerminator_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testHICNotifications_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testIsContextSupported_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testNestedWorkContexts_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testNestedWorkContexts2_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testNestedWorkContexts3_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testSecurityContextCBH_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testSecurityContextExecSubject_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testSecurityContextServiceSubject_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testWorkContextErrorCode_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testWorkContextErrorCode2_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testWorkContextNotifications_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workcontext/WorkContextClient.java#testWorkContextProvider_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testForUnsharedTimer_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testNestedWork_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testScheduleWork_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testScheduleWorkListener_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testUnknownWorkDuration_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testWorkCompletedException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testWorkListenerImplementation_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/localTx/workmgt/workmgtClient1.java#testWorkManagerImplementaion_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/connection/connectionClient1.java#testGetConnection1_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/connection/connectionClient1.java#testgetConnectionWithParameter1_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/event/eventClient1.java#testConnectionEventListener_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/lifecycle/lifecycleClient1.java#testAssociationMCFandRA_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/lifecycle/lifecycleClient1.java#testAssociationMCFandRA2_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/lifecycle/lifecycleClient1.java#testBootstrapforNull_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/lifecycle/lifecycleClient1.java#testInstantiationOfRA_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/lifecycle/lifecycleClient1.java#testMCFcalledOnce_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/lifecycle/lifecycleClient1.java#testRAforJavaBean_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/lifecycle/lifecycleClient1.java#testRASharability_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/security/securityClient1.java#testAppEISSignon_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/security/securityClient1.java#testComponentManaged_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/security/securityClient1.java#testConnManagerAllocateConnection_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/security/securityClient1.java#testContainerManaged_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testForUnsharedTimer_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testNestedWork_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testScheduleWork_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testScheduleWorkListener_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testUnknownWorkDuration_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testWorkCompletedException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testWorkListenerImplementation_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/noTx/workmgt/workmgtClient1.java#testWorkManagerImplementaion_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/permissiondd/Client.java#testValidateCustomPerm_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/permissiondd/Client.java#testValidateLocalGrantForCustomPerm_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/permissiondd/Client.java#testValidateLocalPermsInvalidName_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/permissiondd/Client.java#testValidateMissingPermFails_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/permissiondd/Client.java#testValidateRequiredPermSet_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/permissiondd/Client.java#testValidateRestrictedLocalPerm_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/connection/connectionClient1.java#testGetConnection1_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/connection/connectionClient1.java#testgetConnectionWithParameter1_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/event/eventClient1.java#testConnectionEventListener_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/lifecycle/lifecycleClient1.java#testAssociationMCFandRA_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/lifecycle/lifecycleClient1.java#testAssociationMCFandRA2_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/lifecycle/lifecycleClient1.java#testBootstrapforNull_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/lifecycle/lifecycleClient1.java#testInstantiationOfRA_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/lifecycle/lifecycleClient1.java#testMCFcalledOnce_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/lifecycle/lifecycleClient1.java#testRAforJavaBean_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/lifecycle/lifecycleClient1.java#testRASharability_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/security/securityClient1.java#testAppEISSignon_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/security/securityClient1.java#testComponentManaged_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/security/securityClient1.java#testConnManagerAllocateConnection_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/security/securityClient1.java#testContainerManaged_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testForUnsharedTimer_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testNestedWork_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testScheduleWork_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testScheduleWorkListener_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testUnknownWorkDuration_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testWorkCompletedException_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testWorkListenerImplementation_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/connector/xa/workmgt/workmgtClient1.java#testWorkManagerImplementaion_from_connectorservlet
+[javatest.batch] PASSED........com/sun/ts/tests/signaturetest/connector/ConnectorSigTest.java#signatureTest
+[javatest.batch]
+[javatest.batch] Total time = 215s
+[javatest.batch] Setup time = 0s
+[javatest.batch] Cleanup time = 0s
+[javatest.batch] Test results: passed: 133
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-debugging/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-debugging/2.0/TCK-Results.md
new file mode 100644
index 0000000..325a48c
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-debugging/2.0/TCK-Results.md
@@ -0,0 +1,43 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta EE Debugging Support for Other Languages.
+
+# Eclipse GlassFish 6.0 Certification Request for Jakarta EE Debugging Support
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ This specification does not define an API. The TCK verifies required behavior.
+- Specification Name, Version and download URL: <br/>
+ [Jakarta EE Debugging Support for Other Languages 2.0](https://jakarta.ee/specifications/debugging/2.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE Debugging Support for Other Languages TCK 2.0.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-debugging-tck-2.0.0.zip), SHA-256: `71999815418799837dc6f3d0dc40c3dcc4144cd90c7cdfd06aa69270483d78bc`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+Test results:
+
+```
++ /opt/jdk1.8.0_191/bin/java VerifySMAP /home/jenkins/agent/workspace/t-for-other-languages-tck_master/vi/glassfish6/glassfish/domains/domain1/generated/jsp/testclient/org/apache/jsp/Hello_jsp.class.smap
+++ grep 'is a correctly formatted SMAP' smap.log
+++ wc -l
++ output=1
++ echo 1
+1
++ [[ 1 < 1 ]]
++ failures=0
++ status=Passed
++ echo '<testsuite id="1" name="debugging-tck" tests="1" failures="0" errors="0" disabled="0" skipped="0">'
++ echo '<testcase name="VerifySMAP" classname="VerifySMAP" time="0" status="Passed"><system-out></system-out></testcase>'
++ echo '</testsuite>'
++ echo ''
+
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-enterprise-beans/4.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-enterprise-beans/4.0/TCK-Results.md
new file mode 100644
index 0000000..e3a0bd1
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-enterprise-beans/4.0/TCK-Results.md
@@ -0,0 +1,37 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Enterprise Beans.
+
+# Jakarta Enterprise Beans 4.0, Eclipse GlassFish 6.0 RC2, Full Profile, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ [glassfish-6.0.0-RC2.zip](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC2.zip)
+ Includes Jakarta Enterprise Beans 4.0
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Enterprise Beans 4.0](https://jakarta.ee/specifications/enterprise-beans/4.0/)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE Platform TCK 9.0-RC1](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0-RC1.zip), SHA-256: `75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392`
+
+- Public URL of TCK Results Summary: <br/>
+ There is no stand-alone TCK for this specification. See Platform TCK for results.
+ [TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0-RC1/TCK-Results)
+
+- Any Additional Specification Certification Requirements: <br/>
+ None
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+
+Test results:
+
+[TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0-RC1/TCK-Results)
diff --git a/docs/website/src/main/resources/certifications/jakarta-enterprise-web-services/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-enterprise-web-services/2.0/TCK-Results.md
new file mode 100644
index 0000000..55eafcb
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-enterprise-web-services/2.0/TCK-Results.md
@@ -0,0 +1,54 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Enterprise Web Services.
+
+# Eclipse GlassFish 6.0.0-RC1, Full Profile, Certification Summary
+
+- Product Name, Version and download URL (if applicable):<br/>
+ [Eclipse GlassFish 6.0.0-RC1](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC1.zip)
+ This specification does not define an API. CTS TCK verifies required behavior.
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Enterprise Web Services 2.0](https://jakarta.ee/specifications/enterprise-ws/2.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE Platform TCK 9.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/history/jakarta-jakartaeetck-9.0.0-2020-10-18-7a8978f6f87a8347993ffbd6c28fa16587c4a10983d7ebd78d9709555662411c.zip), SHA-256: `7a8978f6f87a8347993ffbd6c28fa16587c4a10983d7ebd78d9709555662411c`
+- Public URL of TCK Results Summary: <br/>
+ There is no stand-alone TCK for this specification. See Platform CTS for results.
+ [TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-enterprise-web-services/2.0/TCK-Results)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7, Apache Derby
+- By checking this box I acknowledge that the Organization I represent accepts the terms of the [EFTL](https://www.eclipse.org/legal/tck.php).
+- By checking this box I attest that all TCK requirements have been met, including any compatibility rules.
+
+Test results:
+```
+Test Suite Name: ejb30/webservice
+********************************************************************************
+Completed running 3 tests.
+Number of Tests Passed = 3
+Number of Tests Failed = 0
+Number of Tests with Errors = 0
+********************************************************************************
+
+Test Suite Name: webservices12
+********************************************************************************
+Completed running 242 tests.
+Number of Tests Passed = 242
+Number of Tests Failed = 0
+Number of Tests with Errors = 0
+********************************************************************************
+
+Test Suite Name: webservices13
+********************************************************************************
+Completed running 53 tests.
+Number of Tests Passed = 53
+Number of Tests Failed = 0
+Number of Tests with Errors = 0
+********************************************************************************
+```
\ No newline at end of file
diff --git a/docs/website/src/main/resources/certifications/jakarta-expression-language/4.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-expression-language/4.0/TCK-Results.md
new file mode 100644
index 0000000..46275a1
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-expression-language/4.0/TCK-Results.md
@@ -0,0 +1,46 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Expression Language.
+
+# Jakarta Expression Language 4.0, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ Expression Language 4.0.0.
+ [Expression Language Implementation Project](https://github.com/eclipse-ee4j/el-ri)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Expression Language 4.0](https://jakarta.ee/specifications/expression-language/4.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Expression Language TCK 4.0](https://download.eclipse.org/jakartaee/expression-language/4.0/eclipse-expression-language-tck-4.0.0.zip), SHA-256: `fa359403e898edbcf81e01c03979e8a052c6e21fc06fc1b215078cc4a2d57d2c`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_202
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Alpine Linux v3.12
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 336 tests.
+[javatest.batch] Number of Tests Passed = 336
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+
+BUILD SUCCESSFUL
+Total time: 8 minutes 0 seconds
+SHA256_GF=16ffa2afdbfb880229d1b4701d0470d7617664fec4e2c898be2dc04adae9509f
+SHA256_API=bdac40bf13816ce511c83fe00be4ab3447c5cd0e2dfc0c7c03d9ce8fa4b3e9e7
+SHA256_TCK=fa359403e898edbcf81e01c03979e8a052c6e21fc06fc1b215078cc4a2d57d2c
+Product_download=https://ci.eclipse.org/glassfish/job/glassfish_build-and-test-using-jenkinsfile/job/master/238/artifact/bundles/glassfish.zip
+API_download=https://jakarta.oss.sonatype.org/content/repositories/staging/jakarta/el/jakarta.el-api/4.0.0/jakarta.el-api-4.0.0.jar
+TCK_download=https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-expression-language-tck-4.0.0.zip
+OS4=3.12.0 NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.0 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+JDK_VERSION=java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-faces/3.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-faces/3.0/TCK-Results.md
new file mode 100644
index 0000000..30c9a82
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-faces/3.0/TCK-Results.md
@@ -0,0 +1,47 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Server Faces.
+
+# Eclipse Mojarra 3.0.0, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ Eclipse Mojarra 3.0.0, provides Jakarta Server Faces 3.0
+ [Eclipse Mojarra Project](https://github.com/eclipse-ee4j/mojarra/releases/download/3.0.0-RC5-RELEASE/jakarta.faces-3.0.0-RC5.jar)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Server Faces, 3.0](https://jakarta.ee/specifications/faces/3.0)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Server Faces 3.0, TCK](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-faces-tck-3.0.0.zip), SHA-256: `67e7acb555ac2c8955b4157118ef86a5fbb57fb9a65e3d0d75992ec83004204e`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_202
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Alpine Linux v3.12
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 5525 tests.
+[javatest.batch] Number of Tests Passed = 5525
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+```
+
+```
+BUILD SUCCESSFUL
+Total time: 136 minutes 33 seconds
+SHA256_IMPL=f0de1f4b119e54dcb04459de8cdac3835b79e8f2859e570a496e11d3be198aff
+SHA256_TCK=67e7acb555ac2c8955b4157118ef86a5fbb57fb9a65e3d0d75992ec83004204e
+Product_download=https://download.eclipse.org/ee4j/glassfish/weekly/glassfish-6.0.0-SNAPSHOT-2020-10-04.zip
+IMPL_download=https://jakarta.oss.sonatype.org/content/repositories/staging/org/glassfish/jakarta.faces/3.0.0-RC5/jakarta.faces-3.0.0-RC5.jar
+TCK_download=https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-faces-tck-3.0.0.zip
+OS4=3.12.0 NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.0 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+JDK_VERSION=java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
\ No newline at end of file
diff --git a/docs/website/src/main/resources/certifications/jakarta-full-profile/9.0-RC1/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-full-profile/9.0-RC1/TCK-Results.md
new file mode 100644
index 0000000..68458c5
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-full-profile/9.0-RC1/TCK-Results.md
@@ -0,0 +1,600 @@
+TCK Results
+===========
+
+** These are Preliminary Results **
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta EE Platform, Full Profile.
+
+# Eclipse GlassFish 6.0, Jakarta EE 9 TCK Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ (https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC2.zip)
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta EE Platform, 9.0](https://jakarta.ee/specifications/platform/9/)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE Platform TCK 9.0](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0-RC1.zip), SHA-256: `75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392`
+
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+
+- Any Additional Specification Certification Requirements: <br/>
+ Jakarta Dependency Injection 2.0 TCK <br/>
+ Jakarta Contexts and Dependency Injection 3.0 TCK <br/>
+ Jakarta Bean Validation 3.0 TCK <br/>
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Apache Derby, Linux, Centos 7
+
+
+Test results:
+
+```
+Stage Name: appclient
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 50 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 50
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ ***********************************************************************************
+
+Stage Name: assembly
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: concurrency
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 205 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 205
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: connector
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 477 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 477
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1793 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1793
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/assembly
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 51 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 51
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/bb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1200 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1200
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/appexception
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 365 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 365
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/async
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 300 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 300
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/basic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 105 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 105
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/ejbcontext
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 50 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 50
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/enventry
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/interceptor
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 175 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 175
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/lookup
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/naming
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 54 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 54
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/nointerface
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 60 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 60
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/packaging
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 211 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 211
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/singleton
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 230 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 230
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 10
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/stateful
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 129 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 129
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/tx
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 358 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 358
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/view
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 95 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 95
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/xmloverride
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/misc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 100 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 100
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/sec
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 99 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 99
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/timer
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 178 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 178
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/webservice
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 3 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 3
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/zombie
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb32
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 825 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 825
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: el
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 667 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 667
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: integration
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 18 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 18
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jacc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 40 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 40
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaspic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 68 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 68
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: javaee
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 24 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 24
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: javamail
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 112 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 112
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaxrs
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 2804 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 2804
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jbatch
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 322 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 322
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_appclient
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_ejb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_jsp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_servlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jms
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 3510 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 3510
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_appmanaged
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1733 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1733
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_appmanagedNoTx
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1873 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1873
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_pmservlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1881 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1881
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_puservlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1871 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1871
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_stateful3
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1733 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1733
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_stateless3
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1883 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1883
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsf
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 5526 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 5526
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1082 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1082
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 744 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 744
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 730 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 730
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jstl
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 541 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 541
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jta
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 195 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 195
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: samples
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 12 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 12
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: securityapi
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 84 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 84
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: servlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1735 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1735
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: signaturetest/javaee
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 4 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 4
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: webservices12
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 242 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 242
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: webservices13
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 53 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 53
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: websocket
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 745 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 745
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: xa
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 66 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 66
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+```
+
+Additionally, Jakarta EE 9 Specification requires the following TCKs:
+
+Jakarta Dependency Injection 2.0 TCK
+
+Download URL & SHA-256
+
+[jakarta.inject-tck-2.0.1-bin.zip](https://download.eclipse.org/jakartaee/dependency-injection/2.0/jakarta.inject-tck-2.0.1-bin.zip), <br/>
+SHA-256: `7853d02d372838f8300f5a18cfcc23011c9eb9016cf3980bba9442e4b1f8bfc6`
+
+TCK result summary:
+```
+ [junit] Testsuite: org.jboss.weld.atinject.tck.AtInjectTCK
+ [junit] Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 sec
+```
+
+Jakarta Contexts and Dependency Injection 3.0 TCK
+
+Download URL & SHA-256
+
+[cdi-tck-3.0.1-dist.zip](http://download.eclipse.org/jakartaee/cdi/3.0/cdi-tck-3.0.1-dist.zip), <br/>
+SHA-256: `f0a3bdd81ea552ddf2c2a6cd2576f0d5ca45026665cb4a5c42606a58bf1c133d`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2,556.506 sec
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0
+```
+
+Jakarta Bean Validation 3.0 TCK
+
+Download URL & SHA-256
+
+[beanvalidation-tck-dist-3.0.0.zip](https://download.eclipse.org/jakartaee/bean-validation/3.0/beanvalidation-tck-dist-3.0.0.zip), <br/>
+SHA-256: `c975fd229df0c40947a9f0a69b779ec92bebb3d21e05fdc65fccc1d11ef5525b`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 603.628 sec - in TestSuite
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0
+```
+
+
+Jakarta Debugging Support for Other Languages 2.0 TCK
+
+Download URL & SHA-256
+
+[jakarta-debugging-tck-2.0.0.zip](https://download.eclipse.org/jakartaee/debugging/2.0/jakarta-debugging-tck-2.0.0.zip), <br/>
+SHA-256: `71999815418799837dc6f3d0dc40c3dcc4144cd90c7cdfd06aa69270483d78bc`
+
+TCK Result Summary:
+```
++ /opt/jdk1.8.0_191/bin/java VerifySMAP /home/jenkins/agent/workspace/t-for-other-languages-tck_master/vi/glassfish6/glassfish/domains/domain1/generated/jsp/testclient/org/apache/jsp/Hello_jsp.class.smap
+++ grep 'is a correctly formatted SMAP' smap.log
+++ wc -l
++ output=1
++ echo 1
+1
++ [[ 1 < 1 ]]
++ failures=0
++ status=Passed
++ echo '<testsuite id="1" name="debugging-tck" tests="1" failures="0" errors="0" disabled="0" skipped="0">'
++ echo '<testcase name="VerifySMAP" classname="VerifySMAP" time="0" status="Passed"><system-out></system-out></testcase>'
++ echo '</testsuite>'
++ echo ''
+
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-full-profile/9.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-full-profile/9.0/TCK-Results.md
new file mode 100644
index 0000000..73115f8
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-full-profile/9.0/TCK-Results.md
@@ -0,0 +1,599 @@
+TCK Results
+===========
+
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta EE Platform, Full Profile.
+
+# Eclipse GlassFish 6.0, Jakarta EE 9 TCK Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ [glassfish-6.0.0.zip](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0.zip), SHA-256: `A528811169E2C97D13618C1985BF6A70160E251B1B8A68BB22D43D9EE367E2E0`
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta EE Platform, 9.0](https://jakarta.ee/specifications/platform/9/)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE Platform TCK 9.0](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0.zip), SHA-256: `75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392`
+
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+
+- Any Additional Specification Certification Requirements: <br/>
+ Jakarta Dependency Injection 2.0 TCK <br/>
+ Jakarta Contexts and Dependency Injection 3.0 TCK <br/>
+ Jakarta Bean Validation 3.0 TCK <br/>
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Apache Derby, Linux, Centos 7
+
+
+Test results:
+
+```
+Stage Name: appclient
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 50 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 50
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ ***********************************************************************************
+
+Stage Name: assembly
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: concurrency
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 205 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 205
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: connector
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 477 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 477
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1793 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1793
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/assembly
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 51 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 51
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/bb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1200 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1200
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/appexception
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 365 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 365
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/async
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 300 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 300
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/basic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 105 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 105
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/ejbcontext
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 50 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 50
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/enventry
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/interceptor
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 175 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 175
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/lookup
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/naming
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 54 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 54
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/nointerface
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 60 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 60
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/packaging
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 211 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 211
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/singleton
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 230 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 230
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 10
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/stateful
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 129 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 129
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/tx
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 358 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 358
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/view
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 95 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 95
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/xmloverride
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/misc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 100 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 100
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/sec
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 99 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 99
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/timer
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 178 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 178
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/webservice
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 3 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 3
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/zombie
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb32
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 825 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 825
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: el
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 667 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 667
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: integration
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 18 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 18
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jacc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 40 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 40
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaspic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 68 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 68
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: javaee
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 24 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 24
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: javamail
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 112 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 112
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaxrs
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 2804 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 2804
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jbatch
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 322 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 322
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_appclient
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_ejb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_jsp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc_servlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1231 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1231
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jms
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 3510 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 3510
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_appmanaged
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1733 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1733
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_appmanagedNoTx
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1873 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1873
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_pmservlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1881 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1881
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_puservlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1871 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1871
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_stateful3
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1733 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1733
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa_stateless3
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1883 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1883
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsf
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 5526 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 5526
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1082 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1062
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 744 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 744
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 730 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 730
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jstl
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 541 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 541
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jta
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 195 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 195
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: samples
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 12 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 12
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: securityapi
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 84 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 84
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: servlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1735 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1733
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: signaturetest/javaee
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 4 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 4
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: webservices12
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 242 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 242
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: webservices13
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 53 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 53
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: websocket
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 745 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 745
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: xa
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 66 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 66
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+```
+
+Additionally, Jakarta EE 9 Specification requires the following TCKs:
+
+Jakarta Dependency Injection 2.0 TCK
+
+Download URL & SHA-256
+
+[jakarta.inject-tck-2.0.1-bin.zip](https://download.eclipse.org/jakartaee/dependency-injection/2.0/jakarta.inject-tck-2.0.1-bin.zip), <br/>
+SHA-256: `7853d02d372838f8300f5a18cfcc23011c9eb9016cf3980bba9442e4b1f8bfc6`
+
+TCK result summary:
+```
+ [junit] Testsuite: org.jboss.weld.atinject.tck.AtInjectTCK
+ [junit] Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 sec
+```
+
+Jakarta Contexts and Dependency Injection 3.0 TCK
+
+Download URL & SHA-256
+
+[cdi-tck-3.0.1-dist.zip](http://download.eclipse.org/jakartaee/cdi/3.0/cdi-tck-3.0.1-dist.zip), <br/>
+SHA-256: `f0a3bdd81ea552ddf2c2a6cd2576f0d5ca45026665cb4a5c42606a58bf1c133d`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2,556.506 sec
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0
+```
+
+Jakarta Bean Validation 3.0 TCK
+
+Download URL & SHA-256
+
+[beanvalidation-tck-dist-3.0.0.zip](https://download.eclipse.org/jakartaee/bean-validation/3.0/beanvalidation-tck-dist-3.0.0.zip), <br/>
+SHA-256: `c975fd229df0c40947a9f0a69b779ec92bebb3d21e05fdc65fccc1d11ef5525b`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 603.628 sec - in TestSuite
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0
+```
+
+
+Jakarta Debugging Support for Other Languages 2.0 TCK
+
+Download URL & SHA-256
+
+[jakarta-debugging-tck-2.0.0.zip](https://download.eclipse.org/jakartaee/debugging/2.0/jakarta-debugging-tck-2.0.0.zip), <br/>
+SHA-256: `71999815418799837dc6f3d0dc40c3dcc4144cd90c7cdfd06aa69270483d78bc`
+
+TCK Result Summary:
+```
++ /opt/jdk1.8.0_191/bin/java VerifySMAP /home/jenkins/agent/workspace/t-for-other-languages-tck_master/vi/glassfish6/glassfish/domains/domain1/generated/jsp/testclient/org/apache/jsp/Hello_jsp.class.smap
+++ grep 'is a correctly formatted SMAP' smap.log
+++ wc -l
++ output=1
++ echo 1
+1
++ [[ 1 < 1 ]]
++ failures=0
++ status=Passed
++ echo '<testsuite id="1" name="debugging-tck" tests="1" failures="0" errors="0" disabled="0" skipped="0">'
++ echo '<testcase name="VerifySMAP" classname="VerifySMAP" time="0" status="Passed"><system-out></system-out></testcase>'
++ echo '</testsuite>'
++ echo ''
+
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-interceptors/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-interceptors/2.0/TCK-Results.md
new file mode 100644
index 0000000..380c1ca
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-interceptors/2.0/TCK-Results.md
@@ -0,0 +1,37 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Interceptors.
+
+# Jakarta Interceptors 2.0, GlassFish 6.0 RC2, Full Profile, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ [glassfish-6.0.0-RC2.zip](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC2.zip)
+ Includes Interceptors 2.0
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Interceptors 2.0](https://jakarta.ee/specifications/interceptors/2.0/)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE 9.0 Platform TCK 9.0-RC1](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0-RC1.zip), SHA-256: `75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392`
+
+- Public URL of TCK Results Summary: <br/>
+ There is no stand-alone TCK for this specification. See Full Platform CTS for results.
+ [TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0-RC1/TCK-Results)
+
+- Any Additional Specification Certification Requirements: <br/>
+ None
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+
+Test results:
+
+[TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0-RC1/TCK-Results)
diff --git a/docs/website/src/main/resources/certifications/jakarta-managed-beans/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-managed-beans/2.0/TCK-Results.md
new file mode 100644
index 0000000..4b25197
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-managed-beans/2.0/TCK-Results.md
@@ -0,0 +1,37 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Managed Beans.
+
+# Jakarta Managed Beans 2.0, Eclipse GlassFish 6.0 RC2, Full Profile, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ [glassfish-6.0.0-RC2.zip](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC2.zip)
+ Includes Managed Beans 2.0
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Managed Beans 2.0](https://jakarta.ee/specifications/managed-beans/2.0/)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE Platform TCK 9.0-RC1](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0-RC1.zip), SHA-256: `75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392`
+
+- Public URL of TCK Results Summary: <br/>
+ There is no stand-alone TCK for this specification. See Platform TCK for results.
+ [TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0-RC1/TCK-Results)
+
+- Any Additional Specification Certification Requirements: <br/>
+ None
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ None
+
+
+Test results:
+
+[TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0-RC1/TCK-Results)
diff --git a/docs/website/src/main/resources/certifications/jakarta-messaging/3.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-messaging/3.0/TCK-Results.md
new file mode 100644
index 0000000..aa18cf2
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-messaging/3.0/TCK-Results.md
@@ -0,0 +1,39 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for Jakarta Messaging, 3.0 with Eclipse GlassFish 6.0 (includes Eclipse Open MQ 6.0)
+
+# Eclipse Open MQ 6.0.0, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ Eclipse GlassFish 6.0, includes: Eclipse Open MQ 6.0.0, which provides Jakarta Messaging API 3.0.0
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ For reference, use imqbrokerd command from GlassFish distribution: glassfish6/mq (bin).
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Messaging 3.0](https://jakarta.ee/specifications/messaging/3.0)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Messaging 3.0, TCK](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-messaging-tck-3.0.0.zip), SHA-256: `2f5e099d9862227d9494e413ebd15033961c4271237453d1d48eb0b0005fd89c`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Number of tests completed: 904 (904 passed, 0 failed, 0 with errors)
+[javatest.batch] Number of tests remaining: 0
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 904 tests.
+[javatest.batch] Number of Tests Passed = 904
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-pages/3.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-pages/3.0/TCK-Results.md
new file mode 100644
index 0000000..132484f
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-pages/3.0/TCK-Results.md
@@ -0,0 +1,753 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Concurrency.
+
+# 3.0 Certification Request Summary
+
+- [x] Organization Name ("Organization") and, if applicable, URL: <br/>
+ Eclipse Foundation
+
+- [x] Product Name, Version and download URL (if applicable): <br/>
+ [GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ [GlassFish 6.0.0 RC1](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC1.zip)
+
+- [x] Specification Name, Version and download URL: <br/>
+ [Jakarta Server Pages 3.0](https://jakarta.ee/specifications/pages/3.0/)
+
+- [x] TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Server Pages TCK 3.0](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-pages-tck-3.0.0.zip), SHA-256: `2C90E6896D8321B82521A84746D6DB5EE900AF31B7850869B890DFDE08FEE8AF`
+
+- [x] Public URL of TCK Results Summary: <br/>
+ [TCK results summary](./TCK-Results)
+
+- [x] Any Additional Specification Certification Requirements: <br/>
+ None
+
+- [x] Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- [x] Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux CentOS 7
+
+
+Test results:
+
+```
+[javatest.batch] Number of tests completed: 703 (703 passed, 0 failed, 0 with errors)
+[javatest.batch] Number of tests remaining: 0
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 703 tests.
+[javatest.batch] Number of Tests Passed = 703
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/arrayelresolver/URLClient.java#arrayElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/beanelresolver/URLClient.java#beanElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/compelresolver/URLClient.java#compositeElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/createmethexpr/URLClient.java#createMethodExpressionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/createvalexpr/URLClient.java#createValueExpressionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/elresolver/URLClient.java#elResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/listelresolver/URLClient.java#listElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/mapelresolver/URLClient.java#mapElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/methodinfo/URLClient.java#methodInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/resourcebundleelresolver/URLClient.java#resourceBundleElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_el/valexpression/URLClient.java#valueExpressionEvaluateTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java#elExceptionCauseCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java#elExceptionCauseMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java#elExceptionDefaultCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java#elExceptionGetRootCauseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java#elExceptionMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elexception/URLClient.java#elExceptionToStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClient.java#elParseExceptionDefaultCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/elparseexception/URLClient.java#elParseExceptionMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expression/URLClient.java#expressionEvaluateTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClient.java#expressionEvaluatorEvaluateTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/expressionevaluator/URLClient.java#expressionEvaluatorParseExpressionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/implicitobjelresolver/URLClient.java#implicitObjElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/scopedattrelresolver/URLClient.java#scopedAttrElResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/el/variableresolver/URLClient.java#variableResolverResolveVariableTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java#errorDataConstructorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java#errorDataGetRequestURITest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java#errorDataGetServletNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java#errorDataGetStatusCodeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/errordata/URLClient.java#errorDataGetThrowableTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClient.java#addELResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspapplicationcontext/URLClient.java#invokeIllegalStateExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspengineinfo/URLClient.java#jspEngineInfoGetSpecificationVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java#jspExceptionCauseCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java#jspExceptionCauseMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java#jspExceptionDefaultCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java#jspExceptionGetRootCauseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspexception/URLClient.java#jspExceptionMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClient.java#jspFactoryGetDefaultFactoryTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClient.java#jspFactoryGetEngineInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspfactory/URLClient.java#jspFactoryGetPageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClient.java#jspTagExceptionCauseCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClient.java#jspTagExceptionCauseMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClient.java#jspTagExceptionDefaultCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jsptagexception/URLClient.java#jspTagExceptionMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterClearBufferTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterClearIOExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterClearTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterCloseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterFlushTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterGetBufferSizeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterGetRemainingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterIsAutoFlushTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterNewLineTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintBooleanTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintCharArrayTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintCharTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintDoubleTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintFloatTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintIntTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnBooleanTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnCharArrayTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnCharTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnDoubleTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnFloatTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnIntTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnLongTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnNullStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnObjectTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintlnTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintLongTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintNullStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintObjectTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/jspwriter/URLClient.java#jspWriterPrintStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextFindAttributeNullNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextFindAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextForwardContextPathTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextForwardIllegalStateExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextForwardPagePathTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetAttributeInScopeIllegalArgumentExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetAttributeNamesInScopeIllegalScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetAttributeNamesInScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetAttributeNPETest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetAttributeScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetAttributesScopeNullNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetErrorDataTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetExpressionEvaluatorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetOutTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetRequestTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetResponseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetServletConfigTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetServletContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetSessionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetSetAttributeInScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetSetAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextGetVariableResolverTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextHandlePageExceptionExcNPETest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextHandlePageExceptionExcTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextHandlePageExceptionThrNPETest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextHandlePageExceptionThrTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludeContextPathTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludeFlushFalseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludeFlushIOExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludeFlushServletExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludeFlushTrueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludeIOExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludePagePathTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextIncludeServletExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextPushPopBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextRemoveAttributeFromScopeIllegalScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextRemoveAttributeFromScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextRemoveAttributeNullNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextRemoveAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextSetAttributeInScopeIllegalArgumentExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextSetAttributeInScopeNPETest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextSetAttributeNPETest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/pagecontext/URLClient.java#pageContextSetAttributeNullValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClient.java#skipPageExceptionCauseCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClient.java#skipPageExceptionCauseMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClient.java#skipPageExceptionDefaultCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/skippageexception/URLClient.java#skipPageExceptionMessageCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java#bodyContentClearBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java#bodyContentFlushTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java#bodyContentGetStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java#bodyContentReadWriteTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodycontent/URLClient.java#bodyContentWriteOutTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportDoAfterBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportDoEndTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportDoStartTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportEmptyTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportEvalBodyBufferedTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportEvalBodyIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportGetBodyContentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportGetPreviousOutTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportSkipBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/bodytagsupport/URLClient.java#bodyTagSupportVariableSynchronizationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClient.java#dynamicAttributesExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/dynamicattributes/URLClient.java#dynamicAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClient.java#functionInfoGetFunctionClassTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClient.java#functionInfoGetFunctionSignatureTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/functioninfo/URLClient.java#functionInfoGetNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClient.java#multipleJspIdTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClient.java#sameJspIdTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/jspidconsumer/URLClient.java#setJspIdTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClient.java#pageDataTagFileTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/pagedata/URLClient.java#pageDataTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#emptySetJspBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#jspFragmentGetJspContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#noParentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#simpleTagSupportDoTagDefaultTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#simpleTagSupportFindAncestorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#simpleTagSupportGetSetJspBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#simpleTagSupportGetSetJspContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#simpleTagSupportGetSetParentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#simpleTagSupportSkipPageExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#simpleTagSupportVariableSynchronizationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/simpletagsupport/URLClient.java#tagHandlerCacheTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterDoEndTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterDoStartTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterGetParentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterReleaseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterSetPageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterSetParentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagadapter/URLClient.java#tagAdapterValidationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java#tagAttributeInfoCanBeRequestTimeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java#tagAttributeInfoGetIdAttribute
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java#tagAttributeInfoGetNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java#tagAttributeInfoGetTypeNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java#tagAttributeInfoIsFragmentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java#tagAttributeInfoIsRequiredTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagattributeinfo/URLClient.java#tagAttributeInfoToStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java#tagDataConstructorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java#tagDataGetAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java#tagDataGetAttributeStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java#tagDataGetAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagdata/URLClient.java#tagDataSetAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagextrainfo/URLClient.java#tagExtraInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClient.java#tagFileInfoGetNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClient.java#tagFileInfoGetPathTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagfileinfo/URLClient.java#tagFileInfoGetTagInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetBodyContentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetDisplayNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetInfoStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetLargeIconTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetSmallIconTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetTagClassNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetTagExtraInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetTagLibraryTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetTagNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoGetTagVariableInfosTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoHasDynamicAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoSetTagExtraInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taginfo/URLClient.java#tagInfoSetTagLibraryTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetFunctionsTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetFunctionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetInfoStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetPrefixStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetReliableURNTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetRequiredVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetShortNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetTagFilesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetTagFileTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetTagLibraryInfosTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetTagsTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryinfo/URLClient.java#tagLibraryInfoGetURITest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClient.java#tagLibraryValidatorAPITest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/taglibraryvalidator/URLClient.java#tagLibraryValidatorTranslationFailureTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoAfterBodyDefaultValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoAfterBodyEvalBodyAgainTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoAfterBodySkipBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoEndTagDefaultValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoEndTagEvalPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoEndTagSkipPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoStartEvalBodyIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoStartSkipBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportDoStartTagDefaultValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportFindAncestorWithClassTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportGetSetValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportGetValuesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportRemoveValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportTagInitializationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagsupport/URLClient.java#tagSupportVariableSynchronizationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java#tagVariableInfoGetClassNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java#tagVariableInfoGetDeclareTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java#tagVariableInfoGetNameFromAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java#tagVariableInfoGetNameGivenTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/tagvariableinfo/URLClient.java#tagVariableInfoGetScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/trycatchfinally/URLClient.java#tryCatchFinallyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java#variableInfoCtorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java#variableInfoGetClassNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java#variableInfoGetDeclareTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java#variableInfoGetScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/api/jakarta_servlet/jsp/tagext/variableinfo/URLClient.java#variableInfoGetVarNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java#deferredSyntaxAllowedAsLiteralFalseActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java#deferredSyntaxAllowedAsLiteralFalseTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java#deferredSyntaxAllowedAsLiteralTrueActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java#deferredSyntaxAllowedAsLiteralTrueTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java#noDeferredSyntaxAllowedAsLiteralActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/charsequence/URLClient.java#noDeferredSyntaxAllowedAsLiteralTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java#elEvaluation23WebApplicationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java#elEvaluationConfigurationFalseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java#elEvaluationConfigurationTrueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java#elEvaluationPageDirectiveOverrideTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/elevaluation/URLClient.java#elEvaluationUnspecifiedTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/encoding/URLClient.java#jspConfigurationDifferentEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/encoding/URLClient.java#jspConfigurationEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/encoding/URLClient.java#jspConfigurationSameEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/general/URLClient.java#identicalMappingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/general/URLClient.java#moreSpecificMappingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/general/URLClient.java#mostSpecificMappingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/includes/URLClient.java#jspConfigurationIncludes2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/includes/URLClient.java#jspConfigurationIncludes3Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/includes/URLClient.java#jspConfigurationIncludesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/scripting/URLClient.java#jspConfigurationScriptingFalseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/scripting/URLClient.java#jspConfigurationScriptingTrueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/scripting/URLClient.java#jspConfigurationScriptingUnspecifiedTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/xml/URLClient.java#jspConfigurationIsXmlFalseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/xml/URLClient.java#jspConfigurationIsXmlTrueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/configuration/xml/URLClient.java#jspConfigurationIsXmlUnspecTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeDuplicatedAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeDynamicAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeElementInteractionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeEmptyBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeFragmentNonScriptingBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeFragmentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeNameRequiredAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeNoAttributeFoundTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeQNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeRtExprTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeTrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/attribute/URLClient.java#jspAttributeUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClient.java#jspBodyEmptyBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClient.java#jspBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/body/URLClient.java#jspBodyUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/declaration/URLClient.java#jspDeclarationUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyInvalidApplicationScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyInvalidPageScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyInvalidRequestScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyInvalidScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyInvalidSessionScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyJspAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyNonEmptyBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyNoVarVarReaderScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyVarReaderTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyVarTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#jspDoBodyVarVarReaderTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#negativeJspDoBodyUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/dobody/URLClient.java#positiveJspDoBodyUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java#jspElementDynamicAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java#jspElementJspAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java#jspElementJspBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java#jspElementNameReqAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/element/URLClient.java#jspElementTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/expression/URLClient.java#jspExpressionUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java#positiveForwardCtxRelativeHtmlTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java#positiveForwardCtxRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java#positiveForwardPageRelativeHtmlTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java#positiveForwardPageRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java#positiveRequestAttrCtxRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java#positiveRequestAttrPageRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/forward/URLClient.java#unbufferedWriteForwardTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClient.java#nullPropertyValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/getproperty/URLClient.java#positiveGetPropsTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#dynamicDynamicTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#dynamicStaticTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#includeMappedServletTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#positiveIncludeCtxRelativeHtmlTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#positiveIncludeCtxRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#positiveIncludeForwardTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#positiveIncludePageRelative2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#positiveIncludePageRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#positiveRequestAttrCtxRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#positiveRequestAttrPageRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#staticDynamicTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/include/URLClient.java#staticStaticTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspFragmentNullTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeFragmentReqAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeInvalidScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeJspAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeNonEmptyBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeNotInSessionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeNoVarVarReaderTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeVarReaderTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeVarTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/invoke/URLClient.java#jspInvokeVarVarReaderTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#doctypeSystemPublicTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#doctypeSystemTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#jspOutputBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#jspOutputJspRootOmitDeclDefaultTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#jspOutputOmitDeclDefaultTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#jspOutputOmitDeclDefaultTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#jspOutputOmitDeclValidValuesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#jspOutputUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#negativeDoctypePublicNoSystemTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#negativeDoctypeRootTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#negativeMultipleDoctypeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/output/URLClient.java#simpleDefaultTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/param/URLClient.java#jspParamAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/param/URLClient.java#jspParamForwardTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/param/URLClient.java#jspParamIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/param/URLClient.java#jspParamUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspFallbackBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspFallbackUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspParamsBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspParamsUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspPluginDynamicAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspPluginInvalidTypeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspPluginJspAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/plugin/URLClient.java#jspPluginTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java#jspRootJspBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java#jspRootUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java#jspRootVersionAttrAllowableValuesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java#jspRootVersionAttrInvalidValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/root/URLClient.java#jspRootVersionReqAttrTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/scriptlet/URLClient.java#jspScriptletUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveBeanPropertyEditorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetBooleanObjTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetBooleanPrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetByteObjTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetBytePrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetCharObjTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetCharPrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetDoubleObjTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetDoublePrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetFloatObjTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetFloatPrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetIndexedPropTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetIntObjTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetIntPrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetLongObjTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetLongPrimTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetPropAllTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetPropNoParamTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetPropParamTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetPropReqTimeDoubleQuotesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetPropReqTimeSingleQuotesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/setproperty/URLClient.java#positiveSetPropValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClient.java#jspTextBodyRestrictionsTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/text/URLClient.java#jspTextUsageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#defaultScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#negativeClassCastExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#negativeDuplicateIDFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#negativeInvalidScopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#negativeSessionScopeFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#negativeTypeAssignableTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveApplicationScopedObjectTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveBeanNameTypeCastTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveBeanNameTypeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveBodyNewTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveClassTypeCastTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveNoBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positivePageScopedObjectTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveRequestScopedObjectTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#positiveSessionScopedObjectTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#requestTimeBeanNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean/URLClient.java#serBeanNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java#blockSCopeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java#existingWithBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java#inScriptlessTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java#noClassNoBeanNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/actions/usebean2/URLClient.java#unrestrictedBodyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClient.java#positiveIncludeCtxRelativeDirectiveTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/include/URLClient.java#positiveIncludePageRelativeDirectiveTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#deferredSyntaxAllowedAsLiteralFalseActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#deferredSyntaxAllowedAsLiteralFalseTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#deferredSyntaxAllowedAsLiteralTrueActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#deferredSyntaxAllowedAsLiteralTrueTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#errorPageExceptionAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#implicitImportHttpTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#implicitImportJspTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#implicitImportLangTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#implicitImportServletTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#isELIgnoredFalseActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#isELIgnoredFalseTemplateTextDollarTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#isELIgnoredFalseTemplateTextPoundTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#isELIgnoredTrueActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#isELIgnoredTrueTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeBuffAutoflushTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeBufferOverflowExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeBufferSuffixTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateAutoFlushFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateAutoFlushFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateBufferFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateBufferFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateContentFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateContentFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateErrorPageFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateErrorPageFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateExtendsFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateExtendsFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateInfoFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateInfoFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateIsELIgnoredFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateIsELIgnoredFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateIsErrorPageFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateIsErrorPageFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateIsThreadSafeFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateIsThreadSafeFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateLanguageFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateLanguageFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateSessionFatalTranslationError2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeDuplicateSessionFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeImportIoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeImportUtilTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeMultiplePageEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#negativeSessionFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveBuffAutoflushTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveBuffCreateTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveContentTypeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDefaultIsErrorPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateAutoFlushTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateBufferTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateContentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateErrorPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateExtendsTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateIsELIgnoredTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateIsErrorPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateIsThreadSafeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateLanguageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveDuplicateSessionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveErrorPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveExtendsTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveImportTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveInfoTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveLangTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveMultipleImportTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveSessionDefaultTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/page/URLClient.java#positiveSessionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/directives/taglib/URLClient.java#positiveTagLibTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkApplicationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkConfigTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkExceptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkOutTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkPageContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkRequestTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkResponseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/implicitobjects/URLClient.java#checkSessionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/declaration/URLClient.java#positiveDeclarationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elAttributeSearchTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elBinaryOperatorParenthesesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elBinaryOperators1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elBinaryOperators2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elBinaryOperators3Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elBinaryOperators4Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elBooleanCoercionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elBooleanLiteralTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elCharacterCoercionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elEmptyOperatorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elFloatingPointLiteralTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elFunctionInvocationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elIntegerLiteralTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elInvocationAndUsageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elNonExistingFunctionNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elNonMatchingFunctionSignatureTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elNonStaticPublicFunctionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elNullLiteralTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elNumberCoercionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elOtherTypeCoercionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elPrimitiveBoxedTypeConversionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elRelationalOperators1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elRelationalOperators2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elStaticAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elStringCoercionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elStringLiteralTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elTernaryOperatorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elUnaryOperators1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/el/URLClient.java#elUnaryOperators2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/escaping/URLClient.java#positiveEscapingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClient.java#positiveExprCommentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClient.java#positiveExprTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/expressions/URLClient.java#positiveExprWhiteSpaceTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/core_syntax/scripting/scriptlet/URLClient.java#positiveScriptletTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#allowedDynamicAttributeValueTypesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#dynamicAttributeSetterMethodTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#eLDeferredMethodStringLiteralErrorTest1
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#eLDeferredMethodStringLiteralErrorTest2
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#eLDeferredMethodStringLiteralTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#eLDeferredValueCoercionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#negativeELDeferredMethodValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#negativeELDeferredValueValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#positiveELDeferredMethodValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#positiveELDeferredValueValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#tagLibraryPoundTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/jsp/URLClient.java#templateTextPoundTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#compositeExprEval1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#compositeExprEval2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#dotAndIndexOperatorsSameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#eLSyntaxEscapeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#literalExprAsMethodExpr1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#literalExprAsMethodExpr2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#literalExprEval1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#literalExprEval2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#parseOnceEvalManyTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#poundDollarSameMeaningTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#rValueCoercion1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/el/language/URLClient.java#rValueCoercion2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomByteSequencesUTF16BETest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomByteSequencesUTF16LETest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomByteSequencesUTF8Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomErrorReportingTest1
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomErrorReportingTest2
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomErrorReportingTest3
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomLegalCharacterEncodingTest1
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nBomLegalCharacterEncodingTest2
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nEncodingMismatchTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nIncludedContentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nStandardPageResponseEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nUnsupportedEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/i18n/URLClient.java#i18nXmlPageResponseEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java#directiveIncludeInJspPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java#directiveIncludeLocationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java#directivePageInJspPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java#jspRootPrefixTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java#negativeJspRootTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java#scriptingInJspPageTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/elements/URLClient.java#scriptingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java#identifyByConfigTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java#identifyByExtensionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java#identifyByJspRootTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java#invalidPlainURITest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java#negativeDTDValidationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java#negativeWellFormednessTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/jspdocument/general/URLClient.java#tagDependentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/misc/precompilation/URLClient.java#precompileFalseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/misc/precompilation/URLClient.java#precompileNegativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/misc/precompilation/URLClient.java#precompileNoValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/misc/precompilation/URLClient.java#precompileTrueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#defaultFragmentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#defaultRequiredTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#defaultRtexprvalueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#defaultTypeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#deferredMethodMinimumJspVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#deferredMethodSignatureMinimumJspVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#deferredValueMinimumJspVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#deferredValueTypeMinimumJspVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeFragmentRtexprvalueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeFragmentTypeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeName1IncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeName1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeName2IncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeName2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeName3IncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeName3Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute20/URLClient.java#negativeTypeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#bothDeferredMethodAndSignatureTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#bothDeferredValueTypeAndDeferredValueTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#defaultDeferredMethod1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#defaultDeferredMethod2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#defaultDeferredMethodSignatureTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#defaultDeferredValue1Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#defaultDeferredValue2Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#deferredValueTypeNotSpecifiedTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/attribute21/URLClient.java#onlyOneOfDeferredValueOrDeferredMethodTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#negativeAttributeDirectiveTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#negativeIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#negativePageDirectiveTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#negativeTagDirectiveTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#negativeVariableDirectiveTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#positiveIncludeContextRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#positiveIncludePageRelativeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/general/URLClient.java#positiveTaglibTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#deferredValueMinimumJspVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#dynamicAttributesNoUriTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#implicitImportHttpTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#implicitImportJspTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#implicitImportLangTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#implicitImportServletTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeBodyContentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateBodyContentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateDescriptionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateDisplayNameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateDynamicAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateExampleTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateIsELIgnoredFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateLanguageFatalTranslationErrorTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateLargeIconTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeDuplicateSmallIconTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeMultiplePageEncodingTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#negativeUnrecognizedAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#positiveDuplicateAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#positiveImportTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#positiveLangTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag20/URLClient.java#positiveMultipleImportTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClient.java#deferredSyntaxAllowedAsLiteralFalseActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClient.java#deferredSyntaxAllowedAsLiteralFalseTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClient.java#deferredSyntaxAllowedAsLiteralTrueActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/tag21/URLClient.java#deferredSyntaxAllowedAsLiteralTrueTemplateTextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#falseDeclareTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeAliasAttributeSameIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeAliasAttributeSameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeAliasNameGivenTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameFromAttributeNoAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameFromAttributeNotRequiredTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameFromAttributeNotStringTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameFromAttributeRtexprTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameFromAttributeSameIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameFromAttributeSameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameGivenBothTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameGivenDynamicIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameGivenDynamicTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameGivenNeitherTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameGivenSameIncludeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#negativeNameGivenSameTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#positiveDeclareTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#positiveVariableClassTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#syncAtBeginNameFromAttributeTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#syncAtBeginTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#syncAtEndTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#syncNestedTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#syncRemoveAtBeginTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#syncRemoveAtEndTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/directives/variable/URLClient.java#syncRemoveNestedTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java#checkApplicationTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java#checkConfigTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java#checkJspContextTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java#checkOutTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java#checkRequestTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java#checkResponseTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/implicitobjects/URLClient.java#checkSessionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#implicitTldAdditionalElementsTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#implicitTldDefaultJspVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#implicitTldMinimumJspVersionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#implicitTldReservedName20Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#implicitTldReservedName21Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#jspTagFilePackagedJarIgnoredTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#jspTagFilePackagedJarTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#jspTagFilePackagedWarTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#jspTagFilePackagedWarTldTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/packaging/URLClient.java#tldImplicitTldJspVersionNotMatchTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#jspTagSemanticsAttributeNotSpecifiedTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#jspTagSemanticsDeclaredAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#jspTagSemanticsDynamicAttributesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#jspTagSemanticsJspContextWrapperScopesTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#jspTagSemanticsJspContextWrapperTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#semanticsInvokeClassicTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#semanticsInvokeSimpleTagTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tagfiles/semantics/URLClient.java#semanticsJspForwardTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#listenerTldTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#negativeJSPPrefixTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#negativeTaglibAfterActionTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tld12DefaultBodyContentTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldExplicitWebXmlPrecedenceTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldResourcePathDirectTldReference
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldResourcePathJsp11Test
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldResourcePathMultiTldJarTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldResourcePathWebInfUriTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldResourcePathWebXmlTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldResPathAbsUriNotFoundTest
+[javatest.batch] PASSED........com/sun/ts/tests/jsp/spec/tldres/URLClient.java#tldResPathRelativeUriTest
+[javatest.batch] PASSED........com/sun/ts/tests/signaturetest/jsp/JSPSigTest.java#signatureTest
+[javatest.batch]
+[javatest.batch] Oct 20, 2020 5:40:27 PM Finished executing all tests, wait for cleanup...
+
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-security/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-security/2.0/TCK-Results.md
new file mode 100644
index 0000000..32ef542
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-security/2.0/TCK-Results.md
@@ -0,0 +1,51 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Security.
+
+# Eclipse Soteria 2.0.0, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ Eclipse Soteria 2.0.0 provides Jakarta Security API 2.0
+ [Eclipse Soteria Project](https://github.com/eclipse-ee4j/soteria)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Security 2.0](https://jakarta.ee/specifications/security/2.0)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Security 2.0, TCK](https://download.eclipse.org/jakartaee/security/2.0/eclipse-security-tck-2.0.0.zip), SHA-256: `63563b05a7b09d7d840395570f4466e129026dfd071bd037ef159a9f817bf338`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_202
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Alpine Linux v3.12
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 85 tests.
+[javatest.batch] Number of Tests Passed = 85
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+
+[javatest.batch] Total time = 175s
+[javatest.batch] Setup time = 0s
+[javatest.batch] Cleanup time = 0s
+[javatest.batch] Test results: passed: 85
+
+SHA256_API=4543f3b397ef9d88c8d915cd398424670b19df8bf97d3927efcaed6f5eb9415a
+SHA256_IMPL=c2fef7dacd12de3506ee24311ea9653102faf2645dbde9f966385dfbcddd10fc
+SHA256_GF=f69a582e2ee15f49afb48adb2393d42351256ea070a60513e1ae17afe973e9c3
+SHA256_TCK=63563b05a7b09d7d840395570f4466e129026dfd071bd037ef159a9f817bf338
+
+Product_download=https://download.eclipse.org/ee4j/glassfish/weekly/glassfish-6.0.0-SNAPSHOT-2020-10-04.zip
+IMPL_download=https://jakarta.oss.sonatype.org/content/repositories/staging/org/glassfish/soteria/jakarta.security.enterprise/2.0.0-M3/jakarta.security.enterprise-2.0.0-M3.jar
+TCK_download=https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-security-tck-2.0.0.zip
+OS4=3.12.0 NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.0 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+JDK_VERSION=java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-servlet/5.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-servlet/5.0/TCK-Results.md
new file mode 100644
index 0000000..2695eeb
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-servlet/5.0/TCK-Results.md
@@ -0,0 +1,45 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Servlet.
+
+# Eclipse GlassFish 6.0, Full Profile, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse Glassfish 6.0.0-SNAPSHOT-2020-09-06](https://download.eclipse.org/ee4j/glassfish/weekly/glassfish-6.0.0-SNAPSHOT-2020-09-06.zip)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Servlet 5.0](https://jakarta.ee/specifications/servlet/5.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Servlet TCK, 5.0](https://download.eclipse.org/jakartaee/servlet/5.0/jakarta-servlet-tck-5.0.0.zip), SHA-256: `02eff661cc7074fc6cc0a9ba05b57642557383e22da2c2b3551cb1740cd7ae20`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_202
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Alpine Linux v3.12
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 1690 tests.
+[javatest.batch] Number of Tests Passed = 1690
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+
+BUILD SUCCESSFUL
+Total time: 54 minutes 6 seconds
+SHA256_GF=26d68ba51c8868f629931f0015984adec61bf013fd1e7c544c446ece6097f1c1
+SHA256_API=33d3a5bda82c7d2f1b898685faa954f1fc34f7b0ae5c2f6ccc6d051e8a10973b
+SHA256_TCK=02eff661cc7074fc6cc0a9ba05b57642557383e22da2c2b3551cb1740cd7ae20
+Product_download=https://download.eclipse.org/ee4j/glassfish/weekly/glassfish-6.0.0-SNAPSHOT-2020-09-06.zip
+API_download=https://jakarta.oss.sonatype.org/content/repositories/staging/jakarta/servlet/jakarta.servlet-api/5.0.0/jakarta.servlet-api-5.0.0.jar
+TCK_download=https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-servlet-tck-5.0.0.zip
+OS4=3.12.0 NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.0 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+JDK_VERSION=Picked up JAVA_TOOL_OPTIONS: -XX:+IgnoreUnrecognizedVMOptions -XX:+UnlockExperimentalVMOptions java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
\ No newline at end of file
diff --git a/docs/website/src/main/resources/certifications/jakarta-tags/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-tags/2.0/TCK-Results.md
new file mode 100644
index 0000000..0d20878
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-tags/2.0/TCK-Results.md
@@ -0,0 +1,47 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Standard Tag Library.
+
+# Eclipse GlassFish 6.0, Full Profile, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse EE4J implementation of Jakarta Standard Tag Library 2.0.0](https://github.com/eclipse-ee4j/jstl-api/releases/download/2.0.0-IMPL-RELEASE/jakarta.servlet.jsp.jstl-2.0.0.jar)
+ [Eclipse GlassFish 6.0](https://github.com/eclipse-ee4j/glassfish/releases/download/6.0.0-M3-2020-10-04/glassfish-6.0.0-M3-2020-10-04.zip)
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Standard Tag Library 2.0](https://jakarta.ee/specifications/tags/2.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta Standard Tag Library 2.0.0](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-tags-tck-2.0.0.zip), SHA-256: `98f962da1a9c86fd1463ab8e65292cec7a7594ee000e14b4330bac8a34cfd355`
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_202
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Alpine Linux v3.12
+
+Test results:
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 542 tests.
+[javatest.batch] Number of Tests Passed = 542
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+```
+
+```
+BUILD SUCCESSFUL
+Total time: 13 minutes 43 seconds
+SHA256_API=70c0b4732e539b8cdf8189942416cd5759a951b3aef3ba5a2e3d4eee42ebb605
+SHA256_TCK=98f962da1a9c86fd1463ab8e65292cec7a7594ee000e14b4330bac8a34cfd355
+Product_download=https://github.com/eclipse-ee4j/glassfish/releases/download/6.0.0-M3-2020-10-04/glassfish-6.0.0-M3-2020-10-04.zip
+API_download=https://jakarta.oss.sonatype.org/content/repositories/staging/jakarta/servlet/jsp/jstl/jakarta.servlet.jsp.jstl-api/2.0.0/jakarta.servlet.jsp.jstl-api-2.0.0.jar
+TCK_download=https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/staged-900/jakarta-tags-tck-2.0.0.zip
+OS4=3.12.0 NAME="Alpine Linux" ID=alpine VERSION_ID=3.12.0 PRETTY_NAME="Alpine Linux v3.12" HOME_URL="https://alpinelinux.org/" BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+JDK_VERSION=java version "1.8.0_202" Java(TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
\ No newline at end of file
diff --git a/docs/website/src/main/resources/certifications/jakarta-transactions/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-transactions/2.0/TCK-Results.md
new file mode 100644
index 0000000..d8dcec9
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-transactions/2.0/TCK-Results.md
@@ -0,0 +1,49 @@
+TCK Results
+===========
+
+As required by the [Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php), the following is a summary of the TCK results for Glassfish 6.0 against Jakarta Transactions 2.0.
+
+# Eclipse GlassFish 6.0, Full Profile, Certification Summary
+
+
+- Organization Name ("Organization") and, if applicable, URL <br/>
+ Eclipse Foundation
+- Product Name, Version and download URL (if applicable) <br/>
+ Eclipse Glassfish 6.0.0-SNAPSHOT-2020-10-04 https://download.eclipse.org/ee4j/glassfish/weekly/glassfish-6.0.0-SNAPSHOT-2020-10-04.zip
+- Specification Name, Version and download URL <br/>
+ Jakarta Transactions 2.0 https://jakarta.ee/specifications/transactions/2.0/ (after jakartaee/specifications#265 is merged and the site updated)
+- TCK Version, digital SHA-256 fingerprint and download URL <br/>
+ jakarta-transactions-tck-2.0.0, 1d37da3db272e8f1ba02058a63402fe55276724598e224f979e41a063e528a6d, https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-transactions-tck-2.0.0.zip
+- Public URL of TCK Results Summary <br/>
+ https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-transactions/2.0/TCK-Results
+- Any Additional Specification Certification Requirements <br/>
+ N/A
+- Java runtime used to run the implementation <br/>
+```
+java -version
+java version "1.8.0_202"
+Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
+Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
+```
+- Summary of the information for the certification environment, operating system, cloud, ... <br/>
+```
+uname -a
+Linux basic-wh2lq 3.10.0-1062.el7.x86_64 #1 SMP Thu Jul 18 20:25:13 UTC 2019 x86_64 GNU/Linux
+cat /etc/os-release
+NAME="Alpine Linux"
+ID=alpine
+VERSION_ID=3.12.0
+PRETTY_NAME="Alpine Linux v3.12"
+HOME_URL="https://alpinelinux.org/"
+BUG_REPORT_URL="https://bugs.alpinelinux.org/"
+```
+- [x] By checking this box I acknowledge that the Organization I represent accepts the terms of the [EFTL](https://www.eclipse.org/legal/tck.php).
+- [x] By checking this box I attest that all TCK requirements have been met, including any compatibility rules.
+
+Test results:
+
+```
+[javatest.batch] Number of Tests Passed = 72
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-web-profile/9.0-RC1/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-web-profile/9.0-RC1/TCK-Results.md
new file mode 100644
index 0000000..8209d60
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-web-profile/9.0-RC1/TCK-Results.md
@@ -0,0 +1,403 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta EE Platform, Web Profile.
+
+# Eclipse GlassFish 6.0 Web Profile, Jakarta EE Platform 9 RC1, Web Profile Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0, Web Profile](https://eclipse-ee4j.github.io/glassfish/download)
+ [web-6.0.0-RC2.zip](https://download.eclipse.org/ee4j/glassfish/web-6.0.0-RC2.zip)
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta EE Platform, Web Profile 9.0](https://jakarta.ee/specifications/webprofile/9/)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE 9.0 Platform TCK` 9.0](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0-RC1.zip), SHA-256: `75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392`
+
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+
+- Any Additional Specification Certification Requirements: <br/>
+ Jakarta Dependency Injection 2.0 TCK <br/>
+ Jakarta Contexts and Dependency Injection 3.0 TCK <br/>
+ Jakarta Bean Validation 3.0 TCK <br/>
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Apache Derby, <br/>
+ Linux, CentOS 7.
+
+
+Test results:
+
+```
+Stage Name: connector
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 252 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 252
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/appexception
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 365 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 365
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/async
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 300 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 300
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/basic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 105 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 105
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/ejbcontext
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 50 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 50
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/enventry
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/interceptor
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 175 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 175
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/lookup
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/naming
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 54 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 54
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/nointerface
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 60 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 60
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/packaging
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 203 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 203
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/singleton
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 230 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 220
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 10
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 10 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 10
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Includes: singleton_concurrency 125; singleton_dependson 20; singleton_lifecycle 85 (230 total tests)
+
+Stage Name: ejb30/lite/stateful
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 129 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 129
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/tx
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 358 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 358
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/view
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 95 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 95
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/xmloverride
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb32
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 537 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 537
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: el
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 667 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 667
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jacc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 24 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 24
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaspic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 61 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 61
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: javamail
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 56 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 56
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaxrs
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 974 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 974
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 2462 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 2462
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1896 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1896
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsf
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 5526 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 5526
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 532 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 532
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 372 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 372
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 720 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 720
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jstl
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 541 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 541
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jta
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 154 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 154
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: samples
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 5 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 5
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: securityapi
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 84 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 84
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: servlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1643 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1643
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: signaturetest/javaee
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 2 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 2
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: websocket
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 745 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 745
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+```
+
+Additionally, Jakarta EE 9 Specification requires the following TCKs:
+
+Jakarta Dependency Injection 2.0 TCK
+
+Download URL & SHA-256
+
+[jakarta.inject-tck-2.0.1-bin.zip](https://download.eclipse.org/jakartaee/dependency-injection/2.0/jakarta.inject-tck-2.0.1-bin.zip), <br/>
+SHA-256: `7853d02d372838f8300f5a18cfcc23011c9eb9016cf3980bba9442e4b1f8bfc6`
+
+TCK result summary:
+```
+ [junit] Testsuite: org.jboss.weld.atinject.tck.AtInjectTCK
+ [junit] Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 sec
+```
+
+
+Jakarta Contexts and Dependency Injection 3.0 TCK
+
+Download URL & SHA-256
+
+[cdi-tck-3.0.1-dist.zip](http://download.eclipse.org/jakartaee/cdi/3.0/cdi-tck-3.0.1-dist.zip), <br/>
+SHA-256: `f0a3bdd81ea552ddf2c2a6cd2576f0d5ca45026665cb4a5c42606a58bf1c133d`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2,556.506 sec
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0
+```
+
+
+Jakarta Bean Validation 3.0 TCK
+
+Download URL & SHA-256
+
+[beanvalidation-tck-dist-3.0.0.zip](https://download.eclipse.org/jakartaee/bean-validation/3.0/beanvalidation-tck-dist-3.0.0.zip), <br/>
+SHA-256: `c975fd229df0c40947a9f0a69b779ec92bebb3d21e05fdc65fccc1d11ef5525b`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 603.628 sec - in TestSuite
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0
+```
+
+
+Jakarta Debugging Support for Other Languages 1.0 TCK
+
+Download URL & SHA-256
+
+[jakarta-debugging-tck-2.0.0.zip](https://download.eclipse.org/jakartaee/debugging/2.0/jakarta-debugging-tck-2.0.0.zip), <br/>
+SHA-256: `71999815418799837dc6f3d0dc40c3dcc4144cd90c7cdfd06aa69270483d78bc`
+
+TCK Result Summary:
+```
++ /opt/jdk1.8.0_191/bin/java VerifySMAP /home/jenkins/agent/workspace/t-for-other-languages-tck_master/vi/glassfish6/glassfish/domains/domain1/generated/jsp/testclient/org/apache/jsp/Hello_jsp.class.smap
+++ grep 'is a correctly formatted SMAP' smap.log
+++ wc -l
++ output=1
++ echo 1
+1
++ [[ 1 < 1 ]]
++ failures=0
++ status=Passed
++ echo '<testsuite id="1" name="debugging-tck" tests="1" failures="0" errors="0" disabled="0" skipped="0">'
++ echo '<testcase name="VerifySMAP" classname="VerifySMAP" time="0" status="Passed"><system-out></system-out></testcase>'
++ echo '</testsuite>'
++ echo ''
+
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-web-profile/9.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-web-profile/9.0/TCK-Results.md
new file mode 100644
index 0000000..ba78a31
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-web-profile/9.0/TCK-Results.md
@@ -0,0 +1,404 @@
+TCK Results
+===========
+
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta EE Platform, Web Profile.
+
+# Eclipse GlassFish 6.0 Web Profile, Jakarta EE Platform 9, Web Profile Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0, Web Profile](https://eclipse-ee4j.github.io/glassfish/download)
+ [web-6.0.0.zip](https://download.eclipse.org/ee4j/glassfish/web-6.0.0.zip) SHA-256: `e191efd4c5d19468a483aacd563fe293b735df5a8b067ea8fb8151c3c689ef0f`
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta EE Platform, Web Profile 9.0](https://jakarta.ee/specifications/webprofile/9/)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE 9.0 Platform TCK` 9.0](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0.zip), SHA-256: `75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392`
+
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+
+- Any Additional Specification Certification Requirements: <br/>
+ Jakarta Dependency Injection 2.0 TCK <br/>
+ Jakarta Contexts and Dependency Injection 3.0 TCK <br/>
+ Jakarta Bean Validation 3.0 TCK <br/>
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Apache Derby, <br/>
+ Linux, CentOS 7.
+
+
+Test results:
+
+```
+Stage Name: connector
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 252 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 252
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/appexception
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 365 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 365
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/async
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 300 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 300
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/basic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 105 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 105
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/ejbcontext
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 50 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 50
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/enventry
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/interceptor
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 175 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 175
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/lookup
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/naming
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 54 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 54
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/nointerface
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 60 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 60
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/packaging
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 203 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 203
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/singleton
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 230 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 220
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 10
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 10 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 10
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Includes: singleton_concurrency 125; singleton_dependson 20; singleton_lifecycle 85 (230 total tests)
+
+Stage Name: ejb30/lite/stateful
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 129 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 129
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/tx
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 358 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 358
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/view
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 95 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 95
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb30/lite/xmloverride
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 30 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 30
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: ejb32
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 537 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 537
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: el
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 667 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 667
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jacc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 24 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 24
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaspic
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 61 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 61
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: javamail
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 56 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 56
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jaxrs
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 974 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 974
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jdbc
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 2462 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 2462
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jpa
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1896 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1896
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsf
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 5526 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 5526
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonb
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 532 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 532
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsonp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 372 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 372
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jsp
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 720 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 720
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jstl
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 541 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 541
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: jta
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 154 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 154
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: samples
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 5 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 5
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: securityapi
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 84 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 84
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: servlet
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 1643 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 1643
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: signaturetest/javaee
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 2 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 2
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+Stage Name: websocket
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+ [runcts] OUT => [javatest.batch] Completed running 745 tests.
+ [runcts] OUT => [javatest.batch] Number of Tests Passed = 745
+ [runcts] OUT => [javatest.batch] Number of Tests Failed = 0
+ [runcts] OUT => [javatest.batch] Number of Tests with Errors = 0
+ [runcts] OUT => [javatest.batch] ********************************************************************************
+
+```
+
+Additionally, Jakarta EE 9 Specification requires the following TCKs:
+
+Jakarta Dependency Injection 2.0 TCK
+
+Download URL & SHA-256
+
+[jakarta.inject-tck-2.0.1-bin.zip](https://download.eclipse.org/jakartaee/dependency-injection/2.0/jakarta.inject-tck-2.0.1-bin.zip), <br/>
+SHA-256: `7853d02d372838f8300f5a18cfcc23011c9eb9016cf3980bba9442e4b1f8bfc6`
+
+TCK result summary:
+```
+ [junit] Testsuite: org.jboss.weld.atinject.tck.AtInjectTCK
+ [junit] Tests run: 50, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.099 sec
+```
+
+
+Jakarta Contexts and Dependency Injection 3.0 TCK
+
+Download URL & SHA-256
+
+[cdi-tck-3.0.1-dist.zip](http://download.eclipse.org/jakartaee/cdi/3.0/cdi-tck-3.0.1-dist.zip), <br/>
+SHA-256: `f0a3bdd81ea552ddf2c2a6cd2576f0d5ca45026665cb4a5c42606a58bf1c133d`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 2,556.506 sec
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1794, Failures: 0, Errors: 0, Skipped: 0
+```
+
+
+Jakarta Bean Validation 3.0 TCK
+
+Download URL & SHA-256
+
+[beanvalidation-tck-dist-3.0.0.zip](https://download.eclipse.org/jakartaee/bean-validation/3.0/beanvalidation-tck-dist-3.0.0.zip), <br/>
+SHA-256: `c975fd229df0c40947a9f0a69b779ec92bebb3d21e05fdc65fccc1d11ef5525b`
+
+TCK Result Summary:
+```
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 603.628 sec - in TestSuite
+ [mvn.test]
+ [mvn.test] Results :
+ [mvn.test]
+ [mvn.test] Tests run: 1045, Failures: 0, Errors: 0, Skipped: 0
+```
+
+
+Jakarta Debugging Support for Other Languages 1.0 TCK
+
+Download URL & SHA-256
+
+[jakarta-debugging-tck-2.0.0.zip](https://download.eclipse.org/jakartaee/debugging/2.0/jakarta-debugging-tck-2.0.0.zip), <br/>
+SHA-256: `71999815418799837dc6f3d0dc40c3dcc4144cd90c7cdfd06aa69270483d78bc`
+
+TCK Result Summary:
+```
++ /opt/jdk1.8.0_191/bin/java VerifySMAP /home/jenkins/agent/workspace/t-for-other-languages-tck_master/vi/glassfish6/glassfish/domains/domain1/generated/jsp/testclient/org/apache/jsp/Hello_jsp.class.smap
+++ grep 'is a correctly formatted SMAP' smap.log
+++ wc -l
++ output=1
++ echo 1
+1
++ [[ 1 < 1 ]]
++ failures=0
++ status=Passed
++ echo '<testsuite id="1" name="debugging-tck" tests="1" failures="0" errors="0" disabled="0" skipped="0">'
++ echo '<testcase name="VerifySMAP" classname="VerifySMAP" time="0" status="Passed"><system-out></system-out></testcase>'
++ echo '</testsuite>'
++ echo ''
+
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-websocket/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-websocket/2.0/TCK-Results.md
new file mode 100644
index 0000000..52d8fc8
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-websocket/2.0/TCK-Results.md
@@ -0,0 +1,42 @@
+TCK Results, Eclipse WebSocket 2.0
+==================================
+
+As required by the [Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php), following is a summary of the TCK results for releases of Jakarta WebSocket 2.0.
+
+## Eclipse Tyrus 2.0.0-RC1, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ Eclipse Tyrus 2.0.0-RC1, provides WebSocket 2.0, as included in Eclipse GlassFish 6.0.0-SNAPSHOT-2020-10-04 <br/>
+ [Eclipse Tyrus 2.0.0-RC1](https://github.com/eclipse-ee4j/tyrus/releases/tag/2.0.0-RC1) <br/>
+ [Eclipse GlassFish Downloads](https://eclipse-ee4j.github.io/glassfish/download)
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta WebSocket, 2.0](https://jakarta.ee/specifications/websocket/2.0)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta WebSocket 2.0, TCK](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-websocket-tck-2.0.0.zip, SHA-256: `3afbe37c5de2b0bc487b06bda9e82900863a797dcd21a853f63fc46b5592fc9a`
+
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+
+- Any Additional Specification Certification Requirements: <br/>
+ None
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+Test results:
+
+N.B. Two tests not run via exclude list included in 2.0 TCK, see https://github.com/eclipse-ee4j/websocket-api/issues/228
+
+```
+[javatest.batch] ********************************************************************************
+[javatest.batch] Completed running 732 tests.
+[javatest.batch] Number of Tests Passed = 732
+[javatest.batch] Number of Tests Failed = 0
+[javatest.batch] Number of Tests with Errors = 0
+[javatest.batch] ********************************************************************************
+```
diff --git a/docs/website/src/main/resources/certifications/jakarta-ws-metadata/2.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-ws-metadata/2.0/TCK-Results.md
new file mode 100644
index 0000000..5864610
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-ws-metadata/2.0/TCK-Results.md
@@ -0,0 +1,30 @@
+TCK Results
+===========
+
+As required by the
+[Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php),
+following is a summary of the TCK results for releases of Jakarta Web Services Metadata.
+
+# Eclipse GlassFish 6.0, Full Profile, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ [Eclipse GlassFish 6.0](https://eclipse-ee4j.github.io/glassfish/download)
+ Includes Web Services Metadata 2.0
+- Specification Name, Version and download URL: <br/>
+ [Jakarta Web Services Metadata 2.0](https://jakarta.ee/specifications/ws-metadata/2.0/)
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta EE Platform TCK 9.0](http://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-jakartaeetck-9.0.0.zip), SHA-256: 75b2493a117e7f8fe775cc7e2e8a605a203611895091f4bb9aaabed57f813392
+- Public URL of TCK Results Summary: <br/>
+ There is no stand-alone TCK for this specification. See Full Platform CTS for results.
+ [TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0/TCK-Results)
+- Any Additional Specification Certification Requirements: <br/>
+ None
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+
+Test results:
+
+[TCK results summary](https://eclipse-ee4j.github.io/glassfish/certifications/jakarta-full-profile/9.0/TCK-Results)
\ No newline at end of file
diff --git a/docs/website/src/main/resources/certifications/jakarta-xml-binding/3.0/TCK-Results.md b/docs/website/src/main/resources/certifications/jakarta-xml-binding/3.0/TCK-Results.md
new file mode 100644
index 0000000..8f610ac
--- /dev/null
+++ b/docs/website/src/main/resources/certifications/jakarta-xml-binding/3.0/TCK-Results.md
@@ -0,0 +1,54 @@
+TCK Results, Eclipse XML Binding 3.0
+====================================
+
+As required by the [Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php), following is a summary of the TCK results for release of Eclipse GlassFish 6.0.
+
+## Eclipse XML Binding Implementation, Certification Summary
+
+- Product Name, Version and download URL (if applicable): <br/>
+ Eclipse GlassFish 6, provides XML Binding 3.0, included in Eclipse GlassFish 6.0.0-RC2 <br/>
+ [Eclipse GlassFish Downloads](https://eclipse-ee4j.github.io/glassfish/download)
+
+- Specification Name, Version and download URL: <br/>
+ [Jakarta XML Binding 3.0](https://jakarta.ee/specifications/xml-binding/3.0)
+
+- TCK Version, digital SHA-256 fingerprint and download URL: <br/>
+ [Jakarta XML Binding 3.0, TCK](https://download.eclipse.org/ee4j/jakartaee-tck/jakartaee9-eftl/promoted/jakarta-xml-binding-tck-3.0.0.zip), SHA-256: `4ee5f5c12edf5212c7fe16f0a51e74ae48c7b7a72ffc40450dfdb07204fb5c0b`
+
+- Public URL of TCK Results Summary: <br/>
+ [TCK results summary](TCK-Results.html)
+
+- Any Additional Specification Certification Requirements: <br/>
+ None
+
+- Java runtime used to run the implementation: <br/>
+ Oracle JDK 1.8.0_191
+
+- Summary of the information for the certification environment, operating system, cloud, ...: <br/>
+ Linux Centos 7
+
+Test results: (from home/jenkins/agent/workspace/jaxb-tck_master/JAXB_REPORT/JAXB-TCK/html/report.html)
+
+| Keyword | Passed | Total |
+| ------------------------------------------------- | --------- | --------- |
+| bindinfo document positive | 75 | 75 |
+| bindinfo empty_output positive schema | 2 | 2 |
+| bindinfo negative schema | 11 | 11 |
+| bindinfo positive schema | 48 | 48 |
+| cttest positive runtime | 1 | 1 |
+| document positive | 5070 | 5070 |
+| document positive runtime | 195 | 195 |
+| document positive validation_checker | 5613 | 5613 |
+| empty_output java_to_schema jaxb positive runtime | 2 | 2 |
+| empty_output jaxb positive rtgen runtime | 2 | 2 |
+| empty_output positive schema | 25 | 25 |
+| java_to_schema jaxb negative runtime | 22 | 22 |
+| java_to_schema jaxb positive runtime | 309 | 309 |
+| jaxb positive rtgen runtime | 308 | 308 |
+| jaxb positive runtime | 1 | 1 |
+| jaxb rtgen runtime | 22 | 22 |
+| negative schema | 2678 | 2678 |
+| positive runtime | 16 | 16 |
+| positive schema | 10224 | 10224 |
+| runtime | 4 | 4 |
+| **Total** | **24628** | **24628** |
\ No newline at end of file
diff --git a/docs/website/src/main/resources/compatibility.md b/docs/website/src/main/resources/compatibility.md
index e6ec220..d010c03 100644
--- a/docs/website/src/main/resources/compatibility.md
+++ b/docs/website/src/main/resources/compatibility.md
@@ -2,15 +2,135 @@
Eclipse GlassFish is a Compatible Implementation of a number of Jakarta EE Specifications. For each specification we are required by the [Eclipse Foundation Technology Compatibility Kit License](https://www.eclipse.org/legal/tck.php) to publish a summary of the TCK results.
-## Jakarta Platform, Full Profile
+# Jakarta EE 9 Certifications
-* [Jakarta Platform, Full Profile 8.0](certifications/jakarta-full-profile/8.0/TCK-Results)
+## Jakarta EE Platform, 9
-## Jakarta Platform, Web Profile
+* [Jakarta EE Platform 9.0](certifications/jakarta-full-profile/9.0/TCK-Results)
+* Includes results for
+ * Jakarta Dependency Injection 2.0
+ * Jakarta Contexts and Dependency Injection 3.0
+ * Jakarta Bean Validation 3.0
-* [Jakarta Platform, Web Profile 8.0](certifications/jakarta-web-profile/8.0/TCK-Results)
+## Jakarta EE Web Profile, 9
-## Jakarta EE 8 Platform Specification
+* [Jakarta EE, Web Profile 9.0](certifications/jakarta-web-profile/9.0/TCK-Results)
+* Includes results for
+ * Jakarta Dependency Injection 2.0
+ * Jakarta Contexts and Dependency Injection 3.0
+ * Jakarta Bean Validation 3.0
+
+## Jakarta EE 9 Component Specifications
+
+### Jakarta Annotations
+
+* [Jakarta Annotations 2.0](certifications/jakarta-annotations/2.0/TCK-Results)
+
+### Jakarta Authentication
+
+* [Jakarta Authentication 2.0](certifications/jakarta-authentication/2.0/TCK-Results)
+
+### Jakarta Authorization
+
+* [Jakarta Authorization 2.0](certifications/jakarta-authorization/2.0/TCK-Results)
+
+### Jakarta Concurrency
+
+* [Jakarta Concurrency 2.0](certifications/jakarta-concurrency/2.0/TCK-Results)
+
+### Jakarta Connectors
+
+* [Jakarta Connectors 2.0](certifications/jakarta-connectors/2.0/TCK-Results)
+
+### Jakarta Debugging Support for Other Languages
+
+* [Jakarta Debugging Support for Other Languages 2.0](certifications/jakarta-debugging/2.0/TCK-Results)
+
+### Jakarta Deployment
+
+* Pruned
+
+### Jakarta Enterprise Beans
+
+* [Jakarta Enterprise Beans 4.0](certifications/jakarta-enterprise-beans/4.0/TCK-Results)
+
+### Jakarta Enterprise Web Services
+
+* [Jakarta Enterprise Web Services 2.0](certifications/jakarta-enterprise-web-services/2.0/TCK-Results)
+
+### Jakarta Expression Language
+
+* [Jakarta Expression Language 4.0](certifications/jakarta-expression-language/4.0/TCK-Results)
+
+### Jakarta Interceptors
+
+* [Jakarta Interceptors 2.0](certifications/jakarta-interceptors/2.0/TCK-Results)
+
+### Jakarta Managed Beans
+
+* [Jakarta Managed Beans 2.0](certifications/jakarta-managed-beans/2.0/TCK-Results)
+
+### Jakarta Management
+
+* Pruned
+
+### Jakarta Messaging
+
+* [Jakarta Messaging 3.0](certifications/jakarta-messaging/3.0/TCK-Results)
+
+### Jakarta Security
+
+* [Jakarta Security 2.0](certifications/jakarta-security/2.0/TCK-Results)
+
+### Jakarta Server Faces
+
+* [Jakarta Server Faces 2.3](certifications/jakarta-faces/3.0/TCK-Results)
+
+### Jakarta Server Pages
+
+* [Jakarta Server Pages 3.0](certifications/jakarta-pages/3.0/TCK-Results)
+
+### Jakarta Servlet
+
+* [Jakarta Servlet 5.0](certifications/jakarta-servlet/5.0/TCK-Results)
+
+### Jakarta Standard Tag Library
+
+* [Jakarta Standard Tag Library 2.0](certifications/jakarta-tags/2.0/TCK-Results)
+
+### Jakarta Transactions
+
+* [Jakarta Transactions 2.0](certifications/jakarta-transactions/2.0/TCK-Results)
+
+### Jakarta WebSocket
+
+* [Jakarta WebSocket 2.0](certifications/jakarta-websocket/2.0/TCK-Results)
+
+### Jakarta Web Services Metadata
+
+* [Jakarta Web Services Metadata 2.0](certifications/jakarta-ws-metadata/2.0/TCK-Results)
+
+### Jakarta XML Binding
+
+* [Jakarta XML Binding 3.0](certifications/jakarta-xml-binding/3.0/TCK-Results)
+
+### Jakarta XML Registries
+
+* Pruned
+
+----
+
+# Jakarta EE 8 Certifications
+
+## Jakarta EE Platform, 8
+
+* [Jakarta EE Platform 8.0](certifications/jakarta-full-profile/8.0/TCK-Results)
+
+## Jakarta EE Web Profile, 8
+
+* [Jakarta EE, Web Profile 8.0](certifications/jakarta-web-profile/8.0/TCK-Results)
+
+## Jakarta EE 8 Component Specifications
### Jakarta Annotations
@@ -90,7 +210,6 @@
### Jakarta Transactions
-* [Jakarta Server Pages 2.3](certifications/jakarta-pages/2.3/TCK-Results)
* [Jakarta Transactions 1.3](certifications/jakarta-transactions/1.3/TCK-Results)
### Jakarta WebSocket
diff --git a/docs/website/src/main/resources/download.md b/docs/website/src/main/resources/download.md
index 8ac9b6a..0402e5e 100644
--- a/docs/website/src/main/resources/download.md
+++ b/docs/website/src/main/resources/download.md
@@ -1,12 +1,61 @@
-# Eclipse GlassFish 5.1 Downloads
+# Eclipse GlassFish Downloads
-* [Eclipse GlassFish 5.1 - Full Platform](https://www.eclipse.org/downloads/download.php?file=/glassfish/glassfish-5.1.0.zip)
-* [Eclipse GlassFish 5.1 - Web Profile](https://www.eclipse.org/downloads/download.php?file=/glassfish/web-5.1.0.zip)
+## Eclipse GlassFish 6
+
+The latest stable release for Eclipse GlassFish 6.0. It is functionally complete and meets the compatibility requirements of the approved final version of the Jakarta EE 9 Specification. Downloads are provided for both Jakarta EE Platform 9 and Jakarta EE Web Profile 9.
+For more details on Jakarta EE 9, please see the [Jakarte EE Platform Specification Project](https://eclipse-ee4j.github.io/jakartaee-platform/).
+
+NOTE: Users upgrading from Jakarta EE 8 to Jakarta EE 9 may want to review the Spec. changes describing how to upgrade an EE 8 application to EE 9 (for example, you might start by watching [this video](https://youtu.be/3ClvncBrKJw?t=405)).
+
+* [Eclipse GlassFish 6.0.0, Jakarta EE Platform, 9](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0.info)
+* [Eclipse Glassfish 6.0.0, Jakarta EE Web Profile, 9](https://download.eclipse.org/ee4j/glassfish/web-6.0.0.zip), - [info](https://download.eclipse.org/ee4j/glassfish/web-6.0.0.info)
+
+We welcome your feedback! Please include the details provided in the **info** link when reporting any [issues](https://github.com/eclipse-ee4j/glassfish/issues).
+
+
+## Eclipse GlassFish 5.1 Downloads
+
+The latest stable releases of Eclipse GlassFish 5.1. This version is compatible with Jakarta EE 8 Specification.
+
+* [Eclipse GlassFish 5.1.0 - Jakarta EE Platform, 8](https://www.eclipse.org/downloads/download.php?file=/glassfish/glassfish-5.1.0.zip)
+* [Eclipse GlassFish 5.1.0 - Jakarta EE Web Profile, 8](https://www.eclipse.org/downloads/download.php?file=/glassfish/web-5.1.0.zip)
+
+----
+
+# Legacy
+
+The downloads below are for legacy use only. Most users will want to use the stable releases listed above.
+
+### Eclipse GlassFish 6, Release Candidate 2
+
+This is the first release candidate for GlassFish 6.0 and is functionally complete and has passed an in-progress version of the Jakarta EE 9 TCK for both Web Profile and Full Profile.
+For more details on Jakarta EE 9, please see the [Jakarte EE Platform Specification Project](https://eclipse-ee4j.github.io/jakartaee-platform/). We welcome your feedback! Please include the details provided in the **info** link when reporting any [issues](https://github.com/eclipse-ee4j/glassfish/issues).
+
+* [Eclipse GlassFish 6.0.0-RC2, Jakarta EE Platform 9](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC2.zip), - [info](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC2.info)
+* [Eclipse Glassfish Web Profile 6.0.0-RC2 Jakarta EE Web Profile 9](https://download.eclipse.org/ee4j/glassfish/web-6.0.0-RC2.zip), - [info](https://download.eclipse.org/ee4j/glassfish/web-6.0.0-RC2.info)
+
+
+### Eclipse GlassFish 6, Release Candidate 1
+
+This is the first release candidate for GlassFish 6.0 and is functionally complete and has passed an in-progress version of the Jakarta EE 9 TCK for both Web Profile and Full Profile.
+For more details on Jakarta EE 9, please see the [Jakarte EE Platform Specification Project](https://eclipse-ee4j.github.io/jakartaee-platform/). We welcome your feedback! Please include the details provided in the **info** link when reporting any [issues](https://github.com/eclipse-ee4j/glassfish/issues).
+
+* [Eclipse GlassFish 6.0.0-RC1, Jakarta EE Platform 9](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC1.zip), - [info](https://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-RC1.info)
+* [Eclipse Glassfish Web Profile 6.0.0-RC1, Jakarta EE Web Profile 9](https://download.eclipse.org/ee4j/glassfish/web-6.0.0-RC1.zip), - [info](https://download.eclipse.org/ee4j/glassfish/web-6.0.0-RC1.info)
+
+### Eclipse GlassFish 6, Prerelease, milestone
+
+This is a pre-release to allow users, vendors, and all community members a glimpse into the changes forthcoming with Jakarta EE 9. This is not a stable release and is intended to allow users to begin evaluation of the proposed name-space and pruning changes included in this new EE 9 specification release. For more details on Jakarta EE 9, please see the [Jakarte EE Platform Specification Project](https://eclipse-ee4j.github.io/jakartaee-platform/). We welcome your feedback! Please include the details provided in the **info** link when reporting any [issues](https://github.com/eclipse-ee4j/glassfish/issues).
+
+* [Eclipse GlassFish 6.0.0-M1, Jakarta EE Platform 9](http://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-M1.zip), - [info](http://download.eclipse.org/ee4j/glassfish/glassfish-6.0.0-M1.info)
+* [Eclipse Glassfish Web Profile 6.0.0-M1, Jakarta EE Web Profile 9](http://download.eclipse.org/ee4j/glassfish/web-6.0.0-M1.zip), - [info](http://download.eclipse.org/ee4j/glassfish/web-6.0.0-M1.info)
+
+----
## Looking for Java EE 8?
Java EE has been contributed to the Eclipse Foundation.
The Jakarta EE community is responsible for all evolution of the
project formerly known as Java EE.
-If you are looking for details of the Java EE GlassFish project, you can
+If you are looking for details of the archived Java EE GlassFish project, you are welcome to
[browse here](https://javaee.github.io/glassfish).
diff --git a/gftest.sh b/gftest.sh
index 66fef1a..0681a38 100755
--- a/gftest.sh
+++ b/gftest.sh
@@ -28,6 +28,7 @@
if [ "$#" -eq 0 ]; then
declare -a arr=(
+ "web_jsp"
"deployment_all"
"ejb_group_1"
"ejb_group_2"
diff --git a/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/AdminMain.java b/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/AdminMain.java
index 08adeea..c8eead8 100644
--- a/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/AdminMain.java
+++ b/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/AdminMain.java
@@ -193,7 +193,7 @@
//JDK9 the major verion would be the real major version e.g in case
// of JDK9 major version is 9.So in that case checking the major version only.
if (major<9) {
- if (minor < 6) {
+ if (minor < 8) {
System.err.println(strings.get( "OldJdk", "" + minor));
return ERROR;
}
diff --git a/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/LocalStrings.properties b/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/LocalStrings.properties
index 91b56cb..6236164 100644
--- a/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/LocalStrings.properties
+++ b/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/LocalStrings.properties
@@ -172,7 +172,7 @@
cantRemoveEnvVar=CLI149: Environment variable is not set: {0}
operandPrompt=Enter the value for the {0} operand>
optionPrompt=Enter the value for the {0} option>
-OldJdk=GlassFish requires Java SE version 6. Your JDK is version {0}
+OldJdk=GlassFish requires Java SE version 8. Your JDK is version {0}
DeprecatedSyntax=Deprecated syntax, instead use:
## Parser
parser.noValueAllowed=Option may not have value: {0}
diff --git a/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/remote/DASUtils.java b/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/remote/DASUtils.java
index 0e740b0..822dc6a 100644
--- a/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/remote/DASUtils.java
+++ b/nucleus/admin/cli/src/main/java/com/sun/enterprise/admin/cli/remote/DASUtils.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -27,7 +27,7 @@
*/
public class DASUtils {
private static final Logger logger =
- Logger.getLogger("javax.enterprise.admin.cli.remote");
+ Logger.getLogger("jakarta.enterprise.admin.cli.remote");
public enum Error {
NONE, AUTHENTICATION, CONNECTION, IO, UNKNOWN
diff --git a/nucleus/admin/config-api/pom.xml b/nucleus/admin/config-api/pom.xml
index 4a0e635..a7192fb 100644
--- a/nucleus/admin/config-api/pom.xml
+++ b/nucleus/admin/config-api/pom.xml
@@ -114,6 +114,11 @@
<scope>test</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java
index 7510ec6..d9533d9 100644
--- a/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java
+++ b/nucleus/admin/config-api/src/main/java/com/sun/enterprise/config/util/ConfigApiLoggerInfo.java
@@ -36,7 +36,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.config.util.LogMessages";
@LoggerInfo(subsystem = "CONFIG-API", description = "Configuration API", publish = true)
- public static final String ADMIN_LOGGER = "javax.enterprise.config.api";
+ public static final String ADMIN_LOGGER = "jakarta.enterprise.config.api";
private static final Logger adminLogger = Logger.getLogger(
ADMIN_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/admin/launcher/src/main/java/com/sun/enterprise/admin/launcher/GFLauncherLogger.java b/nucleus/admin/launcher/src/main/java/com/sun/enterprise/admin/launcher/GFLauncherLogger.java
index 004f65d..f1c6024 100644
--- a/nucleus/admin/launcher/src/main/java/com/sun/enterprise/admin/launcher/GFLauncherLogger.java
+++ b/nucleus/admin/launcher/src/main/java/com/sun/enterprise/admin/launcher/GFLauncherLogger.java
@@ -47,7 +47,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.admin.launcher.LogMessages";
@LoggerInfo(subsystem = "Launcher", description = "Launcher Logger", publish = true)
- public static final String LOGGER_NAME = "javax.enterprise.launcher";
+ public static final String LOGGER_NAME = "jakarta.enterprise.launcher";
private final static Logger logger;
private final static LocalStringsImpl strings = new LocalStringsImpl(GFLauncherLogger.class);
diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties
index dc415b5..d2afea7 100644
--- a/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties
+++ b/nucleus/admin/launcher/src/test/resources/domains/domain1/config/logging.properties
@@ -17,49 +17,49 @@
#GlassFish logging.properties list
#Mon Mar 16 22:32:12 PDT 2009
-javax.enterprise.system.tools.admin.level=INFO
+jakarta.enterprise.system.tools.admin.level=INFO
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
org.apache.jasper.level=INFO
-javax.enterprise.resource.corba.level=INFO
-javax.enterprise.system.core.classloading.level=INFO
-javax.enterprise.resource.jta.level=INFO
+jakarta.enterprise.resource.corba.level=INFO
+jakarta.enterprise.system.core.classloading.level=INFO
+jakarta.enterprise.resource.jta.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
com.sun.enterprise.server.logging.GFFileHandler.file=logs/server.log
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.webservices.saaj.level=INFO
+jakarta.enterprise.system.webservices.saaj.level=INFO
java.util.logging.FileHandler.formatter=java.util.logging.XMLFormatter
-javax.enterprise.system.tools.deployment.level=INFO
-javax.enterprise.system.container.ejb.level=INFO
+jakarta.enterprise.system.tools.deployment.level=INFO
+jakarta.enterprise.system.container.ejb.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
-javax.enterprise.system.core.transaction.level=INFO
+jakarta.enterprise.system.core.transaction.level=INFO
org.apache.catalina.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.container.ejb.mdb.level=INFO
+jakarta.enterprise.system.container.ejb.mdb.level=INFO
org.apache.coyote.level=INFO
javax.level=INFO
java.util.logging.FileHandler.limit=50000
-javax.enterprise.resource.javamail.level=INFO
+jakarta.enterprise.resource.javamail.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.logtoConsole=false
-javax.enterprise.system.webservices.rpc.level=INFO
-javax.enterprise.system.container.web.level=INFO
+jakarta.enterprise.system.webservices.rpc.level=INFO
+jakarta.enterprise.system.container.web.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.util.level=INFO
-javax.enterprise.resource.resourceadapter.level=INFO
-javax.enterprise.resource.jms.level=INFO
-javax.enterprise.system.core.config.level=INFO
+jakarta.enterprise.system.util.level=INFO
+jakarta.enterprise.resource.resourceadapter.level=INFO
+jakarta.enterprise.resource.jms.level=INFO
+jakarta.enterprise.system.core.config.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.level=INFO
-javax.enterprise.system.core.security.level=INFO
-javax.enterprise.system.container.cmp.level=INFO
+jakarta.enterprise.system.level=INFO
+jakarta.enterprise.system.core.security.level=INFO
+jakarta.enterprise.system.container.cmp.level=INFO
java.util.logging.FileHandler.pattern=%h/java%u.log
com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false
group-management-services=INFO
com.sun.enterprise.server.logging.GFFileHandler.alarms=false
-javax.enterprise.system.webservices.registry.level=INFO
-javax.enterprise.system.core.selfmanagement.level=INFO
+jakarta.enterprise.system.webservices.registry.level=INFO
+jakarta.enterprise.system.core.selfmanagement.level=INFO
.level=INFO
java.util.logging.FileHandler.count=1
-javax.enterprise.resource.jdo.level=INFO
-javax.enterprise.system.core.naming.level=INFO
+jakarta.enterprise.resource.jdo.level=INFO
+jakarta.enterprise.system.core.naming.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours=0
diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties
index dc415b5..d2afea7 100644
--- a/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties
+++ b/nucleus/admin/launcher/src/test/resources/domains/domain2/config/logging.properties
@@ -17,49 +17,49 @@
#GlassFish logging.properties list
#Mon Mar 16 22:32:12 PDT 2009
-javax.enterprise.system.tools.admin.level=INFO
+jakarta.enterprise.system.tools.admin.level=INFO
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
org.apache.jasper.level=INFO
-javax.enterprise.resource.corba.level=INFO
-javax.enterprise.system.core.classloading.level=INFO
-javax.enterprise.resource.jta.level=INFO
+jakarta.enterprise.resource.corba.level=INFO
+jakarta.enterprise.system.core.classloading.level=INFO
+jakarta.enterprise.resource.jta.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
com.sun.enterprise.server.logging.GFFileHandler.file=logs/server.log
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.webservices.saaj.level=INFO
+jakarta.enterprise.system.webservices.saaj.level=INFO
java.util.logging.FileHandler.formatter=java.util.logging.XMLFormatter
-javax.enterprise.system.tools.deployment.level=INFO
-javax.enterprise.system.container.ejb.level=INFO
+jakarta.enterprise.system.tools.deployment.level=INFO
+jakarta.enterprise.system.container.ejb.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
-javax.enterprise.system.core.transaction.level=INFO
+jakarta.enterprise.system.core.transaction.level=INFO
org.apache.catalina.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.container.ejb.mdb.level=INFO
+jakarta.enterprise.system.container.ejb.mdb.level=INFO
org.apache.coyote.level=INFO
javax.level=INFO
java.util.logging.FileHandler.limit=50000
-javax.enterprise.resource.javamail.level=INFO
+jakarta.enterprise.resource.javamail.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.logtoConsole=false
-javax.enterprise.system.webservices.rpc.level=INFO
-javax.enterprise.system.container.web.level=INFO
+jakarta.enterprise.system.webservices.rpc.level=INFO
+jakarta.enterprise.system.container.web.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.util.level=INFO
-javax.enterprise.resource.resourceadapter.level=INFO
-javax.enterprise.resource.jms.level=INFO
-javax.enterprise.system.core.config.level=INFO
+jakarta.enterprise.system.util.level=INFO
+jakarta.enterprise.resource.resourceadapter.level=INFO
+jakarta.enterprise.resource.jms.level=INFO
+jakarta.enterprise.system.core.config.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.level=INFO
-javax.enterprise.system.core.security.level=INFO
-javax.enterprise.system.container.cmp.level=INFO
+jakarta.enterprise.system.level=INFO
+jakarta.enterprise.system.core.security.level=INFO
+jakarta.enterprise.system.container.cmp.level=INFO
java.util.logging.FileHandler.pattern=%h/java%u.log
com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false
group-management-services=INFO
com.sun.enterprise.server.logging.GFFileHandler.alarms=false
-javax.enterprise.system.webservices.registry.level=INFO
-javax.enterprise.system.core.selfmanagement.level=INFO
+jakarta.enterprise.system.webservices.registry.level=INFO
+jakarta.enterprise.system.core.selfmanagement.level=INFO
.level=INFO
java.util.logging.FileHandler.count=1
-javax.enterprise.resource.jdo.level=INFO
-javax.enterprise.system.core.naming.level=INFO
+jakarta.enterprise.resource.jdo.level=INFO
+jakarta.enterprise.system.core.naming.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours=0
diff --git a/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties
index dc415b5..d2afea7 100644
--- a/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties
+++ b/nucleus/admin/launcher/src/test/resources/domains/domain3/config/logging.properties
@@ -17,49 +17,49 @@
#GlassFish logging.properties list
#Mon Mar 16 22:32:12 PDT 2009
-javax.enterprise.system.tools.admin.level=INFO
+jakarta.enterprise.system.tools.admin.level=INFO
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
org.apache.jasper.level=INFO
-javax.enterprise.resource.corba.level=INFO
-javax.enterprise.system.core.classloading.level=INFO
-javax.enterprise.resource.jta.level=INFO
+jakarta.enterprise.resource.corba.level=INFO
+jakarta.enterprise.system.core.classloading.level=INFO
+jakarta.enterprise.resource.jta.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
com.sun.enterprise.server.logging.GFFileHandler.file=logs/server.log
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.webservices.saaj.level=INFO
+jakarta.enterprise.system.webservices.saaj.level=INFO
java.util.logging.FileHandler.formatter=java.util.logging.XMLFormatter
-javax.enterprise.system.tools.deployment.level=INFO
-javax.enterprise.system.container.ejb.level=INFO
+jakarta.enterprise.system.tools.deployment.level=INFO
+jakarta.enterprise.system.container.ejb.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
-javax.enterprise.system.core.transaction.level=INFO
+jakarta.enterprise.system.core.transaction.level=INFO
org.apache.catalina.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.container.ejb.mdb.level=INFO
+jakarta.enterprise.system.container.ejb.mdb.level=INFO
org.apache.coyote.level=INFO
javax.level=INFO
java.util.logging.FileHandler.limit=50000
-javax.enterprise.resource.javamail.level=INFO
+jakarta.enterprise.resource.javamail.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.logtoConsole=false
-javax.enterprise.system.webservices.rpc.level=INFO
-javax.enterprise.system.container.web.level=INFO
+jakarta.enterprise.system.webservices.rpc.level=INFO
+jakarta.enterprise.system.container.web.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.util.level=INFO
-javax.enterprise.resource.resourceadapter.level=INFO
-javax.enterprise.resource.jms.level=INFO
-javax.enterprise.system.core.config.level=INFO
+jakarta.enterprise.system.util.level=INFO
+jakarta.enterprise.resource.resourceadapter.level=INFO
+jakarta.enterprise.resource.jms.level=INFO
+jakarta.enterprise.system.core.config.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.level=INFO
-javax.enterprise.system.core.security.level=INFO
-javax.enterprise.system.container.cmp.level=INFO
+jakarta.enterprise.system.level=INFO
+jakarta.enterprise.system.core.security.level=INFO
+jakarta.enterprise.system.container.cmp.level=INFO
java.util.logging.FileHandler.pattern=%h/java%u.log
com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false
group-management-services=INFO
com.sun.enterprise.server.logging.GFFileHandler.alarms=false
-javax.enterprise.system.webservices.registry.level=INFO
-javax.enterprise.system.core.selfmanagement.level=INFO
+jakarta.enterprise.system.webservices.registry.level=INFO
+jakarta.enterprise.system.core.selfmanagement.level=INFO
.level=INFO
java.util.logging.FileHandler.count=1
-javax.enterprise.resource.jdo.level=INFO
-javax.enterprise.system.core.naming.level=INFO
+jakarta.enterprise.resource.jdo.level=INFO
+jakarta.enterprise.system.core.naming.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours=0
diff --git a/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties b/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties
index dc415b5..d2afea7 100644
--- a/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties
+++ b/nucleus/admin/launcher/src/test/resources/domains/domainNoLog/config/logging.properties
@@ -17,49 +17,49 @@
#GlassFish logging.properties list
#Mon Mar 16 22:32:12 PDT 2009
-javax.enterprise.system.tools.admin.level=INFO
+jakarta.enterprise.system.tools.admin.level=INFO
handlers=java.util.logging.ConsoleHandler
java.util.logging.ConsoleHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
org.apache.jasper.level=INFO
-javax.enterprise.resource.corba.level=INFO
-javax.enterprise.system.core.classloading.level=INFO
-javax.enterprise.resource.jta.level=INFO
+jakarta.enterprise.resource.corba.level=INFO
+jakarta.enterprise.system.core.classloading.level=INFO
+jakarta.enterprise.resource.jta.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
com.sun.enterprise.server.logging.GFFileHandler.file=logs/server.log
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.webservices.saaj.level=INFO
+jakarta.enterprise.system.webservices.saaj.level=INFO
java.util.logging.FileHandler.formatter=java.util.logging.XMLFormatter
-javax.enterprise.system.tools.deployment.level=INFO
-javax.enterprise.system.container.ejb.level=INFO
+jakarta.enterprise.system.tools.deployment.level=INFO
+jakarta.enterprise.system.container.ejb.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.formatter=com.sun.enterprise.server.logging.UniformLogFormatter
-javax.enterprise.system.core.transaction.level=INFO
+jakarta.enterprise.system.core.transaction.level=INFO
org.apache.catalina.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationTimelimitInMinutes=0
-javax.enterprise.system.container.ejb.mdb.level=INFO
+jakarta.enterprise.system.container.ejb.mdb.level=INFO
org.apache.coyote.level=INFO
javax.level=INFO
java.util.logging.FileHandler.limit=50000
-javax.enterprise.resource.javamail.level=INFO
+jakarta.enterprise.resource.javamail.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.logtoConsole=false
-javax.enterprise.system.webservices.rpc.level=INFO
-javax.enterprise.system.container.web.level=INFO
+jakarta.enterprise.system.webservices.rpc.level=INFO
+jakarta.enterprise.system.container.web.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.util.level=INFO
-javax.enterprise.resource.resourceadapter.level=INFO
-javax.enterprise.resource.jms.level=INFO
-javax.enterprise.system.core.config.level=INFO
+jakarta.enterprise.system.util.level=INFO
+jakarta.enterprise.resource.resourceadapter.level=INFO
+jakarta.enterprise.resource.jms.level=INFO
+jakarta.enterprise.system.core.config.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.rotationLimitInBytes=0
-javax.enterprise.system.level=INFO
-javax.enterprise.system.core.security.level=INFO
-javax.enterprise.system.container.cmp.level=INFO
+jakarta.enterprise.system.level=INFO
+jakarta.enterprise.system.core.security.level=INFO
+jakarta.enterprise.system.container.cmp.level=INFO
java.util.logging.FileHandler.pattern=%h/java%u.log
com.sun.enterprise.server.logging.SyslogHandler.useSystemLogging=false
group-management-services=INFO
com.sun.enterprise.server.logging.GFFileHandler.alarms=false
-javax.enterprise.system.webservices.registry.level=INFO
-javax.enterprise.system.core.selfmanagement.level=INFO
+jakarta.enterprise.system.webservices.registry.level=INFO
+jakarta.enterprise.system.core.selfmanagement.level=INFO
.level=INFO
java.util.logging.FileHandler.count=1
-javax.enterprise.resource.jdo.level=INFO
-javax.enterprise.system.core.naming.level=INFO
+jakarta.enterprise.resource.jdo.level=INFO
+jakarta.enterprise.system.core.naming.level=INFO
com.sun.enterprise.server.logging.GFFileHandler.retainErrorsStasticsForHours=0
diff --git a/nucleus/admin/monitor/osgi.bundle b/nucleus/admin/monitor/osgi.bundle
index 23804e9..0bf1a89 100644
--- a/nucleus/admin/monitor/osgi.bundle
+++ b/nucleus/admin/monitor/osgi.bundle
@@ -1,5 +1,6 @@
#
# Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2020 Payara Services Ltd.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
@@ -18,7 +19,6 @@
com.sun.enterprise.admin.monitor.jndi; \
com.sun.enterprise.admin.monitor.util; \
com.sun.enterprise.management.support; \
- org.glassfish.flashlight; \
org.glassfish.flashlight.annotations; \
org.glassfish.flashlight.datatree.factory; \
org.glassfish.flashlight.statistics; \
diff --git a/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/MLogger.java b/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/MLogger.java
index 85a9c3e..2ca06d9 100644
--- a/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/MLogger.java
+++ b/nucleus/admin/monitor/src/main/java/org/glassfish/admin/monitor/MLogger.java
@@ -37,7 +37,7 @@
@LogMessagesResourceBundle
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.admin.monitor.LogMessages";
@LoggerInfo(subsystem = "Monitoring", description = "Monitoring Logger", publish = true)
- public static final String LOGGER_NAME = "javax.enterprise.monitoring";
+ public static final String LOGGER_NAME = "jakarta.enterprise.monitoring";
private final static Logger logger = Logger.getLogger(LOGGER_NAME, SHARED_LOGMESSAGE_RESOURCE);
// these messages are historical. We've transitioned to this latest Logging API
// TODO figure out cause/action etc. This is too expensive to do right now...
diff --git a/nucleus/admin/rest/gf-restadmin-connector/src/main/java/org/glassfish/admin/restconnector/Logging.java b/nucleus/admin/rest/gf-restadmin-connector/src/main/java/org/glassfish/admin/restconnector/Logging.java
index 0e5833b..32d9ee3 100644
--- a/nucleus/admin/rest/gf-restadmin-connector/src/main/java/org/glassfish/admin/restconnector/Logging.java
+++ b/nucleus/admin/rest/gf-restadmin-connector/src/main/java/org/glassfish/admin/restconnector/Logging.java
@@ -29,7 +29,7 @@
@LogMessagesResourceBundle
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.admin.restconnector.LogMessages";
@LoggerInfo(subsystem = "RSTCN", description = "REST Connector Logger", publish = true)
- public static final String REST_CONNECTOR_LOGGER = "javax.enterprise.admin.rest.connector";
+ public static final String REST_CONNECTOR_LOGGER = "jakarta.enterprise.admin.rest.connector";
public static final Logger logger = Logger.getLogger(REST_CONNECTOR_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
@LogMessageInfo(
diff --git a/nucleus/admin/rest/rest-client/src/main/java/org/glassfish/admin/rest/client/utils/RestClientLogging.java b/nucleus/admin/rest/rest-client/src/main/java/org/glassfish/admin/rest/client/utils/RestClientLogging.java
index 25ff624..92f5d4c 100644
--- a/nucleus/admin/rest/rest-client/src/main/java/org/glassfish/admin/rest/client/utils/RestClientLogging.java
+++ b/nucleus/admin/rest/rest-client/src/main/java/org/glassfish/admin/rest/client/utils/RestClientLogging.java
@@ -29,7 +29,7 @@
@LogMessagesResourceBundle
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.admin.rest.client.utils.LogMessages";
@LoggerInfo(subsystem = "REST", description = "REST Client Logger", publish = true)
- public static final String REST_CLIENT_LOGGER = "javax.enterprise.admin.rest.client";
+ public static final String REST_CLIENT_LOGGER = "jakarta.enterprise.admin.rest.client";
public static final Logger logger = Logger.getLogger(REST_CLIENT_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
@LogMessageInfo(
message = "An unsupported encoding was requested: {0}.",
diff --git a/nucleus/admin/rest/rest-service/pom.xml b/nucleus/admin/rest/rest-service/pom.xml
index 5fc6f82..1fffeb7 100644
--- a/nucleus/admin/rest/rest-service/pom.xml
+++ b/nucleus/admin/rest/rest-service/pom.xml
@@ -51,10 +51,6 @@
<artifactId>jaxb-osgi</artifactId>
</dependency>
<dependency>
- <groupId>jakarta.el</groupId>
- <artifactId>jakarta.el-api</artifactId>
- </dependency>
- <dependency>
<groupId>jakarta.validation</groupId>
<artifactId>jakarta.validation-api</artifactId>
</dependency>
@@ -134,6 +130,11 @@
<scope>provided</scope>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <scope>test</scope>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<scope>test</scope>
diff --git a/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/RestLogging.java b/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/RestLogging.java
index d194559..ebd4660 100644
--- a/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/RestLogging.java
+++ b/nucleus/admin/rest/rest-service/src/main/java/org/glassfish/admin/rest/RestLogging.java
@@ -30,7 +30,7 @@
@LogMessagesResourceBundle
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.admin.rest.LogMessages";
@LoggerInfo(subsystem = "REST", description = "Main REST Logger", publish = true)
- public static final String REST_MAIN_LOGGER = "javax.enterprise.admin.rest";
+ public static final String REST_MAIN_LOGGER = "jakarta.enterprise.admin.rest";
public static final Logger restLogger = Logger.getLogger(REST_MAIN_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
@LogMessageInfo(
message = "Listening to REST requests at context: {0}/domain.",
diff --git a/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SLogger.java b/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SLogger.java
index 849ce92..f8d82cb 100644
--- a/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SLogger.java
+++ b/nucleus/admin/server-mgmt/src/main/java/com/sun/enterprise/admin/servermgmt/SLogger.java
@@ -36,7 +36,7 @@
@LogMessagesResourceBundle
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.admin.servermgmt.LogMessages";
@LoggerInfo(subsystem = "ServerManagement", description = "Server Management Logger", publish = true)
- public static final String LOGGER_NAME = "javax.enterprise.servermgmt";
+ public static final String LOGGER_NAME = "jakarta.enterprise.servermgmt";
private final static Logger logger = Logger.getLogger(LOGGER_NAME, SHARED_LOGMESSAGE_RESOURCE);
// these messages are historical. We've transitioned to this latest Logging API
@LogMessageInfo(message =
diff --git a/nucleus/admin/template/src/main/resources/config/logging.properties b/nucleus/admin/template/src/main/resources/config/logging.properties
index 7f97212..01e69de 100644
--- a/nucleus/admin/template/src/main/resources/config/logging.properties
+++ b/nucleus/admin/template/src/main/resources/config/logging.properties
@@ -40,26 +40,26 @@
#All log level details
com.sun.enterprise.server.logging.GFFileHandler.level=ALL
-javax.enterprise.system.tools.admin.level=INFO
+jakarta.enterprise.system.tools.admin.level=INFO
org.apache.jasper.level=INFO
-javax.enterprise.system.core.level=INFO
-javax.enterprise.system.core.classloading.level=INFO
+jakarta.enterprise.system.core.level=INFO
+jakarta.enterprise.system.core.classloading.level=INFO
java.util.logging.ConsoleHandler.level=FINEST
-javax.enterprise.system.tools.deployment.level=INFO
-javax.enterprise.system.core.transaction.level=INFO
+jakarta.enterprise.system.tools.deployment.level=INFO
+jakarta.enterprise.system.core.transaction.level=INFO
org.apache.catalina.level=INFO
org.apache.coyote.level=INFO
javax.level=INFO
-javax.enterprise.system.util.level=INFO
-javax.enterprise.resource.resourceadapter.level=INFO
-javax.enterprise.system.core.config.level=INFO
-javax.enterprise.system.level=INFO
-javax.enterprise.system.core.security.level=INFO
-javax.enterprise.system.container.cmp.level=INFO
-javax.enterprise.system.core.selfmanagement.level=INFO
+jakarta.enterprise.system.util.level=INFO
+jakarta.enterprise.resource.resourceadapter.level=INFO
+jakarta.enterprise.system.core.config.level=INFO
+jakarta.enterprise.system.level=INFO
+jakarta.enterprise.system.core.security.level=INFO
+jakarta.enterprise.system.container.cmp.level=INFO
+jakarta.enterprise.system.core.selfmanagement.level=INFO
.level=INFO
-javax.enterprise.resource.jdo.level=INFO
-javax.enterprise.resource.sqltrace.level=FINE
+jakarta.enterprise.resource.jdo.level=INFO
+jakarta.enterprise.resource.sqltrace.level=FINE
org.jvnet.hk2.osgiadapter.level=INFO
-javax.enterprise.system.ssl.security.level=INFO
+jakarta.enterprise.system.ssl.security.level=INFO
ShoalLogger.level=CONFIG
diff --git a/nucleus/admin/template/src/main/resources/docroot/index.html b/nucleus/admin/template/src/main/resources/docroot/index.html
index cf67e61..723d84c 100644
--- a/nucleus/admin/template/src/main/resources/docroot/index.html
+++ b/nucleus/admin/template/src/main/resources/docroot/index.html
@@ -2,8 +2,9 @@
<html lang="en">
<!--
- Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
-
+ Copyright (c) 2010, 2018 Oracle and/or its affiliates. All rights reserved.
+ Copyright (c) 2020 Contributors to the Eclipse Foundation.
+
This program and the accompanying materials are made available under the
terms of the Eclipse Public License v. 2.0, which is available at
http://www.eclipse.org/legal/epl-2.0.
@@ -36,21 +37,21 @@
a:visited{color:#917E9C}
a:hover {text-decoration:underline}
</style>
-<title>GlassFish Server - Server Running</title>
+<title>Eclipse GlassFish - Server Running</title>
</head>
<body bgcolor="#ffffff" text="#000000" link="#594fbf" vlink="#1005fb" alink="#333366"><br> <table width="100%" border="0" cellspacing="0" cellpadding="3">
<tbody>
-<tr><td align="right" valign="top"> <a href="http://www.oracle.com">oracle.com</a> </td></tr>
-<tr><td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff"> <b>GlassFish Server</b></font> </td></tr>
+<tr><td align="right" valign="top"> <a href="https://glassfish.org">glassfish.org</a> </td></tr>
+<tr><td align="left" valign="top" bgcolor="#587993"> <font color="#ffffff"> <b>Eclipse GlassFish</b></font> </td></tr>
</tbody>
</table>
<h1>Your server is now running</h1>
<p>To replace this page, overwrite the file <code>index.html</code> in the document root folder of this server. The document root folder for this server is the <code>docroot</code> subdirectory of this server's domain directory.</p>
<p>To manage a server on the <b>local host</b> with the <b>default administration port</b>, <a href="http://localhost:4848">go to the Administration Console</a>.</p>
<h2>Join the GlassFish community</h2>
-<p>Visit the <a href="https://javaee.github.io/glassfish/">GlassFish Community</a> page for information about how to join the GlassFish community. The GlassFish community is developing an open source, production-quality, enterprise-class application server that implements the newest features of the Java™ Platform, Enterprise Edition (Java EE) platform and related enterprise technologies.</p>
+<p>Visit the <a href="https://glassfish.org">GlassFish Community</a> page for information about how to join the GlassFish community. The GlassFish community is developing an open source, production-quality, enterprise-class application server that implements the newest features of the Java™ Platform, Enterprise Edition (Java EE) platform and related enterprise technologies.</p>
<h2>Learn more about GlassFish Server</h2>
-<p>For more information about GlassFish Server, samples, documentation, and additional resources, see <var>as-install</var><code>/docs/about.html</code>, where <var>as-install</var> is the GlassFish Server installation directory.</p>
+<p>For more information about GlassFish Server, samples, documentation, and additional resources, see <var>as-install</var><code>/docs/</code>, where <var>as-install</var> is the GlassFish Server installation directory.</p>
<hr style="width: 80%; height: 2px;">
-<p class="copy"><a href="http://www.oracle.com/corporate/">Company Info</a> | <a href="http://www.oracle.com/corporate/contact/">Contact</a> |
-Copyright © 2010, 2018 Oracle Corporation | <a href="../../../docs/copyright.html">Legal Notices</a></p></body></html>
+<p class="copy"><a href="https://www.eclipse.org/">Eclipse Foundation</a> | <a href="https://accounts.eclipse.org/mailing-list/glassfish-dev">Contact</a> |
+Copyright © 2020 Eclipse Foundation | <a href="https://www.eclipse.org/legal/">Legal Notices</a></p></body></html>
diff --git a/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/AdminLoggerInfo.java b/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/AdminLoggerInfo.java
index 7c10ef7..51fcf9d 100644
--- a/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/AdminLoggerInfo.java
+++ b/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/AdminLoggerInfo.java
@@ -33,7 +33,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.admin.util.LogMessages";
@LoggerInfo(subsystem = "ADMIN", description = "Administration Services", publish = true)
- public static final String ADMIN_LOGGER = "javax.enterprise.system.tools.admin";
+ public static final String ADMIN_LOGGER = "jakarta.enterprise.system.tools.admin";
private static final Logger adminLogger = Logger.getLogger(
ADMIN_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/CommandSecurityChecker.java b/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/CommandSecurityChecker.java
index f6f3242..1c1ae88 100644
--- a/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/CommandSecurityChecker.java
+++ b/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/CommandSecurityChecker.java
@@ -67,7 +67,7 @@
public class CommandSecurityChecker implements PostConstruct {
@LoggerInfo(subsystem="ADMSECAUTHZ", description="Admin security authorization")
- private static final String ADMSEC_AUTHZ_LOGGER_NAME = "javax.enterprise.system.tools.admin.security.authorization";
+ private static final String ADMSEC_AUTHZ_LOGGER_NAME = "jakarta.enterprise.system.tools.admin.security.authorization";
@LogMessagesResourceBundle
private static final String LOG_MESSAGES_RB = "com.sun.enterprise.admin.util.LogMessages";
diff --git a/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/GenericAdminAuthenticator.java b/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/GenericAdminAuthenticator.java
index 0f3ec6f..985c3c9 100644
--- a/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/GenericAdminAuthenticator.java
+++ b/nucleus/admin/util/src/main/java/com/sun/enterprise/admin/util/GenericAdminAuthenticator.java
@@ -80,7 +80,7 @@
public class GenericAdminAuthenticator implements AdminAccessController, JMXAuthenticator, PostConstruct {
@LoggerInfo(subsystem="ADMSEC", description="Admin security")
- private static final String ADMSEC_LOGGER_NAME = "javax.enterprise.system.tools.admin.security";
+ private static final String ADMSEC_LOGGER_NAME = "jakarta.enterprise.system.tools.admin.security";
static final Logger ADMSEC_LOGGER = Logger.getLogger(ADMSEC_LOGGER_NAME,
AdminLoggerInfo.SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/GMSAdapterImpl.java b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/GMSAdapterImpl.java
index 70f3fb2..9d03ed6 100644
--- a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/GMSAdapterImpl.java
+++ b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/GMSAdapterImpl.java
@@ -156,7 +156,7 @@
private HealthHistory hHistory;
@LoggerInfo(subsystem = "CLSTR", description="Group Management Service Adapter Logger", publish=true)
- private static final String GMS_LOGGER_NAME = "javax.enterprise.cluster.gms";
+ private static final String GMS_LOGGER_NAME = "jakarta.enterprise.cluster.gms";
@LogMessagesResourceBundle
diff --git a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStartClusterCommand.java b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStartClusterCommand.java
index 3a0d8a8..ad2ca7b 100644
--- a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStartClusterCommand.java
+++ b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStartClusterCommand.java
@@ -54,7 +54,7 @@
// GMSAnnounceAfterStartClusterCommand.class, LogDomains.GMS_LOGGER);
@LoggerInfo(subsystem = "CLSTR", description="Group Management Service Admin Logger", publish=true)
- private static final String GMS_ADMIN_LOGGER_NAME = "javax.enterprise.cluster.gms.admin";
+ private static final String GMS_ADMIN_LOGGER_NAME = "jakarta.enterprise.cluster.gms.admin";
@LogMessagesResourceBundle
diff --git a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStopClusterCommand.java b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStopClusterCommand.java
index 876516a..c478b53 100644
--- a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStopClusterCommand.java
+++ b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceAfterStopClusterCommand.java
@@ -48,7 +48,7 @@
// GMSAnnounceAfterStopClusterCommand.class, LogDomains.GMS_LOGGER);
@LoggerInfo(subsystem = "CLSTR", description="Group Management Service Admin Logger", publish=true)
- private static final String GMS_LOGGER_NAME = "javax.enterprise.cluster.gms.admin";
+ private static final String GMS_LOGGER_NAME = "jakarta.enterprise.cluster.gms.admin";
@LogMessagesResourceBundle
diff --git a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStartClusterCommand.java b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStartClusterCommand.java
index aa87d4e..2a97205 100644
--- a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStartClusterCommand.java
+++ b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStartClusterCommand.java
@@ -59,7 +59,7 @@
// GMSAnnounceBeforeStartClusterCommand.class, LogDomains.GMS_LOGGER);
@LoggerInfo(subsystem = "CLSTR", description="Group Management Service Admin Logger", publish=true)
- private static final String GMS_LOGGER_NAME = "javax.enterprise.cluster.gms.admin";
+ private static final String GMS_LOGGER_NAME = "jakarta.enterprise.cluster.gms.admin";
@LogMessagesResourceBundle
diff --git a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStopClusterCommand.java b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStopClusterCommand.java
index 33e4fe3..4c39cd1 100644
--- a/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStopClusterCommand.java
+++ b/nucleus/cluster/gms-adapter/src/main/java/org/glassfish/gms/admin/GMSAnnounceBeforeStopClusterCommand.java
@@ -64,7 +64,7 @@
// GMSAnnounceBeforeStopClusterCommand.class, LogDomains.GMS_LOGGER);
@LoggerInfo(subsystem = "CLSTR", description="Group Management Service Admin Logger", publish=true)
- private static final String GMS_LOGGER_NAME = "javax.enterprise.cluster.gms.admin";
+ private static final String GMS_LOGGER_NAME = "jakarta.enterprise.cluster.gms.admin";
@LogMessagesResourceBundle
diff --git a/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/GMSAdapterService.java b/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/GMSAdapterService.java
index f23c4fa..6d24a3e 100644
--- a/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/GMSAdapterService.java
+++ b/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/GMSAdapterService.java
@@ -75,7 +75,7 @@
// GMSAdapterService.class, LogDomains.CORE_LOGGER);
@LoggerInfo(subsystem = "CLSTR", description="Group Management Service Logger")
- private static final String GMSBS_LOGGER_NAME = "javax.enterprise.cluster.gms.bootstrap";
+ private static final String GMSBS_LOGGER_NAME = "jakarta.enterprise.cluster.gms.bootstrap";
@LogMessagesResourceBundle
diff --git a/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/HealthHistory.java b/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/HealthHistory.java
index 91b71a8..f3c7ae4 100644
--- a/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/HealthHistory.java
+++ b/nucleus/cluster/gms-bootstrap/src/main/java/org/glassfish/gms/bootstrap/HealthHistory.java
@@ -50,7 +50,7 @@
StringManager.getManager(HealthHistory.class);
@LoggerInfo(subsystem = "CLSTR", description="Group Management Service Logger", publish=true)
- private static final String GMSBS_LOGGER_NAME = "javax.enterprise.cluster.gms.bootstrap";
+ private static final String GMSBS_LOGGER_NAME = "jakarta.enterprise.cluster.gms.bootstrap";
@LogMessagesResourceBundle
diff --git a/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/util/AMXLoggerInfo.java b/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/util/AMXLoggerInfo.java
index d99fb0c..254358f 100644
--- a/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/util/AMXLoggerInfo.java
+++ b/nucleus/common/amx-core/src/main/java/org/glassfish/admin/amx/util/AMXLoggerInfo.java
@@ -33,7 +33,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.admin.amx.util.LogMessages";
@LoggerInfo(subsystem = "COMMON", description = "AMX Services", publish = true)
- public static final String AMX_LOGGER = "javax.enterprise.system.tools.amx";
+ public static final String AMX_LOGGER = "jakarta.enterprise.system.tools.amx";
private static final Logger amxLogger = Logger.getLogger(
AMX_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java
index b77bb3d..d53559d 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingConfigImpl.java
@@ -213,7 +213,7 @@
key = propertyName;
}
String property = (String) props.setProperty(key, propertyValue);
- if (propertyName.contains("javax.enterprise.system.container.web")) {
+ if (propertyName.contains("jakarta.enterprise.system.container.web")) {
setWebLoggers(propertyValue);
}
@@ -240,7 +240,7 @@
key = propertyName;
}
String property = (String) props.setProperty(key, propertyValue);
- if (propertyName.contains("javax.enterprise.system.container.web")) {
+ if (propertyName.contains("jakarta.enterprise.system.container.web")) {
setWebLoggers(propertyValue);
}
@@ -269,7 +269,7 @@
key = e.getKey();
}
String property = (String) props.setProperty(key, e.getValue());
- if (e.getKey().contains("javax.enterprise.system.container.web")) {
+ if (e.getKey().contains("jakarta.enterprise.system.container.web")) {
setWebLoggers(e.getValue());
}
@@ -302,7 +302,7 @@
key = e.getKey();
}
String property = (String) props.setProperty(key, e.getValue());
- if (e.getKey().contains("javax.enterprise.system.container.web")) {
+ if (e.getKey().contains("jakarta.enterprise.system.container.web")) {
setWebLoggers(e.getValue());
}
diff --git a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java
index 1b0b2c3..06acb7c 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/common/util/logging/LoggingOutputStream.java
@@ -1,5 +1,5 @@
/*
- * Copyright (c) 1997, 2018 Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1997, 2021 Oracle and/or its affiliates. All rights reserved.
*
* This program and the accompanying materials are made available under the
* terms of the Eclipse Public License v. 2.0, which is available at
@@ -188,7 +188,17 @@
public LoggingPrintStream(ByteArrayOutputStream os) {
super(os, true);
-
+ ensureLoaded(StackTraceObjects.class);
+ }
+
+ private void ensureLoaded(Class<?> k) {
+ try {
+ Class.forName(k.getName());
+ } catch (ClassNotFoundException ex) {
+ throw (NoClassDefFoundError)
+ new NoClassDefFoundError(ex.toString()).initCause(ex);
+ } catch (SecurityException ignore) {
+ }
}
public void setLogger(Logger l) {
diff --git a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/CULoggerInfo.java b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/CULoggerInfo.java
index aabf9fe..275081e 100644
--- a/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/CULoggerInfo.java
+++ b/nucleus/common/common-util/src/main/java/com/sun/enterprise/util/CULoggerInfo.java
@@ -34,7 +34,7 @@
private static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.util.LogMessages";
@LoggerInfo(subsystem = "COMMON", description = "Common Utilities", publish = true)
- private static final String UTIL_LOGGER = "javax.enterprise.system.util";
+ private static final String UTIL_LOGGER = "jakarta.enterprise.system.util";
private static final Logger utilLogger = Logger.getLogger(
UTIL_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/common/internal-api/src/main/java/org/glassfish/internal/api/InternalLoggerInfo.java b/nucleus/common/internal-api/src/main/java/org/glassfish/internal/api/InternalLoggerInfo.java
index 1b1b96c..8e2287b 100644
--- a/nucleus/common/internal-api/src/main/java/org/glassfish/internal/api/InternalLoggerInfo.java
+++ b/nucleus/common/internal-api/src/main/java/org/glassfish/internal/api/InternalLoggerInfo.java
@@ -33,7 +33,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.internal.api.LogMessages";
@LoggerInfo(subsystem = "COMMON", description = "Internal API", publish = true)
- public static final String INT_LOGGER = "javax.enterprise.system.tools.util";
+ public static final String INT_LOGGER = "jakarta.enterprise.system.tools.util";
private static final Logger intLogger = Logger.getLogger(
INT_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/common/mbeanserver/src/main/java/org/glassfish/admin/mbeanserver/Util.java b/nucleus/common/mbeanserver/src/main/java/org/glassfish/admin/mbeanserver/Util.java
index c874efb..b2ab9e8 100644
--- a/nucleus/common/mbeanserver/src/main/java/org/glassfish/admin/mbeanserver/Util.java
+++ b/nucleus/common/mbeanserver/src/main/java/org/glassfish/admin/mbeanserver/Util.java
@@ -26,7 +26,7 @@
public final class Util
{
@LoggerInfo(subsystem = "JMX", description="JMX System Logger")
- private static final String JMX_LOGGER_NAME = "javax.enterprise.system.jmx";
+ private static final String JMX_LOGGER_NAME = "jakarta.enterprise.system.jmx";
@LogMessagesResourceBundle
private static final String LOG_MESSAGES_RB = "org.glassfish.admin.mbeanserver.LogMessages";
diff --git a/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/LogFacade.java b/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/LogFacade.java
index a75919b..79859b1 100644
--- a/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/LogFacade.java
+++ b/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/LogFacade.java
@@ -27,7 +27,7 @@
public class LogFacade {
@LoggerInfo(subsystem = "BOOTSTRAP", description="Main bootstrap logger.")
- public static final String BOOTSTRAP_LOGGER_NAME = "javax.enterprise.bootstrap";
+ public static final String BOOTSTRAP_LOGGER_NAME = "jakarta.enterprise.bootstrap";
@LogMessagesResourceBundle()
public static final String RB_NAME = "com.sun.enterprise.glassfish.bootstrap.LogMessages";
diff --git a/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/MainHelper.java b/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/MainHelper.java
index 2af9c1b..37ba293 100644
--- a/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/MainHelper.java
+++ b/nucleus/core/bootstrap/src/main/java/com/sun/enterprise/glassfish/bootstrap/MainHelper.java
@@ -49,8 +49,8 @@
//JDK9 the major verion would be the real major version e.g in case
// of JDK9 major version is 9.So in that case checking the major version only
if (major < 9) {
- if (minor < 7) {
- logger.log(Level.SEVERE, LogFacade.BOOTSTRAP_INCORRECT_JDKVERSION, new Object[]{7, minor});
+ if (minor < 8) {
+ logger.log(Level.SEVERE, LogFacade.BOOTSTRAP_INCORRECT_JDKVERSION, new Object[]{8, minor});
System.exit(1);
}
}
diff --git a/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/GlassfishNetworkListener.java b/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/GlassfishNetworkListener.java
index 60724c9..153a100 100644
--- a/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/GlassfishNetworkListener.java
+++ b/nucleus/core/kernel/src/main/java/com/sun/enterprise/v3/services/impl/GlassfishNetworkListener.java
@@ -376,7 +376,7 @@
serverVersion = serverInfo != null ? serverInfo : Version.getVersion();
if (isXPoweredByEnabled) {
- xPoweredBy = "Servlet/3.1 JSP/2.3 "
+ xPoweredBy = "Servlet/5.0 JSP/3.0"
+ "(" + ((serverInfo != null && !serverInfo.isEmpty()) ? serverInfo : Version.getVersion())
+ " Java/"
+ System.getProperty("java.vm.vendor") + "/"
diff --git a/nucleus/core/kernel/src/main/java/org/glassfish/kernel/KernelLoggerInfo.java b/nucleus/core/kernel/src/main/java/org/glassfish/kernel/KernelLoggerInfo.java
index 66c14a1..66142a0 100644
--- a/nucleus/core/kernel/src/main/java/org/glassfish/kernel/KernelLoggerInfo.java
+++ b/nucleus/core/kernel/src/main/java/org/glassfish/kernel/KernelLoggerInfo.java
@@ -33,7 +33,7 @@
private static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.kernel.LogMessages";
@LoggerInfo(subsystem = "CORE", description = "Core Kernel", publish = true)
- private static final String CORE_LOGGER = "javax.enterprise.system.core";
+ private static final String CORE_LOGGER = "jakarta.enterprise.system.core";
private static final Logger coreLogger = Logger.getLogger(
CORE_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/LogFacade.java b/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/LogFacade.java
index c62ba4e..c4045f5 100644
--- a/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/LogFacade.java
+++ b/nucleus/core/logging/src/main/java/com/sun/enterprise/server/logging/LogFacade.java
@@ -25,13 +25,13 @@
public class LogFacade {
@LoggerInfo(subsystem = "Logging", description="Main logger for core logging component.")
- public static final String LOGGING_LOGGER_NAME = "javax.enterprise.logging";
+ public static final String LOGGING_LOGGER_NAME = "jakarta.enterprise.logging";
@LoggerInfo(subsystem = "Logging", description="Stdout logger.", publish=false)
- private static final String STDOUT_LOGGER_NAME = "javax.enterprise.logging.stdout";
+ private static final String STDOUT_LOGGER_NAME = "jakarta.enterprise.logging.stdout";
@LoggerInfo(subsystem = "Logging", description="Stderr logger.", publish=false)
- private static final String STDERR_LOGGER_NAME = "javax.enterprise.logging.stderr";
+ private static final String STDERR_LOGGER_NAME = "jakarta.enterprise.logging.stderr";
@LogMessagesResourceBundle()
public static final String LOGGING_RB_NAME = "com.sun.enterprise.server.logging.LogMessages";
diff --git a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1 b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1
index 67efb67..36b6d49 100644
--- a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1
+++ b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-log-levels.1
@@ -41,42 +41,42 @@
asadmin> list-log-levels
java.util.logging.ConsoleHandler <FINEST>
- javax.enterprise.resource.corba <INFO>
- javax.enterprise.resource.javamail <INFO>
- javax.enterprise.resource.jdo <INFO>
- javax.enterprise.resource.jms <INFO>
- javax.enterprise.resource.jta <INFO>
- javax.enterprise.resource.resourceadapter <INFO>
- javax.enterprise.resource.sqltrace <FINE>
- javax.enterprise.resource.webcontainer.jsf.application <INFO>
- javax.enterprise.resource.webcontainer.jsf.config <INFO>
- javax.enterprise.resource.webcontainer.jsf.context <INFO>
- javax.enterprise.resource.webcontainer.jsf.facelets <INFO>
- javax.enterprise.resource.webcontainer.jsf.lifecycle <INFO>
- javax.enterprise.resource.webcontainer.jsf.managedbean <INFO>
- javax.enterprise.resource.webcontainer.jsf.renderkit <INFO>
- javax.enterprise.resource.webcontainer.jsf.resource <INFO>
- javax.enterprise.resource.webcontainer.jsf.taglib <INFO>
- javax.enterprise.resource.webcontainer.jsf.timing <INFO>
- javax.enterprise.system.container.cmp <INFO>
- javax.enterprise.system.container.ejb <INFO>
- javax.enterprise.system.container.ejb.mdb <INFO>
- javax.enterprise.system.container.web <INFO>
- javax.enterprise.system.core.classloading <INFO>
- javax.enterprise.system.core.config <INFO>
- javax.enterprise.system.core <INFO>
- javax.enterprise.system.core.naming <INFO>
- javax.enterprise.system.core.security <INFO>
- javax.enterprise.system.core.selfmanagement <INFO>
- javax.enterprise.system.core.transaction <INFO>
- javax.enterprise.system <INFO>
- javax.enterprise.system.tools.admin <INFO>
- javax.enterprise.system.tools.backup <INFO>
- javax.enterprise.system.tools.deployment <INFO>
- javax.enterprise.system.util <INFO>
- javax.enterprise.system.webservices.registry <INFO>
- javax.enterprise.system.webservices.rpc <INFO>
- javax.enterprise.system.webservices.saaj <INFO>
+ jakarta.enterprise.resource.corba <INFO>
+ jakarta.enterprise.resource.javamail <INFO>
+ jakarta.enterprise.resource.jdo <INFO>
+ jakarta.enterprise.resource.jms <INFO>
+ jakarta.enterprise.resource.jta <INFO>
+ jakarta.enterprise.resource.resourceadapter <INFO>
+ jakarta.enterprise.resource.sqltrace <FINE>
+ jakarta.enterprise.resource.webcontainer.jsf.application <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.config <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.context <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.facelets <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.lifecycle <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.managedbean <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.renderkit <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.resource <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.taglib <INFO>
+ jakarta.enterprise.resource.webcontainer.jsf.timing <INFO>
+ jakarta.enterprise.system.container.cmp <INFO>
+ jakarta.enterprise.system.container.ejb <INFO>
+ jakarta.enterprise.system.container.ejb.mdb <INFO>
+ jakarta.enterprise.system.container.web <INFO>
+ jakarta.enterprise.system.core.classloading <INFO>
+ jakarta.enterprise.system.core.config <INFO>
+ jakarta.enterprise.system.core <INFO>
+ jakarta.enterprise.system.core.naming <INFO>
+ jakarta.enterprise.system.core.security <INFO>
+ jakarta.enterprise.system.core.selfmanagement <INFO>
+ jakarta.enterprise.system.core.transaction <INFO>
+ jakarta.enterprise.system <INFO>
+ jakarta.enterprise.system.tools.admin <INFO>
+ jakarta.enterprise.system.tools.backup <INFO>
+ jakarta.enterprise.system.tools.deployment <INFO>
+ jakarta.enterprise.system.util <INFO>
+ jakarta.enterprise.system.webservices.registry <INFO>
+ jakarta.enterprise.system.webservices.rpc <INFO>
+ jakarta.enterprise.system.webservices.saaj <INFO>
javax <INFO>
javax.org.glassfish.persistence <INFO>
org.apache.catalina <INFO>
diff --git a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-loggers.1 b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-loggers.1
index 454acdf..3b55610 100644
--- a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-loggers.1
+++ b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/list-loggers.1
@@ -26,10 +26,10 @@
asadmin> list-loggers
Logger Name Subsystem Logger Description
...
- javax.enterprise.monitoring Monitoring Monitoring Logger
- javax.enterprise.system.core.ee AS-CORE Java EE Core Kernel
- javax.enterprise.system.jmx JMX JMX System Logger
- javax.enterprise.system.tools.admin ADMIN Administration Services
+ jakarta.enterprise.monitoring Monitoring Monitoring Logger
+ jakarta.enterprise.system.core.ee AS-CORE Java EE Core Kernel
+ jakarta.enterprise.system.jmx JMX JMX System Logger
+ jakarta.enterprise.system.tools.admin ADMIN Administration Services
...
Command list-loggers executed successfully.
diff --git a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/set-log-levels.1 b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/set-log-levels.1
index 2a24bd7..02251fd 100644
--- a/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/set-log-levels.1
+++ b/nucleus/core/logging/src/main/manpages/com/sun/enterprise/server/logging/commands/set-log-levels.1
@@ -45,15 +45,15 @@
This example sets the log level of the web container logger to
WARNING.
- asadmin> set-log-levels javax.enterprise.system.container.web=WARNING
+ asadmin> set-log-levels jakarta.enterprise.system.container.web=WARNING
Command set-log-level executed successfully.
Example 2, Setting the Log Level for Multiple Loggers
This example sets the log level of the web container logger to FINE
and the log level of the EJB container logger to SEVERE:
- asadmin set-log-levels javax.enterprise.system.container.web=FINE:
- javax.enterprise.system.container.ejb=SEVERE
+ asadmin set-log-levels jakarta.enterprise.system.container.web=FINE:
+ jakarta.enterprise.system.container.ejb=SEVERE
Command set-log-level executed successfully.
EXIT STATUS
diff --git a/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LogEventListenerTest.java b/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LogEventListenerTest.java
index fbafb5e..f4079e2 100644
--- a/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LogEventListenerTest.java
+++ b/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LogEventListenerTest.java
@@ -44,7 +44,7 @@
private static GFFileHandler gfFileHandler;
- private static final String LOGGER_NAME = "javax.enterprise.test.logging.events";
+ private static final String LOGGER_NAME = "jakarta.enterprise.test.logging.events";
private static final Logger LOGGER = Logger.getLogger(LOGGER_NAME);
diff --git a/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LoggingAnnotationsTest.java b/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LoggingAnnotationsTest.java
index 9d7403a..8830468 100644
--- a/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LoggingAnnotationsTest.java
+++ b/nucleus/core/logging/src/test/java/com/sun/enterprise/server/logging/LoggingAnnotationsTest.java
@@ -59,7 +59,7 @@
private static final String ULF_LOG = BASE_PATH + FILE_SEP + "ulf.log";
@LoggerInfo(subsystem = "Logging", description="Main logger for testing logging annotations.")
- public static final String LOGGER_NAME = "javax.enterprise.test.logging.annotations";
+ public static final String LOGGER_NAME = "jakarta.enterprise.test.logging.annotations";
@LogMessagesResourceBundle()
public static final String RB_NAME = "com.sun.enterprise.server.logging.test.LogMessages";
diff --git a/nucleus/deployment/autodeploy/src/main/java/org/glassfish/deployment/autodeploy/AutoDeployer.java b/nucleus/deployment/autodeploy/src/main/java/org/glassfish/deployment/autodeploy/AutoDeployer.java
index 77c5e78..978fb72 100644
--- a/nucleus/deployment/autodeploy/src/main/java/org/glassfish/deployment/autodeploy/AutoDeployer.java
+++ b/nucleus/deployment/autodeploy/src/main/java/org/glassfish/deployment/autodeploy/AutoDeployer.java
@@ -77,7 +77,7 @@
// Reserve this range [NCLS-DEPLOYMENT-02001, NCLS-DEPLOYMENT-04000]
// for message ids used in this deployment autodeploy module
@LoggerInfo(subsystem = "DEPLOYMENT", description="Deployment logger for autodeploy module", publish=true)
- private static final String DEPLOYMENT_LOGGER = "javax.enterprise.system.tools.deployment.autodeploy";
+ private static final String DEPLOYMENT_LOGGER = "jakarta.enterprise.system.tools.deployment.autodeploy";
public static final Logger deplLogger =
Logger.getLogger(DEPLOYMENT_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentContextImpl.java b/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentContextImpl.java
index 4192b5b..2112b98 100644
--- a/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentContextImpl.java
+++ b/nucleus/deployment/common/src/main/java/org/glassfish/deployment/common/DeploymentContextImpl.java
@@ -64,7 +64,7 @@
// Reserve this range [NCLS-DEPLOYMENT-00001, NCLS-DEPLOYMENT-02000]
// for message ids used in this deployment common module
@LoggerInfo(subsystem = "DEPLOYMENT", description="Deployment logger for common module", publish=true)
- private static final String DEPLOYMENT_LOGGER = "javax.enterprise.system.tools.deployment.common";
+ private static final String DEPLOYMENT_LOGGER = "jakarta.enterprise.system.tools.deployment.common";
public static final Logger deplLogger =
Logger.getLogger(DEPLOYMENT_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/diagnostics/context/src/main/java/org/glassfish/diagnostics/context/ContextManager.java b/nucleus/diagnostics/context/src/main/java/org/glassfish/diagnostics/context/ContextManager.java
index b013057..a97c399 100644
--- a/nucleus/diagnostics/context/src/main/java/org/glassfish/diagnostics/context/ContextManager.java
+++ b/nucleus/diagnostics/context/src/main/java/org/glassfish/diagnostics/context/ContextManager.java
@@ -60,7 +60,7 @@
@LoggerInfo(subsystem="DIAG", description="Diagnostcis Context Logger", publish=true)
public static final String LOGGER_NAME =
- "javax.enterprise.diagnostics.context.base";
+ "jakarta.enterprise.diagnostics.context.base";
public static final Logger LOGGER = Logger.getLogger(LOGGER_NAME, LOG_MESSAGE_RESOURCE);
diff --git a/nucleus/distributions/atomic/src/main/assembly/atomic.xml b/nucleus/distributions/atomic/src/main/assembly/atomic.xml
index 19674ad..4592e74 100644
--- a/nucleus/distributions/atomic/src/main/assembly/atomic.xml
+++ b/nucleus/distributions/atomic/src/main/assembly/atomic.xml
@@ -96,7 +96,7 @@
<fileSet>
<directory>${temp.dir}</directory>
<includes>
- <include>grizzly-npn-bootstrap.jar</include>
+ <include>grizzly-npn-api.jar</include>
</includes>
<outputDirectory>${install.dir.name}/modules/endorsed</outputDirectory>
</fileSet>
@@ -143,6 +143,7 @@
<exclude>felix.jar</exclude>
<exclude>nucleus-domain.jar</exclude>
<exclude>grizzly-npn-bootstrap.jar</exclude>
+ <exclude>grizzly-npn-api.jar</exclude>
</excludes>
<outputDirectory>${install.dir.name}/modules</outputDirectory>
</fileSet>
diff --git a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc
index 2960daa..374f78f 100644
--- a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc
+++ b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc
@@ -1,6 +1,6 @@
#!/bin/sh
#
-# Copyright (c) 1997, 2019 Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 1997, 2020 Oracle and/or its affiliates. All rights reserved.
#
# This program and the accompanying materials are made available under the
# terms of the Eclipse Public License v. 2.0, which is available at
@@ -17,8 +17,8 @@
AS_INSTALL=`dirname $0`/..
AS_INSTALL_LIB=$AS_INSTALL/modules
-JSP_IMPL=$AS_INSTALL_LIB/jakarta.servlet.jsp.jar
-EL_IMPL=$AS_INSTALL_LIB/jakarta.el.jar
+JSP_IMPL=$AS_INSTALL_LIB/wasp.jar
+EL_IMPL=$AS_INSTALL_LIB/jakarta.el.jar:$AS_INSTALL_LIB/jakarta.el-api.jar
JSTL_IMPL=$AS_INSTALL_LIB/jakarta.servlet.jsp.jstl.jar
AS_LIB=$AS_INSTALL/lib
JAVAEE_API=$AS_LIB/javaee.jar
diff --git a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat
index 00a7458..e2f8e6a 100644
--- a/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat
+++ b/nucleus/distributions/nucleus-common/src/main/resources/bin/jspc.bat
@@ -18,8 +18,8 @@
set AS_INSTALL_LIB=%~dp0..\modules
-set JSP_IMPL=%AS_INSTALL_LIB%\jakarta.servlet.jsp.jar
-set EL_IMPL=%AS_INSTALL_LIB%\jakarta.el.jar
+set JSP_IMPL=%AS_INSTALL_LIB%\wasp.jar
+set EL_IMPL=%AS_INSTALL_LIB%\jakarta.el.jar;%AS_INSTALL_LIB%\jakarta.el-api.jar
set JSTL_IMPL=%AS_INSTALL_LIB%\jakarta.servlet.jsp.jstl.jar
set AS_LIB=%~dp0..\lib
set JAVAEE_API=%AS_LIB%\javaee.jar
diff --git a/nucleus/featuresets/atomic/pom.xml b/nucleus/featuresets/atomic/pom.xml
index 98cc16f..8c76f04 100644
--- a/nucleus/featuresets/atomic/pom.xml
+++ b/nucleus/featuresets/atomic/pom.xml
@@ -371,6 +371,16 @@
</exclusions>
</dependency>
<dependency>
+ <groupId>jakarta.el</groupId>
+ <artifactId>jakarta.el-api</artifactId>
+ <exclusions>
+ <exclusion>
+ <groupId>*</groupId>
+ <artifactId>*</artifactId>
+ </exclusion>
+ </exclusions>
+ </dependency>
+ <dependency>
<groupId>org.glassfish</groupId>
<artifactId>jakarta.el</artifactId>
<exclusions>
@@ -415,7 +425,7 @@
</dependency>
<dependency>
<groupId>org.glassfish.grizzly</groupId>
- <artifactId>grizzly-npn-bootstrap</artifactId>
+ <artifactId>grizzly-npn-api</artifactId>
<version>${grizzly.npn.version}</version>
<exclusions>
<exclusion>
diff --git a/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/FlashlightLoggerInfo.java b/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/FlashlightLoggerInfo.java
index d454472..7be7e05 100644
--- a/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/FlashlightLoggerInfo.java
+++ b/nucleus/flashlight/framework/src/main/java/org/glassfish/flashlight/FlashlightLoggerInfo.java
@@ -33,7 +33,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.flashlight.LogMessages";
@LoggerInfo(subsystem = "MON", description = "Flashlight Services", publish = true)
- public static final String MONITORING_LOGGER = "javax.enterprise.system.tools.monitor";
+ public static final String MONITORING_LOGGER = "jakarta.enterprise.system.tools.monitor";
private static final Logger monitoringLogger = Logger.getLogger(
MONITORING_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/grizzly/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java b/nucleus/grizzly/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java
index 9b7a65c..d7762af 100644
--- a/nucleus/grizzly/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java
+++ b/nucleus/grizzly/config/src/main/java/org/glassfish/grizzly/config/GrizzlyConfig.java
@@ -30,7 +30,7 @@
public class GrizzlyConfig {
@LoggerInfo(subsystem = "NETCONFIG", description = "Network config", publish = false)
- private static final String LOGGER_NAME = "javax.enterprise.network.config";
+ private static final String LOGGER_NAME = "jakarta.enterprise.network.config";
private static final Logger LOGGER = Logger.getLogger(LOGGER_NAME);
private final NetworkConfig config;
diff --git a/nucleus/osgi-platforms/osgi-container/src/main/java/org/glassfish/extras/osgicontainer/OSGiArchiveHandler.java b/nucleus/osgi-platforms/osgi-container/src/main/java/org/glassfish/extras/osgicontainer/OSGiArchiveHandler.java
index ea2cbac..403c982 100644
--- a/nucleus/osgi-platforms/osgi-container/src/main/java/org/glassfish/extras/osgicontainer/OSGiArchiveHandler.java
+++ b/nucleus/osgi-platforms/osgi-container/src/main/java/org/glassfish/extras/osgicontainer/OSGiArchiveHandler.java
@@ -58,7 +58,7 @@
public class OSGiArchiveHandler extends GenericHandler implements CompositeHandler {
@LoggerInfo(subsystem = "OSGI", description="OSGI container logger", publish=true)
- private static final String LOGGER_NAME = "javax.enterprise.osgi.container";
+ private static final String LOGGER_NAME = "jakarta.enterprise.osgi.container";
@LogMessagesResourceBundle()
public static final String RB_NAME = "org.glassfish.extras.osgicontainer.LogMessages";
diff --git a/nucleus/parent/pom.xml b/nucleus/parent/pom.xml
index 368976c..861b80c 100644
--- a/nucleus/parent/pom.xml
+++ b/nucleus/parent/pom.xml
@@ -77,55 +77,56 @@
<findbugs.common>exclude-common.xml</findbugs.common>
<findbugs.exclude />
<findbugs.version>3.0.3</findbugs.version>
- <findbugs.glassfish.logging.validLoggerPrefixes>javax.enterprise</findbugs.glassfish.logging.validLoggerPrefixes>
+ <findbugs.glassfish.logging.validLoggerPrefixes>jakarta.enterprise</findbugs.glassfish.logging.validLoggerPrefixes>
<!-- Jakarta API Versions -->
<!-- Jakarta EL -->
- <jakarta.el.version>4.0.0-RC1</jakarta.el.version>
- <jakarta.el-api.version>4.0.0-RC1</jakarta.el-api.version>
+ <jakarta.el.version>4.0.0</jakarta.el.version>
+ <jakarta.el-api.version>4.0.0</jakarta.el-api.version>
<!-- Jakarta Servlet -->
- <servlet-api.version>5.0.0-M1</servlet-api.version>
+ <servlet-api.version>5.0.0</servlet-api.version>
<!-- Jakarta Validation -->
- <jakarta.validation.version>3.0.0-M1</jakarta.validation.version>
- <hibernate-validator.version>7.0.0.Alpha3</hibernate-validator.version>
+ <jakarta.validation.version>3.0.0</jakarta.validation.version>
+ <hibernate-validator.version>7.0.0.Final</hibernate-validator.version>
<!-- Jakarta Web Services -->
- <webservices.version>3.0.0-M2</webservices.version>
+ <webservices.version>3.0.0</webservices.version>
<!-- Jakarta Inject -->
- <jakarta.inject-api.version>2.0.0-RC4</jakarta.inject-api.version>
+ <jakarta.inject-api.version>2.0.0</jakarta.inject-api.version>
<!-- Jakarta XML Binding -->
- <jakarta.jaxb-api.version>3.0.0-RC3</jakarta.jaxb-api.version>
- <jakarta.jaxb-impl.version>3.0.0-M4</jakarta.jaxb-impl.version>
+ <jakarta.jaxb-api.version>3.0.0</jakarta.jaxb-api.version>
+ <jakarta.jaxb-impl.version>3.0.0</jakarta.jaxb-impl.version>
<!-- Jakarta REST -->
- <jax-rs-api.spec.version>2.1</jax-rs-api.spec.version>
- <jax-rs-api.impl.version>3.0.0-M1</jax-rs-api.impl.version>
- <jersey.version>3.0.0-M4</jersey.version>
+ <jax-rs-api.spec.version>3.0</jax-rs-api.spec.version>
+ <jax-rs-api.impl.version>3.0.0</jax-rs-api.impl.version>
+ <jersey.version>3.0.0</jersey.version>
<!-- Jakarta Mail -->
- <mail.version>2.0.0-RC6</mail.version>
+ <mail.version>2.0.0</mail.version>
<!-- Jakarta Activation -->
- <activation.version>2.0.0-RC3</activation.version>
+ <activation.version>2.0.0</activation.version>
<!-- Jakarta Annotations -->
- <jakarta.annotation-api.version>2.0.0-RC1</jakarta.annotation-api.version>
+ <jakarta.annotation-api.version>2.0.0</jakarta.annotation-api.version>
<!-- GlassFish Components -->
- <glassfish-corba.version>4.2.3-RC1</glassfish-corba.version>
- <grizzly.version>3.0.0-M1</grizzly.version>
- <grizzly.npn.version>1.9</grizzly.npn.version>
+ <glassfish-corba.version>4.2.3</glassfish-corba.version>
+ <grizzly.version>3.0.0</grizzly.version>
+ <grizzly.npn.version>2.0.0</grizzly.npn.version>
<glassfish-management-api.version>3.2.3</glassfish-management-api.version>
- <hk2.version>3.0.0-M2</hk2.version>
- <hk2.plugin.version>3.0.0-M2</hk2.plugin.version>
+ <hk2.version>3.0.1</hk2.version>
+ <hk2.plugin.version>3.0.1</hk2.plugin.version>
<pfl.version>4.1.1</pfl.version>
+
<gmbal.version>4.0.2</gmbal.version>
- <shoal.version>1.6.53</shoal.version>
+ <shoal.version>2.0.0</shoal.version>
<ha-api.version>3.1.12</ha-api.version>
<glassfishbuild.version>3.2.27</glassfishbuild.version>
<logging-annotation-processor.version>1.9</logging-annotation-processor.version>
@@ -133,9 +134,8 @@
<command.security.maven.plugin.isFailureFatal>false</command.security.maven.plugin.isFailureFatal>
<copyright-plugin.version>1.50</copyright-plugin.version>
- <!-- 3rd party dependencies -->
+ <!-- 3rd party dependencies -->
<stax-api.version>1.0-2</stax-api.version>
- <slf4j.version>1.7.21</slf4j.version>
<jboss.logging.annotation.version>2.2.1.Final</jboss.logging.annotation.version>
<javassist.version>3.27.0-GA</javassist.version>
<jboss.logging.version>3.4.1.Final</jboss.logging.version>
@@ -149,13 +149,12 @@
<asm.version>7.3.1</asm.version>
<testng.version>7.1.0</testng.version>
- <jdk.version>1.7.0-09</jdk.version>
<nucleus.install.dir.name>nucleus</nucleus.install.dir.name>
<javadoc.skip>false</javadoc.skip>
<deploy.skip>false</deploy.skip>
<replacer.plugin.version>1.5.3</replacer.plugin.version>
- <javaee.version.old>7</javaee.version.old>
- <javaee.version.new>8</javaee.version.new>
+ <javaee.version.old>8</javaee.version.old>
+ <javaee.version.new>9</javaee.version.new>
<jmockit.version>1.49</jmockit.version>
<osgi-resource-locator.version>1.0.3</osgi-resource-locator.version>
</properties>
diff --git a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/api/ResourcesBinder.java b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/api/ResourcesBinder.java
index b4246e1..d3e4464 100644
--- a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/api/ResourcesBinder.java
+++ b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/api/ResourcesBinder.java
@@ -48,7 +48,7 @@
@LoggerInfo(subsystem="RESOURCE", description="Nucleus Resource", publish=true)
- public static final String LOGGER = "javax.enterprise.resources.api";
+ public static final String LOGGER = "jakarta.enterprise.resources.api";
private static final Logger logger = Logger.getLogger(LOGGER, LOGMESSAGE_RESOURCE);
@Inject
diff --git a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/listener/ResourceManager.java b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/listener/ResourceManager.java
index e00c052..c16065b 100644
--- a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/listener/ResourceManager.java
+++ b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/listener/ResourceManager.java
@@ -63,7 +63,7 @@
@LoggerInfo(subsystem="RESOURCE", description="Nucleus Resource", publish=true)
- public static final String LOGGER = "javax.enterprise.resources.listener";
+ public static final String LOGGER = "jakarta.enterprise.resources.listener";
private static final Logger logger = Logger.getLogger(LOGGER, LOGMESSAGE_RESOURCE);
private static LocalStringManagerImpl localStrings =
diff --git a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/naming/ResourceNamingService.java b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/naming/ResourceNamingService.java
index 2c5e5d6..1faf5e5 100644
--- a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/naming/ResourceNamingService.java
+++ b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/naming/ResourceNamingService.java
@@ -65,7 +65,7 @@
@LoggerInfo(subsystem="RESOURCE", description="Nucleus Resource", publish=true)
- public static final String LOGGER = "javax.enterprise.resources.naming";
+ public static final String LOGGER = "jakarta.enterprise.resources.naming";
private static final Logger _logger = Logger.getLogger(LOGGER, LOGMESSAGE_RESOURCE);
public static final String JAVA_APP_SCOPE_PREFIX = "java:app/";
diff --git a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/BindableResourcesHelper.java b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/BindableResourcesHelper.java
index aa8ca73..2df77ff 100644
--- a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/BindableResourcesHelper.java
+++ b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/BindableResourcesHelper.java
@@ -51,7 +51,7 @@
@LoggerInfo(subsystem="RESOURCE", description="Nucleus Resource", publish=true)
- public static final String LOGGER = "javax.enterprise.resources.util";
+ public static final String LOGGER = "jakarta.enterprise.resources.util";
private final Logger _logger = Logger.getLogger(LOGGER, LOGMESSAGE_RESOURCE);
diff --git a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/ResourceUtil.java b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/ResourceUtil.java
index 90a6769..62ca187 100644
--- a/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/ResourceUtil.java
+++ b/nucleus/resources/src/main/java/org/glassfish/resourcebase/resources/util/ResourceUtil.java
@@ -42,7 +42,7 @@
@LoggerInfo(subsystem="RESOURCE", description="Nucleus Resource", publish=true)
- public static final String LOGGER = "javax.enterprise.resources.util";
+ public static final String LOGGER = "jakarta.enterprise.resources.util";
private static final Logger _logger = Logger.getLogger(LOGGER, LOGMESSAGE_RESOURCE);
private static final String RESOURCES_XML_META_INF = "META-INF/glassfish-resources.xml";
diff --git a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLoggerInfo.java b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLoggerInfo.java
index 6980747..2efbcf0 100644
--- a/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLoggerInfo.java
+++ b/nucleus/security/core/src/main/java/com/sun/enterprise/security/SecurityLoggerInfo.java
@@ -29,7 +29,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.security.LogMessages";
@LoggerInfo(subsystem = "SECURITY", description = "Core Security", publish = true)
- public static final String SECURITY_LOGGER = "javax.enterprise.system.core.security";
+ public static final String SECURITY_LOGGER = "jakarta.enterprise.system.core.security";
private static final Logger securityLogger = Logger.getLogger(
SECURITY_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/nucleus/security/core/src/main/resources/config/cacerts.jks b/nucleus/security/core/src/main/resources/config/cacerts.jks
index 5349943..35b47f0 100644
--- a/nucleus/security/core/src/main/resources/config/cacerts.jks
+++ b/nucleus/security/core/src/main/resources/config/cacerts.jks
Binary files differ
diff --git a/nucleus/security/core/src/main/resources/config/keystore.jks b/nucleus/security/core/src/main/resources/config/keystore.jks
index 33a95a0..52f852d 100644
--- a/nucleus/security/core/src/main/resources/config/keystore.jks
+++ b/nucleus/security/core/src/main/resources/config/keystore.jks
Binary files differ
diff --git a/nucleus/security/services/src/main/java/org/glassfish/security/services/impl/ServiceLogging.java b/nucleus/security/services/src/main/java/org/glassfish/security/services/impl/ServiceLogging.java
index 63c83c3..003f72a 100644
--- a/nucleus/security/services/src/main/java/org/glassfish/security/services/impl/ServiceLogging.java
+++ b/nucleus/security/services/src/main/java/org/glassfish/security/services/impl/ServiceLogging.java
@@ -27,11 +27,11 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "org.glassfish.security.services.LogMessages";
@LoggerInfo(subsystem="SECSVCS", description="Security Services Logger", publish=true)
- public static final String SEC_SVCS_LOGGER = "javax.enterprise.security.services";
+ public static final String SEC_SVCS_LOGGER = "jakarta.enterprise.security.services";
@LoggerInfo(subsystem="SECPROV", description="Security Provider Logger", publish=true)
- public static final String SEC_PROV_LOGGER = "javax.enterprise.security.services.provider";
+ public static final String SEC_PROV_LOGGER = "jakarta.enterprise.security.services.provider";
@LoggerInfo(subsystem="SECCMDS", description="Security Services Command Logger", publish=true)
- public static final String SEC_COMMANDS_LOGGER = "javax.enterprise.security.services.commands";
+ public static final String SEC_COMMANDS_LOGGER = "jakarta.enterprise.security.services.commands";
}
diff --git a/nucleus/security/ssl-impl/src/main/java/com/sun/enterprise/security/ssl/impl/SecuritySupportImpl.java b/nucleus/security/ssl-impl/src/main/java/com/sun/enterprise/security/ssl/impl/SecuritySupportImpl.java
index ac72860..17bfdae 100644
--- a/nucleus/security/ssl-impl/src/main/java/com/sun/enterprise/security/ssl/impl/SecuritySupportImpl.java
+++ b/nucleus/security/ssl-impl/src/main/java/com/sun/enterprise/security/ssl/impl/SecuritySupportImpl.java
@@ -81,7 +81,7 @@
public static final String SHARED_LOGMESSAGE_RESOURCE = "com.sun.enterprise.security.ssl.LogMessages";
@LoggerInfo(subsystem = "SECURITY - SSL", description = "Security - SSL", publish = true)
- public static final String SEC_SSL_LOGGER = "javax.enterprise.system.security.ssl";
+ public static final String SEC_SSL_LOGGER = "jakarta.enterprise.system.security.ssl";
protected static final Logger _logger =
Logger.getLogger(SEC_SSL_LOGGER, SHARED_LOGMESSAGE_RESOURCE);
diff --git a/pom.xml b/pom.xml
index bae3de3..89aeb3d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -112,5 +112,5 @@
</plugin>
</plugins>
</pluginManagement>
- </build>
+ </build>
</project>